Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Anzahl Zeilen Beschänkung im Memofeld (https://www.delphipraxis.net/180758-anzahl-zeilen-beschaenkung-im-memofeld.html)

akurka 16. Jun 2014 08:00

Anzahl Zeilen Beschänkung im Memofeld
 
Hallo
Der Anzahl Zeilen im Memo Feld wird immer auf 2 beschränkt.
Hier folgende Test :

Form1.Memo1.MaxLength:= $7F;
Form1.Memo1.Lines[0] := '0';
Form1.Memo1.Lines[1] := '1';
Form1.Memo1.Lines[2] := '2';
Form1.Memo1.Lines[3] := '3';
Form1.Memo1.Lines[4] := '4';

es wird immer nur Zeile 0 und 1 geschrieben und nicht mehr, im OI habe ich auch nichts
gefunden. Was mache ich falsch ?
Muss man etwas in StringList setzen ?
Gruss Anton

mkinzler 16. Jun 2014 08:02

AW: Anzahl Zeilen Beschänkung im Memofeld
 
Die StringListe scheint nur 2 Einträge zu haben. Mich wundert es das es nicht knallt, wenn du den 3. String setzt.

Delphi-Quellcode:
Form1.Memo1.Lines.Add( '...');

hathor 16. Jun 2014 08:51

AW: Anzahl Zeilen Beschänkung im Memofeld
 
So geht's:

Delphi-Quellcode:
var i : Integer;
begin
for i := 0 to 999 do Memo1.Lines.Add('');

//Memo1.MaxLength:= $7F;
 Memo1.Lines[0] := '0';
 Memo1.Lines[1] := '1';
 Memo1.Lines[2] := '2';
 Memo1.Lines[3] := '3';
 Memo1.Lines[4] := '4';
...

mkinzler 16. Jun 2014 08:54

AW: Anzahl Zeilen Beschänkung im Memofeld
 
So habe ich das nicht gemeint sondern die Zeilen mit Add()/Appen() hinzufügen.

Oder:
Delphi-Quellcode:
Memo1.Lines.CommText := '0,1,2,3,4';

himitsu 16. Jun 2014 08:57

AW: Anzahl Zeilen Beschänkung im Memofeld
 
Nicht wundern, denn TMemoStrings wirft wirklich keine Exceptions, beim Zugriff auf nicht existierende Zeilenindize.
Beim Auslesen wird im Fehlerfall einfach ein Leerstring rausgegeben
und beim Zuweisen wird, seit Jahrzehnten, das nicht gemacht, was man allen Anderen ständig einbläut => prüft gefälligst die Rückgabewerte!

Da die MEMO-API aber keine Zeilen enfügt, wenn man ihnen was zuweist und sie noch nicht existieren, dann geht das natürlich ins Leere.


Ich weiß jetzt allerdings nicht, wie der Affe da reagiert, da Dieses sich erstmal "nur" auf die Implementierung der WinAPI bezieht.

akurka 16. Jun 2014 09:25

AW: Anzahl Zeilen Beschänkung im Memofeld
 
Hallo,
vielen Dank, also liegt es doch an der StringList.
Das Vorher war nur Test, die tatsächliche Anwendung von Memo läuft immer noch nicht.
(Die Meldung ist ein array mit 16 bytes.)
es wird nur die erste Zeile angezeigt Com3open :

Form1.Memo1.Lines.Add(''); // offenbar ist das nicht richtig ??
Form1.Memo1.Lines[0] := 'COM3 open';
For i:= 0 to 15 do
//SENDBYTE(Meldung[i]);//vorlaufig ausg.
Form1.Memo1.Lines.Add('');
Form1.Memo1.Lines[i+3]:= IntToHex(Meldung[i],2);
end;
Form1.Memo1.Lines.Add('');
Form1.Memo1.Lines[20] := 'CNCStatus gesendet';
Gruss Anton

mkinzler 16. Jun 2014 09:29

AW: Anzahl Zeilen Beschänkung im Memofeld
 
Zitat:

Zitat von akurka (Beitrag 1262421)
Hallo,
vielen Dank, also liegt es doch an der StringList.
Das Vorher war nur Test, die tatsächliche Anwendung von Memo läuft immer noch nicht.
(Die Meldung ist ein array mit 16 bytes.)
es wird nur die erste Zeile angezeigt Com3open :

Zitat:

Delphi-Quellcode:
Form1.Memo1.Lines.Add('');
Fügt genau eine leere Zeile hinzu.
Delphi-Quellcode:
     
              Form1.Memo1.Lines.Text := 'COM3 open';
              For i:= 0 to 15 do
              begin
                //SENDBYTE(Meldung[i]);//vorlaufig ausg.
               
                 Form1.Memo1.Lines.Add( IntToHex(Meldung[i],2));
              end;
              Form1.Memo1.Lines.Add('CNCStatus gesendet');

DeddyH 16. Jun 2014 09:33

AW: Anzahl Zeilen Beschänkung im Memofeld
 
Wieso so umständlich?
Delphi-Quellcode:
Form1.Memo1.Lines.Add('COM3 open');
For i:= 0 to 15 do
  //SENDBYTE(Meldung[i]);//vorlaufig ausg.
  Form1.Memo1.Lines.Add(IntToHex(Meldung[i],2));
Form1.Memo1.Lines.Add('');
Form1.Memo1.Lines.Add('CNCStatus gesendet');

mkinzler 16. Jun 2014 09:35

AW: Anzahl Zeilen Beschänkung im Memofeld
 
Zitat:

Wieso so umständlich?
Delphi-Quellcode:
Begin.. END
ist umständlich :stupid:

DeddyH 16. Jun 2014 09:35

AW: Anzahl Zeilen Beschänkung im Memofeld
 
Das bezog sich auf den Post vorher, der rote Kasten ist ja wieder im Urlaub.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:25 Uhr.
Seite 1 von 2  1 2      

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