Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
Delphi 12 Athens
|
Re: copy(text,x,y) durch while... do - schleife ersetzen?
18. Jun 2009, 20: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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|
|
Zitat
|