Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi listboxen mit einander verknüpfen (https://www.delphipraxis.net/85335-listboxen-mit-einander-verknuepfen.html)

Jakob3 29. Jan 2007 14:38


listboxen mit einander verknüpfen
 
Also ich hab mal wieder eine Frage zu listboxen:

Ich will in einem Vokabelprogramm, das 2 listboxen hat, eine für die fremdsprachigen Vokabeln, die andere für die muttersprachige Vokabeln. Das hinzufügen neuer Vokabeln klappt, aber ein Problem ist das löschen der Vokabeln. Ich weiß zwar wie ich sie löschen kann, aber ich hab keine Ahnung wie ich, wenn ich in einer listbox eine Vokabel lösche (also zum Beispiel in der muttersprachigen Vokabelliste eine vokabel lösche) das in der anderen listbox die dementsprechende Vokabel gelöscht wird. (Die zusammengehörigen Vokabeln, zBs: go-gehen, sind in den listboxen an der selben stelle)

Ich weiß nicht wie ich mein problem anderst erklären könnte. Wenn ihr etwas nicht verstanden habt dann fragt einfach nach!

Hier noch die Art, mit der ich die Vokabeln lösche:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Button1: TButton;
    Button2: TButton;
    Label2: TLabel;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}
procedure entferne (lBox : TListBox; eintrag : string);
var i : Integer;
begin
 for i := 0 To lBox.Items.Count-1 do
 if lBox.Items[i] = eintrag then
 begin lBox.Items.Delete(i); Exit end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 entferne(ListBox1,Edit1.Text)
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 Close
end;


end.

smudo 29. Jan 2007 14:43

Re: listboxen mit einander verknüpfen
 
Wenn du das so machen willst, und die entsprechenden Worte immer an der gleichen Position stehen, brauchst du dir doch nur den Index merken. Du ermittelst diesen ja schon mit deiner Löschproc - i

Edit: Warum verwendest du nicht IndexOf? Also statt:
Delphi-Quellcode:
for i := 0 To lBox.Items.Count-1 do
if lBox.Items[i] = eintrag then...
besser

Delphi-Quellcode:
i := lBox.Items.IndexOf(Eintrag);

pacman1986 29. Jan 2007 14:44

Re: listboxen mit einander verknüpfen
 
Ich denk mal das was du meintest ist das hier

Delphi-Quellcode:
  If Listbox1.ItemIndex > -1 then begin
     Listbox1.Items.Delete(Listbox1.Itemindex);
     Listbox2.Items.Delete(Listbox1.Itemindex);
  end;

Jakob3 29. Jan 2007 16:23

Re: listboxen mit einander verknüpfen
 
DANKE! :cheers:


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