Hallo,
Ich habe ein ARRAY, bei dem die ersten 18 Felder beschrieben sind und einen STRING(18).
Wie kann ich die Daten des Array an den String weitergeben ???
Also zum Beispiel steht im Array
[0]=H
[1]=A
[2]=l
.
[17]=...
dann soll im String eben auch stehen: 'HAL.....'
Talk.ru: 1 Talk.ru: 2
mal so ganz aus der Hüfte heraus:
VAR temp : POINTER TO BYTE; ergebnis: STRING[18]; cnt: int; source: ARRAY OF BYTE[0..17]; END VAR
temp := ADR(source[0]); for i:= 0 to 17 DO ergebnis[i] := temp^; temp :=ADR(source[i+1]); END_FOR
Also: Pointer erstellen, und kopieren, Wert für Wert...
Ist ungetestet, sollte aber zumindest ähnlich arbeiten.
Analog zum bekannten Werbespot: Gibts da nicht auch was von OSCAT?
Gruß
man kan bei einem String aber nicht auf einen index zugreifen. das geht doch nur bei arrays.
Aber ich habs jetzt anders geschafft.
Danke trotzdem
Hallo nochmal,
richtig. Sorry.
die Concat-Funktion wäre wohl das richtige
string3 := concat(string1, string2);
wenn als beispiel string1 := HAL
und
string2 := LO
dann ist der Inhalt von string3 := HALLO
temp := ADR(source[0]); for i:= 0 to 17 DO ergebnis := concat(ergebnis + temp^); temp :=ADR(source[i+1]); END_FOR
müsste also klappen. Evtl. musst du 'unten' am String anfangen, wieder ungetestet...
ohne pointer wird dies eine sehr langsame geschichte und die performance leidet.
in der freinen bibliothek auf w www.oscat.de w findest du bausteine für genau dein problem.
buffer_to_string und string_to_buffer kopieren einen string in ein array of byte und umgekehrt.
Log in to post a comment.
Hallo,
Ich habe ein ARRAY, bei dem die ersten 18 Felder beschrieben sind und einen STRING(18).
Wie kann ich die Daten des Array an den String weitergeben ???
Also zum Beispiel steht im Array
[0]=H
[1]=A
[2]=l
.
.
[17]=...
dann soll im String eben auch stehen: 'HAL.....'
Related
Talk.ru: 1
Talk.ru: 2
Hallo,
mal so ganz aus der Hüfte heraus:
Also: Pointer erstellen, und kopieren, Wert für Wert...
Ist ungetestet, sollte aber zumindest ähnlich arbeiten.
Analog zum bekannten Werbespot: Gibts da nicht auch was von OSCAT?
Gruß
man kan bei einem String aber nicht auf einen index zugreifen. das geht doch nur bei arrays.
Aber ich habs jetzt anders geschafft.
Danke trotzdem
Hallo nochmal,
richtig. Sorry.
die Concat-Funktion wäre wohl das richtige
wenn als beispiel
string1 := HAL
und
string2 := LO
dann ist der Inhalt von string3 := HALLO
müsste also klappen. Evtl. musst du 'unten' am String anfangen, wieder ungetestet...
ohne pointer wird dies eine sehr langsame geschichte und die performance leidet.
in der freinen bibliothek auf w www.oscat.de w findest du bausteine für genau dein problem.
buffer_to_string und string_to_buffer kopieren einen string in ein array of byte und umgekehrt.