Überprüfen ob in Input$ etwas eingegeben wurde

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

jackie05

Betreff: Überprüfen ob in Input$ etwas eingegeben wurde

BeitragSa, Okt 08, 2005 21:15
Antworten mit Zitat
Benutzer-Profile anzeigen
hi,
ich habe ein kleines progg geschrieben mit einer Input box, wo man etwas eingeben kann, nun wollte ich fragen wie ich überprüfen kann ob im eingabefeld etwas eingegeben wurde, habe es so versucht:

BlitzBasic: [AUSKLAPPEN]
If Eingabe > 0 Then
Eingabe = Input$(\"Hallo: \")
EndIf


wenn ich jetzt eine 0 eingebe, dann kommt garnichts, wenn ich aber jetzt eine 1 eingebe, dann funktioniert es, ich möchte es einfach so machen, das man erst auf Enter drücken kann, wenn etwas eingegeben wurde.
Aber das kann so nicht gehen wie ich das gemacht habe, weil Eingabe erst größer wie die 0 sein muss, mann könnte es doch irgendwie mit Length machen, oder?, ich bin euch sehr dankbar für die hilfen Very Happy

Christian

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Okt 08, 2005 21:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Nimm eine Stringvariable für dein Input

InputEingabe$ = Input$("Hallo: ")
[BB2D | BB3D | BB+]
 

jackie05

BeitragSa, Okt 08, 2005 21:31
Antworten mit Zitat
Benutzer-Profile anzeigen
danke dir, aber ich möchte kein Stringvariable, denn man soll ja nur Zahlen eingeben, deshalb möchte ich das Prüfen ob eine Zahl eingegeben wurde. danke schonmal Smile

Christian

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Okt 08, 2005 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
das geht am besten mit einer Function, die prüft ob es sich um zahlen handelt, bzw diese rausfiltert!
hab da mal so eine Function für irgend ein Proggi gebraucht, muß ich mal suchen...
[BB2D | BB3D | BB+]

Xalon

BeitragSa, Okt 08, 2005 22:08
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]

.zurück
eingabe$=Input(\"\")
If Len(eingabe$) = 0
Print \"Bitte etwas eingeben\"
Goto zurück
EndIf

zahl=Int(eingabe)
If zahl=0 ;wenn ein Text eingegeben wurde
Print \"Bitte eine Zahl\"
Goto zurück
EndIf




Meinst du sowas?Der Code ist aber noch recht verbesserungswürdig Smile

Xalon
>>Besucht doch mal meine Seite,mit NEUEN Tutorials<<
User posted image

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Okt 08, 2005 22:12
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
Function checkinput$ (Var$) ; für Zahlen
For i = 1 To Len (Var$) Step 1
zahl$ = Mid (Var$,i,1)
For z = 0 To 9
dd$ = z
If zahl$ = dd$ Then dummy$ = dummy + zahl
Next
Next
While Left$ (dummy,1) = \"0\"
dummy = Right (dummy,Len (dummy) - 1)
If Len (dummy) = 0 Then Dummy = 0
Wend
If Len (dummy$) = 0 Then Return - 1
Return dummy$
End Function

Repeat
Zahl$ = Input$ (\"Alter: \")
Alter% = checkinput$ (Zahl$)
If Alter% => 0 Then Exit
Forever
Print \"Dein Alter ist \" + alter
WaitKey
[BB2D | BB3D | BB+]

Klip

BeitragSa, Okt 08, 2005 22:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Schreibe eine eigene Routine, dann ist das Überprüfen viel einfacher.

Siehe dazu das Codearchiv, die FAQ, oder

BlitzBasic: [AUSKLAPPEN]
GetKey


und die OH.[/syntax]
 

CodeMaster

BeitragSa, Okt 08, 2005 22:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich verneige mich vor euren großen Programmierkünsten und werfe ein unwürdigesBlitzBasic: [AUSKLAPPEN]
Repeat
Zahl = Int(Input(\"Hallo: \"))
Until Zahl > 0
in die Runde Rolling Eyes

[edit]Und weil's so schön ist, werf' ich für Rallimen gleich noch das hier hinterher:BlitzBasic: [AUSKLAPPEN]
Eingabe$ = Input(\"Eingabe: \")
Zahl% = ZahlenAusString(Eingabe)
Print Zahl

Function ZahlenAusString(Eingabe$)
For i = 1 To Len(Eingabe)
Cnt = Asc(Mid(Eingabe,i,1)) - 48
If (Cnt >= 0) And (Cnt <= 9) Then Result = Result * 10 + Cnt
Next
Return Result
End Function
und mache ihn in diesem Abschnitt seines eigenen CodesBlitzBasic: [AUSKLAPPEN]
While Left$ (dummy,1) = \"0\" 
dummy = Right (dummy,Len (dummy) - 1)
If Len (dummy) = 0 Then Dummy = 0 ; <-- Endlosschleife!
Wend
auf die Endlosschleife (0) aufmerksam Very Happy
Dies ist ein Text, der an jeden Beitrag von dir angehängt werden kann. Es besteht eine Limit von 500 Buchstaben.

Zuletzt bearbeitet von CodeMaster am Mo Apr 01, Parse error: syntax error, unexpected ';' in htdocs\viewtopic.php on line 102

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Okt 08, 2005 23:52
Antworten mit Zitat
Benutzer-Profile anzeigen
CodeMaster : Da muß ich dir recht geben! Embarassed
sollte Return 0 anstatt Dummy= 0 stehen!

Hier mal eine Neue Version!
BlitzBasic: [AUSKLAPPEN]
Function checkinput$ (A$)

For i = 1 To Len(A$)
If Instr(\"0123456789\",Mid(a$,i,1) ) Then Dummy$=Dummy$ +Mid(a$,i,1)
Next
If Len (Dummy$) > 0 Then
Return dummy$
Else
Return -1
End If
End Function

Repeat
Zahl$ = Input$ (\"Alter: \")
Alter% = checkinput$ (Zahl$)
If Alter% => 0 Then
Exit
Else
Print \"Falsche Eingabe, bitte wiederholen!\"
End If
Forever
Print \"Dein Alter ist \" + alter
WaitKey


Zitat:
ich möchte es einfach so machen, das man erst auf Enter drücken kann, wenn etwas eingegeben wurde.
Das geht nicht mit input
das geht nur mit Getkey und eigener Input Function
[BB2D | BB3D | BB+]
 

Steve0

BeitragSo, Okt 09, 2005 9:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab jetzt net ganz verstanden was du willst aber mein Vorschlag wäre ganz einfach. Hoffentlich wurde er hier noch nicht gepostet:
BlitzBasic: [AUSKLAPPEN]
Eingabe$=\"\"
Repeat
Eingabe = Input$(\"Hallo: \")
Until Len(Eingabe)>0

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group