Seite 1 von 1
Variablen umbenennen (IDE) | Eingabe einer Zahl prüfen
Verfasst: 19.01.2014 17:32
von Balki
Hallo,
ich habe 2 kleine Fragen.
Bietet die PB IDE die Möglichkeit Variablen umzubenennen, so dass der neue Name im gesamten Quelltext übernommen wird?
Wie kann man prüfen, ob eine gültige Zahl per Tastatur eingegeben wurde?
Wenn man bspw. einen simplen Taschenrechner (Kommandozeile/Terminal, ohne GUI) mit folgender Anweisung hat
wird bei Eingabe eines Buchstabens oder sonstiges, die Eingabe in eine 0 umgewandelt. Nun kann man ja nicht einfach prüfen, ob der Wert 0 ist, da man ja durchaus mal mit Nullen rechnen möchte. Allerdings möchte man ja auch verhindern, dass solch ein Blödsinn eingegeben wird.
Re: Variablen umbenennen (IDE) | Eingabe einer Zahl prüfen
Verfasst: 19.01.2014 17:45
von RSBasic
Balki hat geschrieben:Bietet die PB IDE die Möglichkeit Variablen umzubenennen, so dass der neue Name im gesamten Quelltext übernommen wird?
Leider nein. Da musst du "Suchen und Ersetzen" benutzen. Es wäre in der Tat sehr hilfreich, wenn PB wie z.B. bei Visual Studio sowas anbieten würde.
Balki hat geschrieben:Wie kann man prüfen, ob eine gültige Zahl per Tastatur eingegeben wurde?
Da musst du deine eigene Funktion schreiben oder eine der folgenden Funktionen nutzen:
http://www.purebasic.fr/german/viewtopi ... =8&t=24042
http://www.purebasic.fr/english/viewtop ... 12&t=45679
http://www.purebasic.fr/english/viewtop ... 12&t=16668
http://www.purebasic.fr/english/viewtop ... 12&t=17370
http://www.purebasic.fr/german/viewtopi ... 597#p23597
Re: Variablen umbenennen (IDE) | Eingabe einer Zahl prüfen
Verfasst: 19.01.2014 17:50
von cbora
Hallo
Umbenennen von Variablen über "Bearbeiten" - "Suchen/Ersetzen"
Eingabe überprüfen:
Den eingegebenen String in einen numerische Variable umwandeln mit val() ...
dabei Kommastellen und Leerstellen beachten
Dann den numerischen Wert zurück in einen String wandeln und mit der Eingabe vergleichen .
Re: Variablen umbenennen (IDE) | Eingabe einer Zahl prüfen
Verfasst: 19.01.2014 17:55
von Balki
Danke für die Antworten.
Werde mir die Links mal in Ruhe anschauen.
cbora hat geschrieben:[...]
Eingabe überprüfen:
Den eingegebenen String in einen numerische Variable umwandeln mit val() ...
dabei Kommastellen und Leerstellen beachten
Dann den numerischen Wert zurück in einen String wandeln und mit der Eingabe vergleichen .
Wird dann aber nicht einfach aus der durch Val() erhaltenen 0 ein "0"? Oder wird tatsächlich der ursprüngliche String erzeugt?
Re: Variablen umbenennen (IDE) | Eingabe einer Zahl prüfen
Verfasst: 19.01.2014 18:35
von bizzl
Wie wäre es mit einem StringGadget und gesetzem "#PB_String_Numeric"-Flag ?
Re: Variablen umbenennen (IDE) | Eingabe einer Zahl prüfen
Verfasst: 20.01.2014 14:34
von Balki
bizzl hat geschrieben:Wie wäre es mit einem StringGadget und gesetzem "#PB_String_Numeric"-Flag ?
Da ich Anfänger bin begnüge ich mich vorerst mit einer der anderen Lösungen.^^
Aber ich verstehe schon mal die Idee dahinter.
Re: Variablen umbenennen (IDE) | Eingabe einer Zahl prüfen
Verfasst: 20.01.2014 15:49
von matbal
Ich dachte mir, daß das Prüfen, ob der String eine Zahl darstellt, sich auch mit Regulären Ausdrücken lösen lassen müßte.
Hier ist mein Ergebnis:
Code: Alles auswählen
Macro IsNumeric(Text)
MatchRegularExpression(0, Text)
EndMacro
; Einen Regulärer Ausdruck erstellen, der darauf paßt -
; (Vorzeichen) Ziffern (Punkt Ziffern) (e (Vorzeichen) Ziffern)
CreateRegularExpression(0, "^([+-]{0,1}\d+)(\.\d+){0,1}([eE][+-]{0,1}\d+){0,1}$")
; Test
Debug IsNumeric("ABC") ; Falsch
Debug IsNumeric("003") ; Wahr
Debug IsNumeric("-3.5") ; Wahr
Debug IsNumeric("+3e2") ; Wahr
Debug IsNumeric("-3.1e+2") ; Wahr
Debug IsNumeric("-30.40.50") ; Falsch