| Autor |
Beitrag |
Florens
      
Beiträge: 32
|
Verfasst: Mo 01.11.10 21:16
Hi all,
Ich schätz mal ein paar haben gestern mein RSA projekt schon kennengelernt. Jetzt gehts aber nciht mehr ums chiffrieren sondern dechiffrieren. Dazu will ich Zahlen einlesen die ja aber unterschiedlich lange Strings sein können. Vorerst sieht mein Quellcode wie folgt aus:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TForm1.ZahlenzuBuchstabenClick(Sender: TObject);
var a,x,i,st:Integer; S: String;
begin x:=length(Zahl.Text);
for i:=1 to x do begin S:=S+Zahl.Text[i];
if Zahl.Text[i]=' ' then begin S:=S-Zahl.Text[i]; st:=StrToInt(S); Buch.Text:=Buch.Text+ chr(st)+' '; S:=''; end
end
end; |
Die Zahlen gibt er in meinem Kontrollmemo immer mit einem Leerzeichen aus. So habe ich mir gedacht subtrahier ich dieses einfach weg nur wie....
Danke um jede hilfe
Euer Flo
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 01.11.10 21:22
Schau dir mal Delete an. 
Für diesen Beitrag haben gedankt: Florens
|
|
Florens 
      
Beiträge: 32
|
Verfasst: Mo 01.11.10 21:24
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 01.11.10 21:26
|
|
Florens 
      
Beiträge: 32
|
Verfasst: Mo 01.11.10 21:35
Sooo jetzt bin ich schonmal soweit(sry für meine Googlefaulheit finds nur immer besser verständlich wenn mir das jemand erklärt der das vorrangehende Problem kennt):
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| procedure TForm1.ZahlenzuBuchstabenClick(Sender: TObject);
var a,x,i,st:Integer; S: String;
begin x:=length(Zahl.Text);
for i:=1 to x do begin S:=S+Zahl.Text[i];
if Zahl.Text[i]=' ' then begin a:=length(S); Delete(S,a); st:=StrToInt(S); Buch.Text:=Buch.Text+ chr(st)+' '; S:=''; end
end
end; |
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 01.11.10 21:42
Gleich der erste Link führt doch zu einer Beschreibung. Und da stehen drei Parameter. Da du nur zwei angegeben hast, ist es irgendwie logisch, dass Delphi sagt, dass da einer fehlt, oder?
Außerdem zeigt das dir Delphi doch auch selbst an...
Da siehst du drei Parameter.
Einloggen, um Attachments anzusehen!
|
|
Florens 
      
Beiträge: 32
|
Verfasst: Mo 01.11.10 21:46
jaenicke hat folgendes geschrieben : | Gleich der erste Link führt doch zu einer Beschreibung. Und da stehen drei Parameter. Da du nur zwei angegeben hast, ist es irgendwie logisch, dass Delphi sagt, dass da einer fehlt, oder?
Außerdem zeigt das dir Delphi doch auch selbst an...
Da siehst du drei Parameter. |
Ja ich meinte ja auch, dass ich den mittleren Parameter nicht verstehe und deswegen gehofft hatte, dass es mit 2en auch geht, was es aber offensichtlich nicht tut. Selbst auf dem Bild check ich nicht was mit Index gemeint ist. (Btw: ich hab den ersten Link angeklickt und da stand dann delete(string,5,maxInt). WIeso zur Hölle 5?)
Edit: Habs jetzt auch mit delete(S,a-1,a) probiert womit der aber gleich die letzten beiden Zeilen löscht...
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 01.11.10 21:57
|
|
Florens 
      
Beiträge: 32
|
Verfasst: Mo 01.11.10 21:57
close pls. klappt so jetzt wunderbar:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| procedure TForm1.ZahlenzuBuchstabenClick(Sender: TObject);
var a,x,i,st:Integer; S: String;
begin x:=length(Zahl.Text); Memo1.Lines.Add('length='+IntToStr(x));
for i:=1 to x do begin S:=S+Zahl.Text[i];
if Zahl.Text[i]=' ' then begin a:=length(S); Delete(S,a,a); Memo1.Lines.Add('S='+S); st:=StrToInt(S); Memo1.Lines.Add('st='+IntToStr(st)); Buch.Text:=Buch.Text + chr(st); S:=''; end
end
end; |
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 01.11.10 21:59
Hier werden Threads nicht einfach geschlossen, nur weil sie gelöst sind.
Und nebenbei: Delphi-Quelltext Das genügt auch. Schließlich willst du ja ein Zeichen ab Position a löschen. 
Für diesen Beitrag haben gedankt: Florens
|
|
|