Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

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

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