Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Codier problem (https://www.delphipraxis.net/153876-codier-problem.html)

Saminem 18. Aug 2010 17:52

Codier problem
 
Ich habe ein Problem mit meinem Codier Programm.
Auf meiner Oberfläche habe ich 2 Memos und 1 Button.
Im ersten Memo Feld schreibe ich einen belibigen Text.
Wenn ich auf den Button klicke codiert er mir das.
Problem wenn ich im Memo mehrer zeile schreibe codiert er mir nur die letzte Zeile.
Delphi-Quellcode:
procedure TForm1.CodierenClick(Sender: TObject);
var
  N , Z , K , NZ , step :integer;
  Zeile , NZeile :string;
  ch , nch :char;

begin
  step:= StrToInt(Faktor.Text);
  For N:=0 TO memo1.Lines.Count -1 dO
  begin
  Zeile:=memo1.Lines[N];
  NZeile:='';
  For K:=1 To length (Zeile) do
  begin ch:=Zeile [K];
  Z:= ord(ch);
  NZ:=Z + step;
  //If(NZ>91)and(NZ<97) then
  //NZ := NZ -26 ;
  nch:=chr(NZ);
  NZeile:=NZeile + nch;
  end;
  end;
  Memo1.Clear;
  Memo2.Lines.add(NZeile);
Hoffentlich könnt ihr mir helfen

Muellermilchtrinker 18. Aug 2010 17:54

AW: Codier problem
 
Wenn ich mich richtig erinnere, dann liest man mit
Delphi-Quellcode:
Memo1.Lines.Strings[i]
die Zeile aus.

mkinzler 18. Aug 2010 17:55

AW: Codier problem
 
Führe das Add innerhalb der Scheife aus

himitsu 18. Aug 2010 17:56

AW: Codier problem
 
Zitat:

Delphi-Quellcode:
step:= StrToInt(Faktor.Text);
For N:=0 TO memo1.Lines.Count -1 dO
begin
  Zeile:=memo1.Lines[N];
  NZeile:='';
  For K:=1 To length (Zeile) do
  begin
    ch:=Zeile [K];
    Z:= ord(ch);
    NZ:=Z + step;
    //If(NZ>91)and(NZ<97) then
    //  NZ := NZ -26 ;
    nch:=chr(NZ);
    NZeile:=NZeile + nch;
  end;
end;
Memo1.Clear;
Memo2.Lines.add(NZeile);

Ich empfehle dir dringend mal eine etwas bessere Codeformatierung (eine ordentliche Einrückung),
dann würde dir vielleicht auffallen, daß du auch nur die letzte Zeile in das Memo einfügst.
(eine einheitliche Großkleinschreibung und soein Englisch/Deutsch-Mischmasch bei den Variablen muß auch nicht unbedingt sein)

Delphi-Quellcode:
step := StrToInt(Faktor.Text);
For N := 0 To Memo1.Lines.Count -1 do
begin
  Zeile := Memo1.Lines[N];
  NZeile := '';
  For K := 1 To Length(Zeile) do
  begin
    NZ := Ord(Zeile[K]) + step;
    //If(NZ > 91) and (NZ < 97) then
    //  NZ := NZ - 26;
    NZeile := NZeile + Chr(NZ);
  end;
  Memo2.Lines.Add(NZeile);
end;
Memo1.Lines.Clear;
Ansonsten ... Willkommen an Board :hi:


@Muellermilchtrinker:
Strings ist das Default-Array-Property von TStrings, TStringList und Co. ... diesen Namen kann man also weglassen und er wird standardmäßig ausgewählt.

Saminem 18. Aug 2010 18:00

AW: Codier problem
 
Danke für die schnelle Antwort funktioniert jetzt.
Danke nochmal.
Bin noch jung und unerfahren :)

himitsu 18. Aug 2010 18:05

AW: Codier problem
 
Bitte.
Zitat:

Zitat von Saminem (Beitrag 1043161)
Bin noch jung und unerfahren :)

Also noch genug Zeit zum Lernen :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz