Seite 1 von 1

String ANHÄNGEN in der Memory

Verfasst: 12.02.2014 11:28
von Velindos
Hallo Leute,

möchte einen String in die Memory geben und weitere Strings anhängen.

Code: Alles auswählen

Codec:
Text$ = "" Speicher null setzen
Text$ + "Neuer String"
Länge = Len(Text$)
PokeS(*Speicherpuffer, Text$ [, Länge [, Flags]])
; ... 
Jetz möchte ich den neuen String anhängen im Puffer
Text$ + "Neuer String"
Länge = Len(Text$)
; Hier die wie komme ich ans Ende des Puffer bzw. wie hänge ich an?
PokeS(*Speicherpuffer, Text$ [, Länge [, Flags]])
;... Am schluss möchte ich den Text auslesen
GesamtText$ = PeekS(*MemoryBuffer ,Len(a.s)+1,#PB_Unicode)
Hat jemand einen Tip!

Gruss ... Velindos

Re: String ANHÄNGEN in der Memory

Verfasst: 12.02.2014 13:15
von ts-soft
Der Sinn und Zweck entzieht sich mir ein wenig, somit ist eine konkrete Hilfe nicht möglich.
In Speicher, in dem Du Sachen pokst, der muß ausreichend gross sein, das diese auch passen.
Also nachlesen: AllocateMemory, ReAllocateMemory und StringByteLength. Der Platz für das
Nullbyte ist ebenso zu berücksichtigen.

Warum überläßt Du das ganze nicht einfach dem Stringmanager?

Re: String ANHÄNGEN in der Memory

Verfasst: 12.02.2014 13:21
von Danilo
@Velindos:
Schau Dir mal die Funktion CopyMemoryString() an:

Code: Alles auswählen

Speicherpuffer = AllocateMemory(1024)
If Speicherpuffer
    
    puffer = Speicherpuffer
    CopyMemoryString("Erster Text",@puffer)
    
    CopyMemoryString("-Neuer String-")
    
    For i = 0 To 9
        CopyMemoryString(Str(i))
    Next i
    
    CopyMemoryString("-ENDE")
    
    GesamtText$ = PeekS(Speicherpuffer)
    Debug GesamtText$
    
    Debug puffer - Speicherpuffer
EndIf
Beim ersten Aufruf übergibst Du die Adresse einer Variablen in der Dein
Zeiger gespeichert ist. PB aktualisiert diesen Zeiger dann von selbst, so dass
bei weiteren Aufrufen der neue Zeiger genutzt wird.

Re: String ANHÄNGEN in der Memory

Verfasst: 12.02.2014 13:28
von ts-soft
@Danilo
Jetzt hab ich hier endlich auch mal was gelernt :D

Re: String ANHÄNGEN in der Memory

Verfasst: 12.02.2014 16:02
von Velindos
Hallo Danilo,
besten Dank für deinen Vorschlag, bin gerade dabei mich zu vertiefen!
Zu der Frage von ts-soft um den Ansatz, wäre zu sagen das ich mehre HTML-Strings in einen zusammen fassen möchte, da mir meine jetzige Lösung nicht gefällt. Dies beruht auf das, dass ich die HTML-Zeilen in eine Note$ lade und das sehr langsam ist, besonders weil ich Base64 Bilder dabei habe!
Werde sehen wie ich Danilo Lösung einbaue, bin aber froh das ich eine habe!
Nochmals DANKE!
Gruss ... Velindos