Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 'Eigenbau Shell' verschluckt Chars (https://www.delphipraxis.net/113102-eigenbau-shell-verschluckt-chars.html)

nEmai 2. Mai 2008 17:15


'Eigenbau Shell' verschluckt Chars
 
Guten Abend,

ich bastel an einer Shell-Imitation(Memo+Edit) als 'GUI' für ein kleines Textverschlüsselungsprogramm.

Delphi-Quellcode:
var
  FText: TStringList;

procedure TForm1.Print;
var
  iCount: Integer;
begin
  for iCount:= 0 to FText.Count-1 do
    Memo1.Lines.Add(FText.ValueFromIndex[iCount]);
end;

procedure TForm1.OpenFile(aPath: String);
begin
  FText.LoadFromFile(aPath);
  Print;                               //im Memo: 'est1'
  FText.SaveToFile('./outp.txt');       //in der Textdatei: 'test1'
  ShowMessage(FText.ValueFromIndex[0]); //Ausgabe: 'est1'
end;
Mein Problem ist, dass im Memo der erste Buchstabe jeder Zeile fehlt.
In meiner Testdatei steht:
test1
test2
test3

Wenn ich sie öffne kommt im Memo:
est1
est2
est3

Woran liegt das?? Man möchte ja fast meinen ValueFromIndex frisst den ersten Char. oO
(Wenn ihr mehr Quelltext braucht, sagt bescheid.)

MfG.

Der.Kaktus 2. Mai 2008 17:34

Re: 'Eigenbau Shell' verschluckt Chars
 
Zitat:

Zitat von nEmai
Guten Abend,

ich bastel an einer Shell-Imitation(Memo+Edit) als 'GUI' für ein kleines Textverschlüsselungsprogramm.

Delphi-Quellcode:
var
  FText: TStringList;

procedure TForm1.Print;
var
  iCount: Integer;
begin
  for iCount:= 0 to FText.Count-1 do
    Memo1.Lines.Add(FText.ValueFromIndex[iCount]);
end;

procedure TForm1.OpenFile(aPath: String);
begin
  FText.LoadFromFile(aPath);
  Print;                               //im Memo: 'est1'
  FText.SaveToFile('./outp.txt');       //in der Textdatei: 'test1'
  ShowMessage(FText.ValueFromIndex[0]); //Ausgabe: 'est1'
end;
Mein Problem ist, dass im Memo der erste Buchstabe jeder Zeile fehlt.
In meiner Testdatei steht:
test1
test2
test3

Wenn ich sie öffne kommt im Memo:
est1
est2
est3

Woran liegt das?? Man möchte ja fast meinen ValueFromIndex frisst den ersten Char. oO
(Wenn ihr mehr Quelltext braucht, sagt bescheid.)

MfG.


Hallo, geht das nicht mit
Delphi-Quellcode:
memo1.Lines.Add(Ftext.strings[iCount]);
???

nEmai 2. Mai 2008 17:38

Re: 'Eigenbau Shell' verschluckt Chars
 
Boah, ich hab noch ewig probiert, wie ich an die Zeilen in der Liste komm..
Muss ich übersehen haben, danke mit FText.Strings gehts. ^^


Was mir gerade noch eingefallen ist, immer wenn ich im Edit Eingabe drück, gibt Windows son Ton von sich.
Wie kann man das verhindern? Ich glaub ich hab das schon mal hier gesehn, weiß aber gerade nicht, wonach ich da suchen soll.

MfG.^^

Christian Seehase 2. Mai 2008 17:42

Re: 'Eigenbau Shell' verschluckt Chars
 
Moin Zusammen,

und da Strings die Default-Property einer TStringList ist, kann man diese Angabe auch weglassen.

Delphi-Quellcode:
memo1.Lines.Add(Ftext[iCount]);

nEmai 2. Mai 2008 18:48

Re: 'Eigenbau Shell' verschluckt Chars
 
Danke, dann mach ichs so. (Wie einfach.. :oops:)

Eine Frage steht aber noch im Raum.
Zitat:

Zitat von nEmai
Was mir gerade noch eingefallen ist, immer wenn ich im Edit Eingabe drück, gibt Windows son Ton von sich.
Wie kann man das verhindern? Ich glaub ich hab das schon mal hier gesehn, weiß aber gerade nicht, wonach ich da suchen soll.

MfG.

Fussball-Robby 2. Mai 2008 18:52

Re: 'Eigenbau Shell' verschluckt Chars
 
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  If Key = #13 then //#13 = Enter
    Key := #0;
end;

nEmai 2. Mai 2008 18:58

Re: 'Eigenbau Shell' verschluckt Chars
 
Hm okay, dann war meine Erinnerung falsch, da hatte ich an was anderes gedacht.
Aber es erfüllt seinen Zweck, vielen Dank.

Thema abgehakt.^^

MfG.

Muetze1 2. Mai 2008 22:42

Re: 'Eigenbau Shell' verschluckt Chars
 
Zitat:

Zitat von nEmai
Danke, dann mach ichs so. (Wie einfach.. :oops:)

Geht noch einfacher, ohne Schleife:

Delphi-Quellcode:
procedure TForm1.Print;
begin
  Memo1.Lines.AddStrings(FText);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 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