Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 1. Zeile in Memo wird überschrieben (https://www.delphipraxis.net/70871-1-zeile-memo-wird-ueberschrieben.html)

mfs 6. Jun 2006 05:16


1. Zeile in Memo wird überschrieben
 
Guten Morgen,

woran kann es bitte liegen, dass die 1.Zeile in Memo überschrieben wird, während die 2. und 3. nicht nicht?

Das ist ein Stück aus meinem Progrämmchen, bitte um Hilfe..

Delphi-Quellcode:
function TKonfigurtionDlg.pruefeEingaben: Boolean;
var ok:boolean;
begin
   ok:=true;
   Memo1.Clear;

   //Ist kein Attributname eingegeben worden?
   if(EditAttributname.Text='')then
   begin
      Memo1.Lines.Add('Sie haben keinen Attributnamen eingegeben!');
      EditAttributname.Color:=clYellow;
      ok:=false;
   end
   else EditAttributname.Color:=clWhite;

   //Ist keine Beschreibung eingegeben worden?
   if(EditBeschreibung.Text='')then
   begin
      Memo1.Lines.Add('Eine Beschreibung für dieses Attribute fehlt noch!');
      EditBeschreibung.Color:=clYellow;
      ok:=false;
   end
   else EditBeschreibung.Color:=clWhite;

   //Ist keine Kategorie ausgewaehlt worden?
   if(ListBox1.ItemIndex<0) then
   begin
      Memo1.Lines.Add('Welcher Kategorie soll dieses Attribut zugeordnet werden?');
      ListBox1.Color:=clYellow;
      ok:=false;
   end
   else ListBox1.Color:=clWhite;

   if(ok)then
      result:=True
   else
      result:=False;
end;

Viele Gruesse, mfs

marabu 6. Jun 2006 06:13

Re: 1. Zeile in Memo wird überschrieben
 
Guten Morgen.

Da du zu Beginn deiner Prüfroutine alle Zeilen aus dem Memo löschst, verstehe ich deine Frage nicht so richtig.

Grüße vom marabu

mfs 6. Jun 2006 17:39

Re: 1. Zeile in Memo wird überschrieben
 
Hallo,

ok.. das geht so,

biem Aufrufen dieser Funcktion sollen alle Zeilen entfernt werden. Danach angenommen, dass alle 3 Bedingungen der if-Anweisungen erfüllt sind, d.h.

EditAttributname.Text='' ,
EditBeschreibung.Text='' und
ListBox1.ItemIndex<0

Deshalb müssen doch alle 3 "Fehlermuldungen" in Memo1 stehen.

Bei mir macht die function( pruefeEingaben) das aber nicht, sondern es wird die 1. Zeile hingeschrieben, nämlich 'Sie haben keinen Attributnamen eingegeben!'

dann wird sie überschrieben durch die anderen beiden Zeilen:
'Eine Beschreibung für dieses Attribute fehlt noch!' und
'Welcher Kategorie soll dieses Attribut zugeordnet werden?'

Ich lösche alle Zeilen bei jedem Aufruf, weil ich jedes Mal auf alle Fehlereingabe überprpüfen möchte! Oder könnte ich das irgendwie besser machen :?


Grüsse von mfs

waseo 6. Jun 2006 18:00

Re: 1. Zeile in Memo wird überschrieben
 
Hi!

Für mich sieht das nach einem logischen Fehler aus. Entweder rufst Du die Prüffunktion mehrmals hintereinander auf oder das Memo ist einfach nicht gross genug, so dass nach der 3. Zeile alles um eine Zeile nach oben verschoben wird und nur noch die beiden letzten sichtbar sind (beliebter "Verwirrungsfehler"). Mach das Memo einfach mal länger/grösser und probier's dann nochmal.

mfs 6. Jun 2006 18:16

Re: 1. Zeile in Memo wird überschrieben
 
Herzlichen Dank.. :thumb:

Das gibts doch nicht.. Dass es mir nicht aufgefallen ist, den Memo zu vergrössern, also es war doch eine Zeile nach oben geschoben und nicht überschrieben :oops:

Danke schön..
Grüße mfs


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