![]() |
String ist zu lang für copy ?
hallo ihr
ich hab ne string in den können über 2000 Zeichen drin sein leider schneidet mir copy wohl bei 255 den string ab weiß jemand wie es anderes lösen kann? das hier läuft durch ein for schleife
Code:
wobei in daten_s über 2000 zeichen drin sind
pos_i := Pos('<++>', daten_s);
daten_r.dat_aas[i][j] := Copy(daten_s, 1, pos_i - 1); Delete(daten_s, 1, pos_i + 3); Homer |
Re: String ist zu lang für copy ?
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo HomerGER,
am Copy wird es wohl nicht liegen. Siehe Beispiel. bye Claus |
Re: String ist zu lang für copy ?
schön und wo bleibt dann mein rest :gruebel:
|
Re: String ist zu lang für copy ?
ohne Angabe der Variablen-Deklaration wird man wohl nicht genau sagen können, woran das liegt.
|
Re: String ist zu lang für copy ?
Hallo HomerGER,
so wie es Hansa sieht, sehe ich es auch. bye Claus Möglichkeiten wären: =============== Du verwendest Short Strings --> Dann wären die Strings <= 255 oder deine Strings sind limitiert ala String[255]; pos_i könnte Byte sein |
Re: String ist zu lang für copy ?
Moin Homer,
oder die Position von <++> liegt bei 256. |
Re: String ist zu lang für copy ?
ok sorry
hier die Function
Code:
Function Werte_Zerlegen_GU(input_s : String; art_s : String; nr_i : Integer) : String;
var daten_s : String; daten_r : DatConstAry3Ary; i : Integer; j : Integer; pos_i : Integer; begin daten_s := input_s; //Array löschen for i := 1 to k_max_dat_i do begin for j := 1 to 3 do begin daten_r.dat_aas[i][j] := ''; end; end; //Array füllen for i := 1 to k_max_dat_i do begin for j := 1 to 3 do begin if (daten_s <> '') then begin pos_i := Pos('<++>', daten_s); daten_r.dat_aas[i][j] := Copy(daten_s, 1, pos_i - 1); Delete(daten_s, 1, pos_i + 3); end; end; end; end; DatConstAry3Ary ist ne record
Code:
in daten_s ist noch alles da
DatConstAry3Ary = Record
dat_aas : Array[1..k_max_dat_i] of Array[1..3] of String; end; aber in daten_r.dat_aas nicht mehr also dachte ich das copy nur max 255 zeichen copieren kann |
Re: String ist zu lang für copy ?
sorry hab es noch mal geprüft
es kommt nicht alles an die Daten werden aus einer ini datei ausgelesen mit dieser Function
Code:
und hier fehlt dann die hälfte
//Aus Ini Daten lesen
Function Ini_Lesen_IU(datei_s : String; section_s : String; key_s : String) : String; var Ini : TIniFile; begin Ini :=TIniFile.Create(datei_s); try Result := Ini.ReadString(section_s, key_s, ''); finally Ini.free; end; end; Er überträgt 2047 Zeichen |
Re: String ist zu lang für copy ?
Hi,
soweit ich weiß, werden bei TIniFile nur die ersten 255 Bytes ausgelesen. Versuch es mal mit TBigIniFile. Chris [edit]Wenn 2047 Zeichen übertragen, werden, dann ist das Quatsch mit Soße, was ich gesagt habe.[/edit] |
Re: String ist zu lang für copy ?
thx für den tip mit big geht es
nur beim copilieren zeigt er warnungen und hinweise an [Warnung] BigIni.pas(103): Eigenschaftsdeklaration verweist auf private-Vorfahr 'TBigIniFile.FSectionList' [Hinweis] BigIni.pas(198): Variable 'IXRead' wurde deklariert, aber in 'TBigIniFile.SetFileName' nicht verwendet [Hinweis] BigIni.pas(411): Variable 'oneLine' wurde deklariert, aber in 'TBigIniFile.ReadAll' nicht verwendet |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz