Funktionen : Return?
Übersicht

CompixBetreff: Funktionen : Return? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich bin es (malwieder) ![]() Nun habe ich noch eine kurze Frage zu Funktionen. https://www.blitzforum.de/uplo...?show=2326 In diesem Code sieht man eine Struktur die ich mir ausgedacht habe als MySQL-Ersatz und meine Funktion zum Auslesen. Das alle Felder bisauf ID, USERNAME und PASSWORD falsche Daten auslesen ist mir bekannt und ich arbeite morgen da weiter dran, aber wenn ich mir PASSWORD ausgeben lasse, erhalte ich "0". Diesen Fehler hatte ich bisher bei vielen Funktionen und habe es daher ohne gemacht. Nun ist es aber einfach mal nötig und daher würde ich gerne wissen wo mein Fehler ist. Mit freundlichen Grüßen |
||
n-Halbleiter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Stichwort: Rückgabetyp.
Deine Funktion gibt formal einen Integer zurück (% oder Nichts am Ende des Funktionsnamens). Du möchtest, dass die Funktion einen String zurückgibt, also musst du ihren Rückgabetypen auf String ($) ändern. Link zur Onlinehilfe: Function ![]() |
||
mfg, Calvin
Maschine: Intel Core2 Duo E6750, 4GB DDR2-Ram, ATI Radeon HD4850, Win 7 x64 und Ubuntu 12.04 64-Bit Ploing! Blog "Die Seele einer jeden Ordnung ist ein großer Papierkorb." - Kurt Tucholsky (09.01.1890 - 21.12.1935) |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Außerdem ist es nicht sinnvoll den String so zu zerlegen, es ist 1. unübersichtlich und bietet nicht viel Platz für modifikationen. Hier mal eine 5-min Funktion :
Code: [AUSKLAPPEN] Function AccountData$( txt$, get, z$="|" )
If Right( txt$, Len( z$ ) ) <> z$ Then txt$ = txt$ + z$ If Left( txt$, Len( z$ ) ) <> z$ Then txt$ = z$ + txt$ Local Pos = 1, LastPos = 1, count = 0 While count < get LastPos = Pos Pos = Instr( txt$, z$, LastPos+1 ) count = count + 1 Wend LastPos = LastPos+Len(z$) txt2$ = Mid( txt$, LastPos, Pos-LastPos ) Return txt2$ End Function Const POS_NAME = 1 Const POS_PASS = 2 Const POS_MAIL = 3 Const POS_PMSG = 4 Local Daten$ = "ToeB|Pudding|test@web.de|Hallo !" Print AccountData$( Daten$, POS_NAME ) Print AccountData$( Daten$, POS_PASS ) Print AccountData$( Daten$, POS_MAIL ) Print AccountData$( Daten$, POS_PMSG ) WaitKey( ) Was die Funktion macht ? Sie sucht zuerst nach dem Zeichen an der Stelle an der man den Text auslesen möchte, speichert vorher immer das letzte Zeichen ab. Danach, wenn die Stelle gefunden wurde, wird der Teil des Strings extrahiert und ausgegeben. Damit kannst du nicht nur beliebig große Zeichenketten mit untersuchen, sondern das Trennzeichen ist Variable und kann sogar mehrere Zeichen umfassen (z.B. "/n" oder so). Und dadurch das ich nicht jedes zeichen durchgehe ist der Algo schon recht schnell, als erst alle Sachen auszulesen und dann das gewünschte wiederzugeben ![]() mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group