Mehrfach Befehele oder so
-
- Beiträge: 36
- Registriert: Di 24. Okt 2006, 13:58
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Hemsbach
- Kontaktdaten:
Mehrfach Befehele oder so
Wie schon gesagt, das ist schwer zu erklären, aber ich habe folgendes Problem:
Ich will einen Button so kunfigurieren, dass immer wenn ich drauf klicke sich ein Wort in einem Panel ändert.
So dass muss man ja schreiben:
begin
if Button1.tag =0 then
begin
Panel1.caption := 'Hallo';
Button1.tag := 1
end else
begin
Panel1.caption := 'Wie gehts?';
Button1.tag := 0
end
end;
aber ich kann max 2 verschiedene aufschriften machen
also das geht nicht:
begin
if Button1.tag =0 then
begin
Panel1.caption := 'Hallo';
Button1.tag := 1
end else
begin
Panel1.caption := 'Wie gehts?';
Button1.tag := 2
end else
begin
Panel1.caption := 'Heute 20.00 Uhr bei mir?';
Button1.tag := 0
end;
Wie kann ich das nun machen, dass immer wieder nachdem auf den Button geklickt wird etwas anderes da steht?
BITTE HELFT MIR^^
Gruß NaP$TeR
Ich will einen Button so kunfigurieren, dass immer wenn ich drauf klicke sich ein Wort in einem Panel ändert.
So dass muss man ja schreiben:
begin
if Button1.tag =0 then
begin
Panel1.caption := 'Hallo';
Button1.tag := 1
end else
begin
Panel1.caption := 'Wie gehts?';
Button1.tag := 0
end
end;
aber ich kann max 2 verschiedene aufschriften machen
also das geht nicht:
begin
if Button1.tag =0 then
begin
Panel1.caption := 'Hallo';
Button1.tag := 1
end else
begin
Panel1.caption := 'Wie gehts?';
Button1.tag := 2
end else
begin
Panel1.caption := 'Heute 20.00 Uhr bei mir?';
Button1.tag := 0
end;
Wie kann ich das nun machen, dass immer wieder nachdem auf den Button geklickt wird etwas anderes da steht?
BITTE HELFT MIR^^
Gruß NaP$TeR
Zuletzt geändert von Napster am So 5. Nov 2006, 20:49, insgesamt 1-mal geändert.
du musst noch weiter abprüfen, also so:
Das ganze dann auch noch für =2 eben!
Code: Alles auswählen
end else if Button1.tag=1 then
begin
Panel1.caption := 'Wie gehts?';
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Ich würd das anders lösen:
Code: Alles auswählen
case Button1.Tag of
0:Panel1.Caption := '1';
1:Panel1.Caption := '2';
2:Panel1.Caption := '3';
3:Panel1.Caption := '4';
4:Panel1.Caption := '5';
end;
Button1.Tag := Button1.Tag+1;
if Button1.Tag > 4 then
Button1.Tag := 0;
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
case ist euine Fallunterscheidung die allerdings nur mit Numerischen sachen funktioniert
Übersetzt ungefähr
wähle Button1.Tag aus
0:
1:
...
Wenn Button1.Tag 0 ist wird Caption von deinem Panel '1'
Wenn Button1.Tag 1 ist wird Caption von deinem Panel '2'
u.s.w
danach erhöhe ich einfach den tag.Button1 um 1
und prüfe ob er 4 überschritten hat,
ist dies der Fall wird er auf null gesetzt.
Probiers einfach mal aus ist genau das was du machen wolltest nur
halt etwas eleganter als mit if then statements gelöst.
Übersetzt ungefähr
wähle Button1.Tag aus
0:
1:
...
Wenn Button1.Tag 0 ist wird Caption von deinem Panel '1'
Wenn Button1.Tag 1 ist wird Caption von deinem Panel '2'
u.s.w
danach erhöhe ich einfach den tag.Button1 um 1
und prüfe ob er 4 überschritten hat,
ist dies der Fall wird er auf null gesetzt.
Probiers einfach mal aus ist genau das was du machen wolltest nur
halt etwas eleganter als mit if then statements gelöst.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 36
- Registriert: Di 24. Okt 2006, 13:58
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Hemsbach
- Kontaktdaten:
THXXX
THX dank der übersetzung hats geklappt^^.
ich hab ein vokabeltrainer programmiert. ist zwar ein bisschen primitiv aber er funktioniert. deine variante hab ich beim vok-trainer nicht benutzt werde sie aber gleich ausprobieren.^^
Danke an alle. Euch kann man weiter empfehlen^^
mfg NaP$TeR
ich hab ein vokabeltrainer programmiert. ist zwar ein bisschen primitiv aber er funktioniert. deine variante hab ich beim vok-trainer nicht benutzt werde sie aber gleich ausprobieren.^^
Danke an alle. Euch kann man weiter empfehlen^^
mfg NaP$TeR
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
Falsch Christian, ganz falsch, das geht auch mitChristian hat geschrieben:case ist eine Fallunterscheidung die allerdings nur mit
Code: Alles auswählen
var
c: char;
begin
c:= #33;
case c of
#0..#31: begin
// tu was
end;
#32:{blabla};
#33..#127:{blabla};
end; // of case
end; // of proc