Seite 1 von 1
Variable setzen, löschen und überprüfen [X]
Verfasst: 19.02.2005 17:30
von sobi
Hallo,
in PHP gibt es die Funktionen "isset()" und "unset()" mit denen ich überpüfen kann, ob eine Variable existiert oder eine Variable löschen kann. Gibt es solche oder ähnliche Funktionen in PB auch?
Kann ich in einer IF - Schleife zwei Argumente gleichzeitig überprüfen? - Irgendwie hat es mit "AND" noch nicht funktioniert.
Liebe Grüße und allen ein schönes Wochenende,
Simon
Verfasst: 19.02.2005 17:35
von Hroudtwolf
Natürlich geht das mit AND.
und ob eine Variable gesetzt ist lässt sich einfach durch das prüfen ihres
Inhalts testen. Denn in Basic werden Variablen bei gebrauch gesetzt.
Code: Alles auswählen
a=1
if a=0
debug "leer/nicht gesetzt"
else
debug "Die hats in sich"
endif
if b=0
debug "leer/nicht gesetzt"
else
debug "Die hats in sich"
endif
Oder hatte ich dich falsch verstanden ?
Verfasst: 19.02.2005 17:45
von sobi
Hroudtwolf hat geschrieben:Natürlich geht das mit AND.
Prima, dann stimmt was in meinem Quelltext nicht!
Hroudtwolf hat geschrieben:
und ob eine Variable gesetzt ist lässt sich einfach durch das prüfen ihres
Inhalts testen. Denn in Basic werden Variablen bei gebrauch gesetzt.
Okay, das macht Sinn, danke für die Hinweise.
Hroudtwolf hat geschrieben:
Oder hatte ich dich falsch verstanden ?
Nein hast du nicht.
Was noch bleibt ist die Frage ob es möglich ist eine Variable wieder zu "löschen" - *erinnere* irgendwo habe ich das mal gesehen, dass Variablen wieder "freigegeben" werden können.
LG
Simon
Verfasst: 19.02.2005 18:03
von Rob
Nein, das geht leider nicht. Du kannst mit PB nicht unterscheiden, ob eine Variable nicht existiert oder ob sie nur eine 0 enthält.
Sagst du
Code: Alles auswählen
If a
Debug "Existiert"
Else
Debug "Existiert nicht"
EndIf
prüfst du nur, ob die Variable a null ist oder nicht. Wenn sie vorher nicht existierte, hast du sie spätestens mit ihrer Erwähnung in der If-Abfrage erstellt (und automatisch mit 0 initialisiert). Existierte sie aber vorher schon, war aber nur 0, gibts das gleiche Ergebnis.
Auch das löschen von Variablen funktioniert nicht.
Verfasst: 19.02.2005 18:04
von Hroudtwolf
Verfasst: 19.02.2005 18:12
von Andre
Hroudtwolf hat geschrieben:setze sie auf null
Damit löscht du sie aber sicher trotzdem nicht, sondern setzt sie genauso auf 0. Wie Rob schon schrieb...

löschen von Variablen
Verfasst: 19.02.2005 18:19
von unix
Man kann Variablen vielleicht nich löschen aber man kann anderes machen:
kein text in Stringvariable : [c]x = ""[/c]
oder mit wordvariable : [c]x = 0[/c]
du kannst eine Variable die du nicht mehr brauchst zum beispiel beim laden von Texten wieder verwenden, mit überschreiben:
Code: Alles auswählen
OpenFile(0,"Data\Vd.tx") ;Datei laden
Repeat ;Beginn einer Schleife
add$ = ReadString() ;Stringvariable"add$" = Geladene
Zeile aus der Datei (überschreiben)
AddGadgetItem(3,-1,add$) ;Text zu einen Gadget 3 hinzufügen
(an neuer Stelle)
Until add$ = "" ;Bis Inhalt = "" (nichts) wiederholen
CloseFile(0) ;Schließen der Datei
[EDIT:Rob - Code-Tags gesetzt]
Verfasst: 19.02.2005 18:23
von Hroudtwolf
Genau das sagte ich bereits.