Seite 1 von 2

String zu lang?

Verfasst: 03.08.2009 19:47
von Marie23
Hallo

ich möchte mit großen Strings arbeiten. Leider bring das immer den Compiler zum Absturz:

meinstring$ = "hier ein sehr langer string... mindestens 1000 zeichen"

Was kann ich dagegen tun?

Verfasst: 03.08.2009 19:57
von ts-soft
String aus einer Datei lesen oder String aus mehreren zusammenfügen.
1000 Zeichen in einem String könnte Probleme in der IDE erzeugen und
Scrollen sollte schrecklich sein :mrgreen:

Verfasst: 03.08.2009 19:58
von X360 Andy

Code: Alles auswählen

For i = 1 To 10000;0
  a$ + "a"
Next

MessageRequester("Geht doch?",a$)

Verfasst: 03.08.2009 20:34
von Marie23
Ja Andy, das ist kein Problem, aber darum gehts nicht. Ich will den langen String direkt im Sourcecode haben, er soll als Platzhalter dienen. Kann ich also den Speicherbereich für Strings irgendwie vergrößern?

Verfasst: 03.08.2009 20:41
von ts-soft

Code: Alles auswählen

Define meinstring${10000}

Verfasst: 03.08.2009 20:44
von Kiffi
Marie23 hat geschrieben:Ja Andy, das ist kein Problem, aber darum gehts nicht. Ich will den langen String direkt im Sourcecode haben, er soll als Platzhalter dienen. Kann ich also den Speicherbereich für Strings irgendwie vergrößern?

Code: Alles auswählen

myString$ = "Also, "
myString$ + "ich "
myString$ + "versteh "
myString$ + "nur "
myString$ + "Bahnhof."
myString$ + "Aber "
myString$ + "wie "
myString$ + "Thomas "
myString$ + "schon "
myString$ + "geschrieben "
myString$ + "hat, "
myString$ + "kannst "
myString$ + "Du "
myString$ + "Strings "
myString$ + "auch"
myString$ + "verketten."

Debug myString$
Grüße ... Kiffi

Verfasst: 03.08.2009 20:49
von Kaeru Gaman
>> er soll als Platzhalter dienen

bei einem Platzhalter ist doch egal was drin steht...

Code: Alles auswählen

a$ = Space( 10000 )

Verfasst: 03.08.2009 20:57
von Little John
Kaeru Gaman hat geschrieben:>> er soll als Platzhalter dienen

bei einem Platzhalter ist doch egal was drin steht...

Code: Alles auswählen

a$ = Space( 10000 )
... und einen Platzhalter als literalen String in den Sourcecode zu schreiben, ist wohl die uneleganteste Variante.

Gruß, Little John

Verfasst: 03.08.2009 21:06
von Marie23
Nein, ich will nachher in der Binary genau denselben String haben, das ist die Sache. Deswegen kann ich da nichts mit Schleifen o.Ä. machen

Verfasst: 03.08.2009 21:29
von Kaeru Gaman
dann schreib dir ne Datasection wo der String drinsteht.
da kannst du auch die ganzen Bytes einzeln als Zahlen reinschreiben, in der Binary steht dann der String.

Code: Alles auswählen

Restore BufferString:
Read.s a$
Debug a$

DataSection
BufferString:
Data.b 68, 105, 101, 115, 32, 105, 115, 116, 32, 101, 105, 110, 32, 117, 110, 119, 105, 99, 104, 116, 105, 103, 101
Data.b 114, 32, 84, 101, 120, 116, 32, 122, 117, 109, 32, 84, 101, 115, 116, 101, 110, 46, 32, 58, 45, 41, 0
EndDataSection