Seite 1 von 1
String zurückgeben
Verfasst: 27.11.2005 18:24
von kajott
Hi,
folgender Code soll mir einen String aus einer Prozedur in mein Hauptprogramm zurückgeben:
Code: Alles auswählen
Procedure.s satz_bilden()
string1$="test0 "
string1$=string1$+"test"+" test2"
ProcedureReturn string1$
EndProcedure
Die Prozedur wird im Hauptprogramm mit
aufgerufen.
Der Compiler bricht mit der Fehlermeldung:
ab.
Die Prozedure ist im Hauptprogramm am Anfang mit "Declare" deklariert.
Warum kann ich den String nicht zurückgeben?
Für Antworten im voraus herzlichen Dank![/code]
Re: String zurückgeben
Verfasst: 27.11.2005 18:27
von DarkDragon
Wer Englisch kann ist im Vorteil:
Verfasst: 27.11.2005 18:37
von kajott
Vergessen zu erwähnen
"satz1.s" wird am Anfang schon als "satz1.s" schon deklariert.
Und die Compilermeldung sagt, das ich einen numerischen Wert in einen String schreiben will!
Ich bekomme also keinen String, trotz "Procedure.s satz_bilden()", zurückgeliefert.
Verfasst: 27.11.2005 18:41
von ts-soft
Deiner Beschreibung nach, sieht Dein Code in etwas so aus:
Code: Alles auswählen
DefType.s satz1
Procedure.s satz_bilden()
string1$="test0 "
string1$=string1$+"test"+" test2"
ProcedureReturn string1$
EndProcedure
satz1=satz_bilden()
Debug satz1
Funktioniert einwandfrei
PBDebugger hat geschrieben:test0 test test2
Verfasst: 27.11.2005 18:41
von DarkDragon
kajott hat geschrieben:Vergessen zu erwähnen
"satz1.s" wird am Anfang schon als "satz1.s" schon deklariert.
Und die Compilermeldung sagt, das ich einen numerischen Wert in einen String schreiben will!
Ich bekomme also keinen String, trotz "Procedure.s satz_bilden()", zurückgeliefert.
Code: Alles auswählen
Procedure.s satz_bilden()
string1$="test0 "
string1$=string1$+"test"+" test2"
ProcedureReturn string1$
EndProcedure
satz1.s = ""
satz1=satz_bilden()
Debug satz1
funktioniert doch.
Verfasst: 27.11.2005 18:49
von kajott
Code: Alles auswählen
Declare satz_bilden()
DefType.s satz1
satz1=satz_bilden()
Debug satz1
End
Procedure.s satz_bilden()
string1$=" testting"
string1$=string1$+"test"+" test2"
ProcedureReturn string1$
EndProcedure
läuft bei mir nicht!
Compilermeldung: "Trying to write a numeric value into string variable"
Erstellt mit PB 3.94
Verfasst: 27.11.2005 18:54
von ts-soft
Das Declare ist verkehrt in der ersten Zeile, mach mal Declare.s draus

Verfasst: 27.11.2005 18:54
von kajott
Ohgott!
Gerade gesehen, das ich declare mit ".s" angeben muss! Hat sich gerade erledigt!

Trotzdem danke und sorry nochmal!