Registriert seit: 2. Jul 2007
Ort: Tuttlingen
81 Beiträge
Delphi 10.1 Berlin Professional
|
Re: Schneller Code - Von Delete und Insert -> Copy ->
7. Mai 2008, 09:59

Zitat von -Lucky-:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var text1,text2: string;
i: integer;
begin
ShowMessage('Messung starten');
for i := 1 to 50 do
begin
text1 := FileToString('abc.xyz'); // datei hat nix zu sagen, dient als temp. Datenquelle
text2 := copy(text1,20000,500000) + copy(text1,1,19999) + copy(text1,500001,length(text1));
end;
ShowMessage('Fertig');
end;
Abgesehen von Deinem Performanzproblem: Kann es sein, dass Du den dritten Parameter von Copy() nicht richtig verwendest? Dieser gibt die Länge des zu kopierenden Bereichs an. Ich habe den Eindruck, dass Du ihn aber für die Position des letzten Zeichen hältst, so dass der Bereich vom 500001. bis zum 519999. Zeichen doppelt im Zielstring landet . Richtig wäre meines Erachtens:
text2 := copy(text1,20000,500000 - 19999) + copy(text1,1,19999) + copy(text1,500001,length(text1) - 500000);
jkr
Jürgen Krämer Sometimes I think the surest sign that intelligent life exists elsewhere
in the universe is that none of it has tried to contact us. (Calvin)
|
|
Zitat
|