AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Listbox Multiselect

Ein Thema von simonko · begonnen am 10. Nov 2005 · letzter Beitrag vom 10. Nov 2005
Antwort Antwort
simonko

Registriert seit: 2. Jun 2005
125 Beiträge
 
#1

Listbox Multiselect

  Alt 10. Nov 2005, 14:38
hab folgendes Problem:
Ich kann in einer Listbox 2 items auswählen. Ich brauche dann den index der zwei Einträge um dann später eine funktion aufzurufen. ich hab das folgendermasen programmiert. geht das auch einfacher?
Delphi-Quellcode:
var
  i : integer;
  st1,st2 : integer;
  erstegefunden : boolean;
begin
  erstegefunden:=false;
  if Listbox1.Selcount=2 then begin begin
    for i:=Listbox1.Items.Count-1 downto 0 do
      if (Listbox1.Selected[i]=true) then
        if erstegefunden=false then begin
          st1:=i;
          erstegefunden:=true;
        end else
          st2:=i;
      end;
  (*Hier wird die funktion mit a und b aufgerufen*)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Listbox Multiselect

  Alt 10. Nov 2005, 16:09
Ist doch kein Problem:

Delphi-Quellcode:
uses
  Types; // TIntegerDynArray

function CreateSelected(lb: TListBox; var a: TIntegerDynArray): integer;
var
  i: integer;
begin
  SetLength(a, lb.SelCount);
  Result := 0;
  for i := 0 to Pred(lb.Count) do
    if lb.Selected[i] then
    begin;
      a[Result] := i;
      Inc(Result);
    end;
end;

procedure TDemoForm.CopyButtonClick(Sender: TObject);
var
  i: integer;
  xa: TIntegerDynArray;
  sl: TStringList;
begin
  if CreateSelected(ListBox, xa) > 0 then
  begin
    sl := TStringList.Create;
    with ListBox do
      for i := Low(xa) to High(xa) do
        sl.Add(Items[xa[i]]);
    ShowMessage(sl.CommaText);
    sl.Free;
  end;
end;
Grüße vom marabu

Warum nicht den dynamischen Array-Typ aus der Unit Types verwenden...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 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