Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Kleines Memo/SchleifenProblem (https://www.delphipraxis.net/94585-kleines-memo-schleifenproblem.html)

Tommy1988 23. Jun 2007 19:31


Kleines Memo/SchleifenProblem
 
Folgendes:

Ich habe einen SpinEdit, Zwei Edits und ein Memo.

Delphi-Quellcode:
var
i : Integer;
begin
for i := 1 to SpinEdit1.Value do
 begin
  Memo1.Lines.Add('abc('+#39+Edit1.Text+#39+','+#39
  +Edit2.Text+#39+','+#39+Memo1.Text+#39+')');
 end;
Normalerweise sollte der Text dort (Memo1.Lines.Add) so oft ins Memo geschrieben werden,
wie ich im SpinEdit eintrage.
Delphi-Quellcode:
abc('edit1','edit2','memo1
')
Eigentlich müsste es aber so sein:

Delphi-Quellcode:
abc('edit1','edit2','memo1')

Wenn ich die Schleife weglasse, ist es richtig, aber ich bin auf das SpinEdit angewiesen.

Wo liegt dort der Fehler :?

DeddyH 23. Jun 2007 19:34

Re: Kleines Memo/SchleifenProblem
 
Memo1.Text enthält einen Zeilenumbruch.

Tommy1988 23. Jun 2007 19:43

Re: Kleines Memo/SchleifenProblem
 
Leider noch ein Problem:

Delphi-Quellcode:
  Form1: TForm1;
  i : Integer;
  x : Extended;

implementation

{$R *.dfm}

procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
x := JvSpinEdit1.Value; // das JvSpinEdit.Value ist EXTENDET (?!?!)
end;

procedure TForm1.JvXPButton1Click(Sender: TObject);
begin
for i := 1 to x do // Fehler hier
 begin
  JvMemo1.Lines.Add('abc('+#39+JvEdit1.Text+#39+','+#39
  +JvEdit2.Text+#39+','+#39+JvMemo1.Text+#39+')');
 end;
end;
[Fehler] Unit1.pas(46): E2010 Inkompatible Typen: 'Integer' und 'Extended'

Extended in Integer umwandeln oder eine andere Lösung gibts dafür nicht oder?

Ich möchte nur ungern das normale SpinEdit verwenden.

inherited 23. Jun 2007 19:47

Re: Kleines Memo/SchleifenProblem
 
x in Integer umwandeln und wenn du im SpinEdit eh keine Kommazahlen zulässt, mit Trunc(Value) oder Round(Value) (Delphihilfe spielt hier erklärbär) Extended in Integer Umwandeln.
Zu deinem Problem mit dem Memo: Das enthält einen Zeilenumbruch. Wenn es eh nur eine Zeile hat (warum nimmst du dann kein edit...) nimm Memo1.Lines[0]

Tommy1988 23. Jun 2007 19:51

Re: Kleines Memo/SchleifenProblem
 
in dem memo sollte man mehrer zeilen schreiben können (glaube ich..) egal ich gucke gleich mal wie das mit dem edit dann aussieht. wegen dem extended.

die delphihilfe bei mir ist irgentwie "defekt" schon seit längerem. nicht installiert sagt die ide.

deswegen kann ich die nicht benutzen

edit:
Delphi-Quellcode:
for i := 1 to round(JvSpinEdit1.Value) do
das haut nicht hin.
die ausgabe im memo ist vollkommen verdreht.

Ausgabe bei x = 3:
abc('edit1','edit2','memotext')
abc('edit1','edit2','memotext
abc('edit1','edit2','memotext')')

EDIT3!

So es klappt. ich habe einfach das so geändert, dass der den text in einem 2. memo ausgibt.
da ist der fehler komischerweise nicht. ich guck mir das aber an und suche mal..

wenn einer von euch den fehler trotzdem kennt, wäre ich dankbar ihn zu erfahren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:08 Uhr.

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