![]() |
ARGH... Buttonproblem
Ich wollte einen Button programmieren, der beim ersten Draufklicken zB "Hallo" und bei weiterem Draufklicken zB "Tschüss" in ein Textfeld schreibt. Eigentlich ist mir alles klar, aber ich weiß nicht, wie ich diese "Verzögerung" einbaue...
HILFE! Superwinger |
Re: ARGH... Buttonproblem
Hallo!
Erst mal herzlich willkommen in der DP! Du schreibst, Dir sei eigentlich alles klar ... ... mir ist nicht klar, was Du für ein Problem hast. Erläutere es doch bitte näher Gruß onlinekater |
Re: ARGH... Buttonproblem
Ist doch ganz einfach:
Delphi-Quellcode:
mfg
var
beschriftung: String; procedure TForm1.FormCreate(...); begin beschriftung := 'Hallo'; end; procedure TForm1.Button1Click(...); begin Edit1.Text := beschriftung; beschriftung := 'Tschüss'; end; Michael |
Re: ARGH... Buttonproblem
Das klappt...
Aber: kann man noch eine dritte, vierte... Stufe einbauen? So wie zB: "Hallo!" "Tach auch!" "Tschüss!" "Auf Wiedersehen!" :gruebel: Superwinger |
Re: ARGH... Buttonproblem
Habe selbst was erarbeitet:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; beschriftung:string; I:integer; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin I:=1; beschriftung := 'Hallo'; end; procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text := beschriftung; if(I=1)then beschriftung := 'Tach auch'; if(I=2)then beschriftung := 'Tschüss'; if(I=3)then beschriftung := 'Auf Wiedersehn!'; I:=I+1; end; end. |
Re: ARGH... Buttonproblem
nimm doch als variable einen integer.
Delphi-Quellcode:
var
int: integer; procedure TForm1.FormCreate(...); begin int := 0; end; procedure TForm1.Button1Click(...); begin int := int + 1; case int of 1: Edit1.Text := 'Hallo'; 2: Edit1.Text := 'Bla'; 3: ... end; |
Re: ARGH... Buttonproblem
Noch einer:
Delphi-Quellcode:
Vorteil: Übersichtlicher, leichter zu warten (mehr Beschriftungen etc.). Die 'Tag' Eigenschaft kann man durch einen dedizierte Zähler in Form eines privaten Feldes der TForm1-Klasse ersetzen, muss man aber nicht.
Const
AnzahlBeschriftungen = 5; Beschriftungen : Array [0..AnzahlBeschriftungen-1] of String = ('Hallo', 'Tschüss', 'Einer geht noch', 'Einer geht nocht rein', 'Bums Fallera' ); Procedure TForm1.SetzeEditText; Begin Edit1.Text := Beschriftungen [Button1.Tag] End; Procedure TForm1.FormCreate (Sender :TObject); Begin Button1.Tag := 0; SetzeEditText; End; Procedure TForm1.Button1Click (Sender : TObject); Begin Button1.Tag := (Button1.Tag + 1) mod AnzahlBeschriftungen; SetzeEditText End; |
Re: ARGH... Buttonproblem
:gruebel: Geht net sowas wie das?
Delphi-Quellcode:
??? :gruebel:
wartebis(KLICKAUFBUTTON)then
Edit1.Text := 'Hallo'; wartebis(KLICKAUFBUTTON)then Edit1.Text := 'Blah'; wartebis(KLICKAUFBUTTON)then Edit1.Text := '...'; wartebis(KLICKAUFBUTTON)then Edit1.Text := 'Tschüs'; ... Superwinger |
Re: ARGH... Buttonproblem
Zitat:
Das hilft Dir hier aber nicht weiter, da die Bedingung in jeder Zeile WAHR bleibt. Es würde also immer 'Tschüs' in Dein Edit-Feld geschrieben. Ich denke die eleganteste Lösung hat dir bis jetzt alzaimar angeboten. Gruß Thomas |
Re: ARGH... Buttonproblem
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz