[erledigt]StringGadgets in allen Panels löschen?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

[erledigt]StringGadgets in allen Panels löschen?

Beitrag von scholly »

moin, moin...

Ich hab ein Panelgadget mit 7 Panels.
In jedem Panel habe ich 20 - 40 StringGadgets, deren IDs komplett von 21-403 durchnummeriert sind.

Nun will ich sicherstellen, daß zu einem bestimmten Zeitpunkt alle StringGadgets leer sind.

Auf

Code: Alles auswählen

                For g_counter = 21 To 403
                  SetGadgetText(g_counter, " ")
                Next
reagiert PB mit "[ERROR] The specified #Gadget is not initialized."

Muß ich für jedes Panel eine eigene Schleife basteln?
Oder übersehe ich die einfachere Möglichkeit?

mDv...
scholly
Zuletzt geändert von scholly am 29.12.2008 00:04, insgesamt 1-mal geändert.
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Hm, wenn das nur StringGadgets sind, müsste PB das doch hin
bekommen. Bist du sicher, dass du wirklich alle Nummern vergeben hast
und die Gadgets auch wirklich alles StringGadgets() sind?

Fals das der fall ist und es trotzdem nicht geht, ist es vermutlich nen Bug
von PB ... aber da verweis ich auf #PB_Any, dann kannst die
Rückgabewerte in ein Array schreiben. So würd ich das so wie so
machen :wink:

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Das müsste sicher ohne Fehler gehen:

Code: Alles auswählen

For g_counter = 21 To 403
  If isGadget(g_counter)
    SetGadgetText(g_counter, " ")
  EndIf
Next
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Beitrag von scholly »

:allright: Euch beiden, ich hatte eine Schreib- und einen Denkfehler drin :oops:
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Das sind doch kinderleichte Übungen:

> Bist du sicher, dass du wirklich alle Nummern vergeben hast
=> isGadget()

> und die Gadgets auch wirklich alles StringGadgets() sind?
=> GadgetType()


Ab damit in eine For-Schleife und fertig ist die Kiste. :allright:

// Edit
Ein Leerzeichen einfügen heißt nicht, dass die Gadgets leer snd. :wink:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Andesdaf
Moderator
Beiträge: 2671
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

AND51 hat geschrieben:Ein Leerzeichen einfügen heißt nicht, dass die Gadgets leer snd.
Eben, wenn schon dann

Code: Alles auswählen

For g_counter = 21 To 403
  If isGadget(g_counter)
    SetGadgetText(g_counter, "")
    ; Bitte die Hochkommas beachten
  EndIf
Next
Win11 x64 | PB 6.20
Antworten