Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Button zum WEITER-klicken erstellen
Delete - Do 26.06.08 18:47
Titel: Button zum WEITER-klicken erstellen
- Nachträglich durch die Entwickler-Ecke gelöscht -
Delete - Do 26.06.08 20:16
- Nachträglich durch die Entwickler-Ecke gelöscht -
FinnO - Do 26.06.08 20:19
naja wie wärs mit ner globalen Zählervariable?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| begin inc(i); case i of 1 : Anweisung1; 2 : Anweisung2; 3 : Anweisung3; 4 : i := 0; end; end; |
Narses - Do 26.06.08 20:19
Moin!
Frühlingsrolle hat folgendes geschrieben: |
Das Beispiel ist schon verständlich nur hilft es mir bei meiner Aufgabe nicht ! |
Doch, tut es; aber du siehst es anscheinend nicht. ;) :idea:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| var State: Integer = 0;
begin case State of 0: Label1.Caption := 'Hallo'; 1: Label1.Caption := 'du'; 2: Label1.Caption := 'da!'; end; Inc(State); |
cu
Narses
//EDIT:
FinnO hat folgendes geschrieben: |
naja wie wärs mit ner globalen Zählervariable? |
Also eine Zustandsvariable. ;)
Tilman - Do 26.06.08 20:22
Dein Programm funzt net weil die Zeilen der reihe nach abgearbeitet werden. Also erst ist Label = Test1. Dann = Test2 usw., schlussendlich also Test4, und das alles viel schneller als das menschliche Auge es sehen könnte.
Für deine Zwecke brauchst du eine Integer-Variable, der du bei jedem Klick 1 hinzuzählst. Diese Variable muss aber global definiert sein (also ausserhalb der Klick-Prozedur).
In deiner Klick-Prozedur musst du dann eben schauen welchen Wert die Zustands-Variable hat. Das kannst du mit if machen, besser aber noch mit case.
// okay ich war eindeutig zu lahm. Aber bei dir, narses, sieht es so aus als würdest du die Zählvariable lokal definieren, das funzt so nicht.
FinnO - Do 26.06.08 20:24
siehe oben...
GericasS - Do 26.06.08 20:27
Könnte das auch so funktionieren ?
EDIT : sry einfahc nicht beachten...
Narses - Do 26.06.08 20:29
Moin!
Tilman hat folgendes geschrieben: |
Aber bei dir, narses, sieht es so aus als würdest du die Zählvariable lokal definieren, das funzt so nicht. |
Klar läuft das nicht, wenn man die Zustandsvariable lokal in der Methode deklariert. Aber ein
bischen selbst denken wollen wir den Threadersteller doch schon noch lassen, oder? :zwinker: (abgesehen davon: da die Methode dann immer die erste Aktion ausführen würde, sollte man da schon drauf kommen können, hm? 8))
cu
Narses
Tilman - Do 26.06.08 20:41
Narses hat folgendes geschrieben: |
Klar läuft das nicht, [..] Aber ein bischen selbst denken wollen wir den Threadersteller doch schon noch lassen, oder? |
Wat bisste für ne fiese möp :lol:
Aber hast schon recht. :wink:
ZeitGeist87 - Do 26.06.08 20:41
Warum extra ne Variable belegen...TButton hat dafür einen schönen Tag.. (Wink mitm Zaunpfahl)
Delete - Do 26.06.08 20:42
- Nachträglich durch die Entwickler-Ecke gelöscht -
FinnO - Do 26.06.08 20:42
^^ wäre ne möglichkeit... bloß am Ende denkt jemand, es ginge nur über den Tag
Narses - Do 26.06.08 20:44
Moin!
ZeitGeist87 hat folgendes geschrieben: |
Warum extra ne Variable belegen...TButton hat dafür einen schönen Tag.. (Wink mitm Zaunpfahl) |
Ich hatte schon drauf gewartet... :P
FinnO hat folgendes geschrieben: |
^^ wäre ne möglichkeit... bloß am Ende denkt jemand, es ginge nur über den Tag |
...und genau deshalb nicht vorgeschlagen. ;)
btw: Ich habe den
FAQ-Beitrag [
http://www.delphi-library.de/topic_AppState+T1_67969.html] mal entsprechend erweitert, damit man das nicht immer wieder durchkauen muss. :D
cu
Narses
ZeitGeist87 - Do 26.06.08 20:51
Schuldigung..es war nur eine von vielen Möglichkeiten..
Tilman - Do 26.06.08 20:51
[ot]
Ausserdem ist Tag eh ungünstig weil das in jeder Kompo nur einmal vorkommt. Und der erste Quellcode oben spricht dafür das Tag später noch zum einsatz kommen könnte, wenn z.B. mehrere Buttons unterschieden werden sollen.
[/ot]
FinnO - Do 26.06.08 20:56
naja n integer hat ja auch son paar mehr stellen... wenn mans geschickt anstellt... (und nun nicht unbedingt beides gleichzeitig braucht :D) Okay es ist sinnbefreites unübesichtliches gefriemel... aber mit copy und pos...
Narses - Do 26.06.08 20:58
Moin!
@
Frühlingsrolle: Markierst du den Thread noch entsprechend, wenn dein Problem gelöst ist? Danke. ;)
cu
Narses
Tilman - Do 26.06.08 20:58
FinnO hat folgendes geschrieben: |
naja n integer hat ja auch son paar mehr stellen... wenn mans geschickt anstellt... (und nun nicht unbedingt beides gleichzeitig braucht :D) Okay es ist sinnbefreites unübesichtliches gefriemel... aber mit copy und pos... |
Man kann auch schön mit Zeigern auf Records arbeiten... du kannst den Brockhaus Band 1-32 unter einem Tag verstecken :wink:
FinnO - Do 26.06.08 21:01
naja der Tag ist dann:
1234567890
und dann mit Pointern den Text durchübersetzen... Buchstabe für Buchstabe?
Tilman - Do 26.06.08 21:04
FinnO hat folgendes geschrieben: |
naja der Tag ist dann:
1234567890
und dann mit Pointern den Text durchübersetzen... Buchstabe für Buchstabe? |
weiß net was du damit meinst.
1234567890 wäre eine Speicheradresse, und unter der kann dann ein Objekt "tBrockhaus" liegen (Beispielsweise).
FinnO - Do 26.06.08 21:06
nee das is ja uncool...
du müsstest die Buchstaben in Zahlen umwandeln - a = 1, b = 2
und dann mit ner zuweisung (wie komm ich da auf pointer^^) aus dem Tag den Text zusammenfriemeln...
wenns b is : copy(IntToStr(Tag),2,1);
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!