Einzelnen Beitrag anzeigen

jottkaerr

Registriert seit: 2. Jul 2007
Ort: Tuttlingen
81 Beiträge
 
Delphi 10.1 Berlin Professional
 
#12

Re: Schneller Code - Von Delete und Insert -> Copy ->

  Alt 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)
  Mit Zitat antworten Zitat