Einzelnen Beitrag anzeigen

Kratos

Registriert seit: 15. Okt 2019
52 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: String in Memo suchen

  Alt 16. Okt 2019, 16:56
Hi Leute,

ich nochmal. Ich hab eure Verbesserungsvorschläge umgesetzt und noch zwei Verzweigungen drumgebaut. Aber da taucht wieder ein Problem auf, welches ich nicht gelöst bekomme.

Programmaufbau:
Code:
Form6 -> ListBox6, Memo6
Form7 ...
ListBox6 und Memo6 sind nebeneinander platziert und beide sind sichtbar. In ListBox6 sind 6 Items abgespeichert. Per Doppelklick auf ein Item soll dieses in Memo6 geschrieben werden.

Meine Idee:

Es soll jedes mal überprüft werden, ob das doppelgeklickte Item aus ListBox6 bereits in Memo6 vorhanden ist.

Wenn Nein, soll es in Memo6 geschrieben werden.
Wenn Ja, soll es NICHT in Memo6 geschrieben werden.
Wird das 5. Item doppelgeklickt, geht Form7 auf (das klappt).

Code:
procedure TForm6.ListBox6DblClick(Sender: TObject);
var
  i: Integer;
begin
  if (ListBox6.ItemIndex) = 5 then  
    begin
      with TForm7.Create(Self) do
        try
          ShowModal;
      finally
          Free;
      end;
    end
  else if Pos(ListBox6.Items.Text, Memo6.Lines.Text) <> 0 then
    begin
       Memo6.Lines.Add(ListBox6.Items[ListBox6.ItemIndex] + #10#13);
    end
    else
      begin
        for i := 0 to ListBox6.Items.Count - 1 do
         if (Memo6.Lines.Text.IndexOf(ListBox6.Items[i]) < 0) then
         begin
            Memo6.Lines.Delete(i);    
         end;
   
      end;

Ich kann mir gut vorstellen, dass diese Zeile falsch ist:
 else if Pos(ListBox6.Items.Text, Memo6.Lines.Text) <> 0 then Es kommt keine Fehlermeldung. Jedoch kann man die Items aus ListBox6 doppelklicken wie man will, es passiert nichts.
Könnt ihr mir helfen auf einen Lösungsansatz zu kommen, bitte?
  Mit Zitat antworten Zitat