Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi String ist zu lang für copy ? (https://www.delphipraxis.net/12934-string-ist-zu-lang-fuer-copy.html)

HomerGER 6. Dez 2003 21:45


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:
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);
wobei in daten_s über 2000 zeichen drin sind


Homer

Duffy 6. Dez 2003 22:01

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

HomerGER 6. Dez 2003 23:01

Re: String ist zu lang für copy ?
 
schön und wo bleibt dann mein rest :gruebel:

Hansa 6. Dez 2003 23:04

Re: String ist zu lang für copy ?
 
ohne Angabe der Variablen-Deklaration wird man wohl nicht genau sagen können, woran das liegt.

Duffy 6. Dez 2003 23:17

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

Christian Seehase 7. Dez 2003 00:49

Re: String ist zu lang für copy ?
 
Moin Homer,

oder die Position von <++> liegt bei 256.

HomerGER 7. Dez 2003 10:49

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:
DatConstAry3Ary = Record
dat_aas : Array[1..k_max_dat_i] of Array[1..3] of String;
end;
in daten_s ist noch alles da
aber in daten_r.dat_aas nicht mehr
also dachte ich das copy nur max 255 zeichen copieren kann

HomerGER 7. Dez 2003 10:58

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:
//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;
und hier fehlt dann die hälfte


Er überträgt 2047 Zeichen

CalganX 7. Dez 2003 11:04

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]

HomerGER 7. Dez 2003 11:22

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 17:20 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz