Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#6

Re: copy(text,x,y) durch while... do - schleife ersetzen?

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