![]() |
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 |
Re: String ist zu lang für copy ?
Hi,
das kannst du ignorieren. Da hat wohl Borland ein wenig Mist gebaut. :twisted: Chris |
Re: String ist zu lang für copy ?
hmmm
es gib da wohl mehrere BigIni im Net ich hab die hier genommen // BigIni.PAS eh970104 // Version 1.21 // Unit to read/write *.ini files even greater than 64 kB // (till today, the KERNEL.DLL and KERNEL32.DLL do it NOT). // (c) Edy Hinzen 1996/97 - Freeware // Mailto:EdyHinzen@aol.com // ![]() ich benutze D7 Pro |
Re: String ist zu lang für copy ?
Hi,
ich dachte eigentlich an die TBigIniFile, die bei Delphi dabei ist. :gruebel: Chris |
Re: String ist zu lang für copy ?
wenn du mir sagst wo ich die finden kann nehme ich die dann lieber
|
Re: String ist zu lang für copy ?
Hi,
ich habe gerade gesehen, dass Borland diese gar nicht drin hat. :shock: Dabei hab ich die mal genutzt. :| Na gut. Du hast jetzt was und das scheint ja zu funktionieren. Die Warnungen kannst du ja weitgehends ignorieren. Chris PS: Allerdings frage ich mich, warum du bei einer solchen Datenmenge Ini-Files verwendest. Datenbanken sind da deutlich komfortabler und passender. Und da du die Professionalversion hast, dürfte es da ja keine großen Probleme geben. Alternativ geht ja auch noch XML. |
Re: String ist zu lang für copy ?
Liste der Anhänge anzeigen (Anzahl: 1)
Hier mal die news Version die im Net gefunden habe
|
Re: String ist zu lang für copy ?
Zitat:
XML hmm .. ich hab aber grösse L es ist nur ein datensatz so lang und das auch nicht immer Kofortabler hmm . datenbanktreiber installieren prüfen ob da, läuft er usw ich lese damit systeminfos vom User aus und ich denke damit reicht die ini |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:54 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