Hallo Leute

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

blitzprogrammierer

Betreff: Hallo Leute

BeitragFr, Okt 15, 2004 16:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Beachtet bitte den Letzten Beitrag von mir!!!!!
Hallo Leute

Ich Arbeite an einem (Progamm) und bin auf ein
Problemm gestoßen
Ich kann irgend wie nicht von dort nach dort springen
Ich weiss ncht woh der Fehler Liegt,
ihr könnt mir sicher sagen woh der Fehler ist

Code: [AUSKLAPPEN]
Gosub sprungmarke

.sprungmarke
x = Input ("Passwort? ")
If x = 1672 Then
Print "Wilkommen Zuhause Matthias!"
superprint
Else
Print "falsches Passwort"
Return
EndIf
Function superprint ()



.sprungmark


                                 (nach hir)
             <---------------------------------------------\-                                                                       
Cls                                                                   
Eingabe$ = Input ("Was mochtest du machen?: ")
                                                                       
If Eingabe$ = "Beenden" Then                           
End                                                                 
ElseIf Eingabe$ = "beenden" Then                       
End                                                                   
ElseIf Eingabe$ = "Exit" Then                             
End                                                                   
ElseIf Eingabe$ = "exit" Then                             
End                                                                 
ElseIf Eingabe$ = "Ich will Beenden" Then           
End                                                                   
ElseIf Eingabe$ = "Ich will beenden" Then             
End                                                                   
ElseIf Eingabe$ = "ich will Beenden" Then           
End                                                                   
ElseIf Eingabe$ = "ich will beenden" Then                 
End                                                                   
                                                                         
Else                                                                   
                                                                               
                                                        ^   
Print "Bestätigen dsie bitte die Eingabe"              ^^^             
Print "Befähl nicht vorhanden"                       ^  ^  ^
------------------------------------------>-------------I
EndIf                                (von hier nach)


End Function


[/code]
Beachtet bitte den Letzten Beitrag von mir!!!!!
  • Zuletzt bearbeitet von blitzprogrammierer am Do, Okt 21, 2004 15:37, insgesamt 18-mal bearbeitet
 

Edlothiol

BeitragFr, Okt 15, 2004 16:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Lies mal das Tutorial aus deiner Signatur. Und beschreib dein Problem genauer.
Und schau mal rechts oben bei deinem Post, da müsste ein Button namens "Edit" sein. Damit kann man seine Nachrichten bearbeiten und z.B. noch was hinzufügen.
 

Apocalyptic

BeitragFr, Okt 15, 2004 16:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst nicht per Sprungmarke in eine Funktion springen und das willst du ja, wenn du nach dem Return (das hier ABSOLUT keinen Sinn macht Wink ) zurückspringen willst. Lass die Sprungmarke einfach weg, und arbeite mit der Funktion, dh. ruf die Funktion wieder auf, anstatt im Code "rumzuspringen". Ich will hier Goto nicht verteufeln, wie andere es tun, aber Goto brauchst du hier wirklich nicht.

EDIT: Oder weißt du einfach nicht, was Return bewirkt und willst in Wahrheit das hier:Code: [AUSKLAPPEN]

Gosub sprungmarke

.sprungmarke
x = Input ("Passwort? ")
If x = 1672 Then
Print "Wilkommen Zuhause Matthias!"
superprint
Else
Print "falsches Passwort"
Return
EndIf
Function superprint ()



.sprungmark

                                                         
Eingabe$ = Input ("Was mochtest du machen?: ")
                                                                       
If Eingabe$ = "Beenden" Then                           
End                                                                 
ElseIf Eingabe$ = "beenden" Then                       
End                                                                   
ElseIf Eingabe$ = "Exit" Then                             
End                                                                   
ElseIf Eingabe$ = "exit" Then                             
End                                                                 
ElseIf Eingabe$ = "Ich will Beenden" Then           
End                                                                   
ElseIf Eingabe$ = "Ich will beenden" Then             
End                                                                   
ElseIf Eingabe$ = "ich will Beenden" Then           
End                                                                   
ElseIf Eingabe$ = "ich will beenden" Then                 
End                                                                   
                                                                         
Else                                                                   
                                                                               

Print "Bestätigen dsie bitte die Eingabe"           
Print "Befähl nicht vorhanden"

