Seite 1 von 2
Mehrere Werte in eine Variable
Verfasst: 07.04.2007 20:34
von Pandorra
hallo,
gibt es eine möglichkeit in eine Variable mehrere Werte zu speichern?
(Ich möchte ein Programm programmieren wo man sich vorher einloggen muss. Deshalb will ich wissen ob es eine möglichkeit gibt mehrere Werte in eine Variable einzuspeichern?)(ohne eine Structure zu verwenden)
Wenn nein, dann will ich fragen was ich hier falsch mache:
Code: Alles auswählen
Global Profil.s, Passwort.s
Profilname.s = InputRequester("Spieler","Bitte geben sie Ihren Profilnamen an:","")
Passwort.s = InputRequester("Spieler","Bitte geben sie Passwort an:","")
Structure Profile
Profilname.s
Passwort.w
EndStructure
Dim Pandora.Profile
Pandora(0)\Profilname = "Pandora"
Pandora(0)\Passwort = Hallo
...
Procedure Login(*p.Profile)
If Profil2 = *p\Profilname
Debug "Hallo Pandora"
Else
Debug "Benutzername oder Passwort falsch"
Delay(10000)
End
EndIf
EndProcedure
Login(*Profile())
ich hoffe ihr könnt mir helfen.
Verfasst: 07.04.2007 20:51
von LukasBanana
Kann es sein dass du gar nicht weißt wie man das "Dim" verwändet?
(Früher wusste ich das auch nicht)
Code: Alles auswählen
Dim Pandora.Profile ; Falsch
Dim Pandora.Profile(5) ; 6 Variablen 0 - 5
; So kannst du sie wieder abrufen:
Pandora(0)
; ...
Pandora(5)
Hoffe ich konnte helfen
Gruß LukasBanana
Verfasst: 07.04.2007 20:54
von ts-soft
Ich hab mal versucht rauszufinden, was Du vorhast, garnicht so einfach
Ich denke mal in etwa so soll es sein:
Code: Alles auswählen
Global Profil.s, Passwort.s
Profil.s = InputRequester("Spieler","Bitte geben sie Ihren Profilnamen an:","")
Passwort.s = InputRequester("Spieler","Bitte geben sie Passwort an:","")
Structure Profile
Profilname.s
Passwort.s
EndStructure
Dim Pandora.Profile(9)
Pandora(0)\Profilname = "Pandora"
Pandora(0)\Passwort = "Hallo"
Procedure Login(p.Profile(1))
If Profil = p(0)\Profilname
Debug "Hallo Pandora"
Else
Debug "Benutzername oder Passwort falsch"
Delay(10000)
End
EndIf
EndProcedure
Login(Pandora())
Verfasst: 07.04.2007 21:28
von Pandorra
danke,
dass hat mir sehr geholfen.
Aber wenn ich nun mehrere Passwörter habe...
Eins wäre ja kein Problem
Code: Alles auswählen
Global Profil.s, Passwort.s
Profil.s = InputRequester("Spieler","Bitte geben sie Ihren Profilnamen an:","")
Passwort.s = InputRequester("Spieler","Bitte geben sie Passwort an:","")
Procedure Login()
If Profil = "Pandora" And Passwort = "289"
Debug "Hallo Pandora"
Else
Debug "Benutzername oder Passwort falsch"
Delay(10000)
End
EndIf
EndProcedure
Login()
Aber zwei:
Code: Alles auswählen
Global Profil.s, Passwort.s
Profil.s = InputRequester("Spieler","Bitte geben sie Ihren Profilnamen an:","")
Passwort.s = InputRequester("Spieler","Bitte geben sie Passwort an:","")
Structure Profile
Profilname.s
Passwort.s
EndStructure
Dim Pandora.Profile(9)
Pandora(0)\Profilname = "Pandora"
Pandora(0)\Passwort = "289"
Dim T.Profile(9)
Mip(0)\Profilname = "T"
Mip(0)\Passwort = "TT"
Procedure Login(p.Profile(1))
If Profil = p(0)\Profilname
Debug "Hallo" + Profil
Else
Debug "Benutzername oder Passwort falsch"
Delay(10000)
End
EndIf
EndProcedure
Login(??())
Verfasst: 07.04.2007 23:07
von AND51
Du sagst, du möchtest mehrere Werte in einer Variablen ohne Structure speichern? Dann könnte ich mir als einzige Lösung vorstellen, ein Trennzeichen zu verwenden, alle Werte in die Variable zu packen und diese dann mit
StringField() wieder auszulesen.
Code: Alles auswählen
Define profil.s
profil+InputRequester("", "Name", "")+"*"
profil+InputRequester("", "PW 1", "")+"*"
profil+InputRequester("", "PW 2", "")
Debug "Name: "+StringField(profil, 1, "*")
Debug "Passwort 1: "+StringField(profil, 2, "*")
Debug "Passwort 2: "+StringField(profil, 3, "*")
Verfasst: 08.04.2007 00:00
von Pandorra
ja.
(Aber ich habe es jetzt ein bisschen rumgeschaut. Es scheint als wäre es besser mit Structure.)
Aber es klappt nicht siehe ein Beitrag weiter oben. Ich kann mach nur mit Pandora(als bsp.) einloggen. Und ich will nicht immer wieder
Code: Alles auswählen
Pandora(0)\Profilname = "Pandora"
Pandora(0)\Passwort = "Hallo"
Procedure Login(p.Profile(1))
If Profil = p(0)\Profilname
Debug "Hallo Pandora"
Else
Debug "Benutzername oder Passwort falsch"
Delay(10000)
End
EndIf
EndProcedure
Login(Pandora())
das schreiben müssen (wobei dies nicht klappen würde)
Verfasst: 08.04.2007 00:05
von ts-soft
Diese Variable reicht für 10 User, falls Dir das entgangen ist.
Sind nochmals 10, also irgendwie denkste
noch ein wenig verkehrt.
Vielleicht fällt es Dir mit einer LinkList einfacher?
Verfasst: 08.04.2007 10:18
von Pandorra
evtl.
oh... hab ich garnicht gesehen.
Aber wenn ich jetzt von einem anderen Benutzer alles eingeben möchte muss ich ja nicht
schreiben sondern bei der (0) was anderes. Gibt es soetwas wie 0-10 oder so?
Verfasst: 08.04.2007 11:05
von bluejoke
Statt der 0 kannst du auch eine Variable schreiben und diese z.B. innerhalb einer Schleife erhöhen.
Verfasst: 08.04.2007 11:22
von Pandorra
aber sonst gibt es keine Möglichkeit mehr oder?