GadgetText$ (gadget)

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Apollo30

Betreff: GadgetText$ (gadget)

BeitragSo, Jun 27, 2010 21:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bräuchte einen gleichbedeutenden Befehl wie GadgetText$ (gadget) um den aktvierten Button rauszufiltern da alle den gleichen namen besitzen.

Thunder

BeitragSo, Jun 27, 2010 21:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst WaitEvent verwenden, wie bei jedem GUI-Programm. EventSource liefert dir dann den Handle des gedrückten Buttons:

BlitzBasic: [AUSKLAPPEN]
win=CreateWindow("Hallo",10,80,200,200,0,33)
button=CreateButton("Drück mich",10,10,100,100,win)
Repeat
id=WaitEvent(1)
If id=$803 Then End
If id=$401 And EventSource()=button Then Notify "Button wurde gedrückt"
Forever


mfg Thunder
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit
 

Apollo30

BeitragSo, Jun 27, 2010 21:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Alle buttons haben den selben namen.
Und unterscheiden sich eigentlich nur bei dem text diesen brauche ich auch weil er der Dateiname ist.

Thunder

BeitragSo, Jun 27, 2010 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Meinst du damit, dass du so einen Code hast:

BlitzBasic: [AUSKLAPPEN]
win=CreateWindow("Hallo",10,80,200,200,0,33)
button=CreateButton("Drück mich",10,10,100,20,win)
button=CreateButton("Drück mich",10,40,100,20,win)
button=CreateButton("Drück mich",10,70,100,20,win)
button=CreateButton("Drück mich",10,100,100,20,win)
button=CreateButton("Drück mich",10,130,100,20,win)
Repeat
id=WaitEvent(1)
If id=$803 Then End
If id=$401 And EventSource()=button Then Notify "Button wurde gedrückt"
Forever


Wenn ja, solltest du dir Dim ansehen, oder, jedem Button einen anderen Variablennamen spendieren, denn so hast du keine Kontrolle mehr.
Wenn du es nicht so gemeint hast, noch ein Beispiel:
BlitzBasic: [AUSKLAPPEN]
win=CreateWindow("Hallo",10,80,200,200,0,33)
button1=CreateButton("Button",10,10,100,20,win)
button2=CreateButton("Button",10,40,100,20,win)
Repeat
id=WaitEvent(1)
If id=$803 Then End
If id=$401 Then
Select EventSource()
Case button1 Notify "Der obere Button wurde gedrückt"
Case button2 Notify "Der untere Button wurde gedrückt"
End Select
EndIf
Forever
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit
 

Apollo30

BeitragSo, Jun 27, 2010 21:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Gute idee, dann kann ich in einem 2d auch sofort parralel den text speichern und brauche daher auch den einen Befehl nicht mehr.
Danke

ps: was tut man nicht alles für einen vernünftigen Editor.

Thunder

BeitragSo, Jun 27, 2010 21:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Kannst du aber bitte in Zukunft etwas deutlicher schreiben... Ich verstehe nicht, was dein Satz aussagt (ich glaube, nicht das, was ich vermitteln wollte)

Was bitte ist ein 2D? Das heißt so viel wie "Zweite Dimension" oder "Zwei Dimensional", aber man kann doch nicht sagen >> ein 2D <<
Und wo willst du parallel, welchen Text, wozu speichern?

Möglicherweise hast du das Konzept der Variablen falsch verstanden.

mfg Thunder
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit
 

Apollo30

BeitragSo, Jun 27, 2010 22:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein ich meinte mit 2d einfach nur das ich ein zwei Dimensionales Dim mache und damit ich den Text nicht brauche schreibe ich ihn auch dort rein.

das wurgel

BeitragSo, Jun 27, 2010 23:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Nimm lieber 2 Arrays anstatt ein 2 dimensionales, also z.B. ein "Dim button%()" und ein "Dim ButtonText$()", denn sonst müsstest du die Buttonhandels als String speichern, was probleme geben kann.
1 ist ungefähr 3

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group