Goto sprungmark

EndIf


End Function
Suum cuique

[ www.ffs-net.de.vu ] [ Raycaster ]
 

Timo

BeitragFr, Okt 15, 2004 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
ein Tipp zum Stringvergleich. Wenn du wissen willst, ob jemand zum Beispiel "Exit" eingegeben hat, dann schau dir mal die Funktion Upper() an, denn die wandelt jeden buchtstaben in einen Großbuchstaben um. Jetzt kannst du bequem prüfen, ob jemand "EXIT" eingegeben hat. Das spart die überprüfung von "exit","Exit","EXit","ExiT" und sonst noch welchen schreibweisen Wink

BladeRunner

Moderator

BeitragFr, Okt 15, 2004 19:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Nur obacht! Umlaute werden von UPPER nicht erkannt (also ä,ö,ü,ß ...)
Da musst du dan von Hand nachsteuern ....
(per mid und replace, als Tipp)
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

blitzprogrammierer

Betreff: Sorry

BeitragDo, Okt 21, 2004 15:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute

Sorry das ich schon wieder störe aber
ich habs jetzt so gemacht wie es Apocalyptic gemacht hat
und trotzdem Springt er nicht von
dem Code: „Print "Bestätigen sie bitte Ihre Eingabe"
Nach oben zu diesem Code: Eingabe$ = Input ("Was mochtest du machen?: ")
Ich hab hier noch mal den Code:
Code: [AUSKLAPPEN]

Gosub sprungmarke

.sprungmarke
x = Input ("Passwort? ")
If x = 1672 Then
Print "Wilkommen Zuhause Matthias!"
superprint
Else
Print "falsches Passwort"
Return
EndIf
Function superprint ()



.sprungmark

                                                         
Eingabe$ = Input ("Was mochtest du machen?: ")
                                                                       
If Eingabe$ = "Beenden" Then                           
End                                                                 
ElseIf Eingabe$ = "beenden" Then                       
End                                                                   
ElseIf Eingabe$ = "Exit" Then                             
End                                                                   
ElseIf Eingabe$ = "exit" Then                             
End                                                                 
ElseIf Eingabe$ = "Ich will Beenden" Then           
End                                                                   
ElseIf Eingabe$ = "Ich will beenden" Then             
End                                                                   
ElseIf Eingabe$ = "ich will Beenden" Then           
End                                                                   
ElseIf Eingabe$ = "ich will beenden" Then                 
End                                       
ElseIf Eingabe$ = "Wie viel Uhr ist es" Then
Print "Aktuelle Uhrzeit:" + CurrentTime$()
                           
                                                                         
Else                                                                                                                                               
Print Eingabe$           
Print "Dieser Befehl ist leider nicht vorhanden"
Delay 1900
Print "Bestätigen sie bitte Ihre Eingabe"
 

Goto sprungmark

EndIf

End Function


An was kann das liegen das er nicht dort hin springt
Ich hoffe das ihr mir dort helft.
Wie bereits erwähnt fand ich auch nichts in der Onlinehilfe
Oder Forums suche!!!!

Ps: Danke für Anworten!!!!
[/code]

blitzprogrammierer

BeitragDo, Okt 21, 2004 15:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich danke schon mal im Voraus!!!!!

Loki

BeitragDo, Okt 21, 2004 15:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, blitzprogrammierer.

Entschuldige, aber ich finde deinen Code dermaßen wirr, dass ich damit nicht viel anfangen kann (werte das bitte nicht als Angriff, ich bin selbst Anfänger). Vielleicht verrätst du uns erst einmal, was du überhaupt erreichen willst. Der Code funktioniert bei mir nämlich fehlerfrei.

mfG,

