Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
Delphi 12 Athens
|
Re: copy(text,x,y) durch while... do - schleife ersetzen?
18. Jun 2009, 19:34
Zitat von qwertz543221:
Delphi-Quellcode:
i:=1;
while i<=length(text) do
begin
zahl:=copy(text,i,length(n));
wa:=zahl;
wa:=mathe.PotenzModulo(wa,d,n);
textneu:=textneu+chr(strtoint(mathe.Quotient(wa,'256')))+chr(strtoint(mathe.Modulo(wa,'256')));
i:=i+length(n)
end;
result:=textneu;
end;
bitte nicht alles per PN (mein Postfach ist eh schon überfüllt)
und wie du an den Reaktionen der Anderen erkennst, darfst du wichtige Dinge nicht weglassen, sonst kann keiner wirklich helfen
Delphi-Quellcode:
Wenn das n nicht zufällig 1 isst, dann bekommst du das Copy garnicht los.
[pre]SetLength(result, Length(text) div length(n) * 2);
i:=1;
for i := 1 to length(text) div length(n) do
begin
wa:=copy(text,i,length(n));
wa:=mathe.PotenzModulo(wa,d,n);
mathe.QuotientModulo(wa,'256', q, m);
result[t*2-1]:=chr(strtoint(q));
result[t*2]:=chr(strtoint(m));
end;[/pre]
dann könnte man eine Rechenoperation einsparen
> Quotient und Modulo gemeinsam berechnen
ja und nicht ständig die 2 Zeichen an den "result"-String anhängen.
dieses verlängert den String ständung und kopiert diesen dazu um.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
|
|
Zitat
|