[_()|<!
#include <iostream.h>

void main() {
cout << "Hallo, Welt!\n";
}

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDo, Okt 21, 2004 15:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Goto sprungmark
EndIf

tausch das mal aus mit
Code: [AUSKLAPPEN]
end if
goto sprungmark


Wirr ist der wirklich....
[BB2D | BB3D | BB+]

blitzprogrammierer

Betreff: Hallo Loki

BeitragDo, Okt 21, 2004 15:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Loki

Ich wollte wenn die Frage kommt
"Was möchtest du machen"
und ich gebe ein "Wie viel Uhr es ist" dann
sollte die Uhr kommen
und wider
"Was möchtest du machen:"
und somit
hat Rallimen
mir die lösung gesagt
danke!!!!!

blitzprogrammierer

Betreff: Ps

BeitragDo, Okt 21, 2004 15:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ps:
Kann mir jemand ein Tuturial sagen
wo Goto genauer erklät wirt
den ich kenn mich mit Goto nicht so gut aus!!!!
so zu sagen anfänger!!! Embarassed
 

Timo

BeitragDo, Okt 21, 2004 16:07
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm... schau doch am besten in die Onlinehilfe, wenn du keine hast, kannst du sie dir auf www.blitzbase.de herunterladen. Dort stehen alle Befehle super beschrieben drinne.

Mit Goto's kann man mittels Sprungmarken durch den Quellcode hüpfen und ist deshalb nicht so angesagt, weil da durch spagetticode entstehen kann... Smile

blitzprogrammierer

Betreff: Ja

BeitragDo, Okt 21, 2004 16:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja ich hab die onlinehilfe
dann werde ichs mal mit
der probieren!!!!!
OK

Firstdeathmaker

BeitragDo, Okt 21, 2004 16:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Goto is nicht so gut...
Machs doch lieber so:


Code: [AUSKLAPPEN]
Apptitle "Mein Programm"
repeat
 Auswahl$=input("Passwort: ")
 If Auswahl$="kuchenbacken5"; Dein Passwort halt...
  passwort=1
 else
  print "Passwort falsch"
 endif
until passwort=1



repeat
Auswahl$=input(" Was willste machen? ")

select Auswahl

Case "Uhrzeit"
 print zeit(millisecs())

Case "Essen"
 print "mampf"

Case "Keine Lust mehr"
 keine_lust_mehr=1

Default
Print "Unbekannte Eingabe"

end select
print " Fertig.


until keine_lust_mehr=1
end

; Alle funktionen ________________________________________
Function zeit$(zeit);gibt die Millisekunden in richtiger Zeit zurück
Stunden=Floor(zeit/3600000)
zeit=zeit-Stunden*3600000
Minuten=Floor(zeit/60000)
zeit=zeit-Minuten*60000
Sekunden=Floor(zeit/1000)
Return stunden+":"+Minuten+" und "+Sekunden+" Sekunden"
End Function
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image

Loki

BeitragDo, Okt 21, 2004 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, blitzprogrammierer.

Mir ist beim Durchlesen deiner Postings noch etwas aufgefallen:
Du vergleichst die Eingabe des Users mit bestimmten vorgefertigten Sätzen, was aber viel zu umständlich ist, weil du gar nicht kreativ genug sein kannst um alles abzufangen, was der User eingeben könnte. Aus diesem Grund benutze ich immer Menüs, in denen ich dem User vorschreibe, was er antworten kann:

Code: [AUSKLAPPEN]

Print "Optionen:                      "
Print "-----------------------------"
Print "1. Uhrzeit abfragen         "
Print "2. Programm beenden    "
Print "-----------------------------"
Auswahl% = Input("Bitte geben Sie nun ein, wie Sie fortfahren möchten: ")
Select Auswahl%
      Case 1
          ;Code
      Case 2
          ;Code
      Default
          ;Code
End Select
WaitKey


Das wirkt zwar etwas starr, spart aber Zeit und Mühe.

mfG,

[_()|<!
#include <iostream.h>

void main() {
cout << "Hallo, Welt!\n";
}

blitzprogrammierer

BeitragFr, Okt 22, 2004 13:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist schon Klar Loki

aber wen ich zum Beispiel jetzt mehrere Befehle
habe so (1000) oder mehr dann Kann ich das einfach nicht machen!!

Und wenn ich dann denn Spieler meines Programms
Noch die Möglichkeit gebe selber Befehle dazu zu fügen
Wie zum Beispiel das er Bilder Speichern kann und das er sein
Gespeichertes Wider in meinem Programm aufrufen kann.
Geht das ebenfalls nicht!!

Aber trotzdem guter Vorschlag von Dir

Danke!!!!
Ps:Firstdeathmaker danke für für deinen Eintrag
so könnte oder mache ichs auch!!!!!!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group