Avatar billede fun22 Nybegynder
14. oktober 2003 - 16:51 Der er 13 kommentarer og
1 løsning

Value i listbox

Hej

Hvordan sætter man value på sin listbox??

Hvis jeg har:
stitle := 'dav dav'; og
slink := 'hej hej';

Hvordan få jeg det så ind så det ene er det man kan se i listboksen og det andet ligger i valuen????

Mvh
JEsper
Avatar billede stone Forsker
14. oktober 2003 - 18:08 #1
er det det du mener??
f.eks alt hvad du skriver i din edit1, bliver overført til din listbox

Listbox1.Items.Add(edit1.text);
Avatar billede fun22 Nybegynder
14. oktober 2003 - 18:15 #2
ja, men det skal være sådan at når jeg så vælger det første i listboksen så skal den f.eks. skrive hej hej i editboksen...
Avatar billede stone Forsker
14. oktober 2003 - 18:31 #3
ok... indsæt den kode i din listbox onclick events

Edit1.Text:=ListBox1.Items[ListBox1.ItemIndex];
Avatar billede fun22 Nybegynder
14. oktober 2003 - 19:40 #4
nej...
Det er ligesom denne her funktion som bruges til hjemmesider. Altså hvor man definere en value og en tekst som bliver vist...

<option value="hej he">Dav dav</option>
Avatar billede doc404 Novice
14. oktober 2003 - 20:04 #5
Det kan du ikke sådan bare lige. Men du har sammen med dine strings har du en object liste som kan benyttes som en række pointere.

Eks.

...

const
  Value1 = 'Value 1';
  Value2 = 'Value 2';

procedure TForm1.FormCreate(Sender: TObject);
begin
  ListBox1.Items.AddObject('Dav 1',TObject(PChar(Value1)));
  ListBox1.Items.AddObject('Dav 2',TObject(PChar(Value2)));
end;


procedure TForm1.ListBox1Click(Sender: TObject);
begin
  Edit1.Text := PChar(ListBox1.Items.Objects[ListBox1.ItemIndex]);
end;
Avatar billede doc404 Novice
14. oktober 2003 - 20:05 #6
btw.. Value1+2 kunne ligeså godt være en string variable e.l.
Avatar billede fun22 Nybegynder
15. oktober 2003 - 11:26 #7
jeg kan ikke få det til at virke i denne sammehæng:

ShellExecute(Handle,'open',PChar(lv.Items.Objects[lv.ItemIndex]),pchar(''),pchar(''),SW_SHOWNORMAL);

Når jeg aktivere koden sker der ikke noget. Og jeg har markeret et item i listboksen..
Avatar billede doc404 Novice
15. oktober 2003 - 11:29 #8
prøv lige at lave følgende inden din ShellExecute

ShowMEssage(PChar(lv.Items.Objects[lv.ItemIndex]);

for at se om du har fået det rigtige ind...
Avatar billede fun22 Nybegynder
15. oktober 2003 - 12:10 #9
den viser ikke det rigtige... Her er koden jeg bruger til at tilføje items til listboxen:

procedure TForm1.updateClick(Sender: TObject);
var
  StartItemNode : IXMLNode;
  ANode : IXMLNode;
  STitle, sDesc, sLink : WideString;
  I : Integer;

begin
lv.Items.Clear;
XMLDoc.FileName := 'http://www.xxxxx.xxx/xxx.xml';
XMLDoc.Active:=True;

StartItemNode := XMLDoc.DocumentElement.ChildNodes.
                  First.ChildNodes.FindNode('item');
                 
ANode := StartItemNode;
repeat
  STitle := ANode.ChildNodes['title'].Text;
  sLink := ANode.ChildNodes['link'].Text;
  sDesc := ANode.ChildNodes['description'].Text;

  //add to list view

  with LV do
  begin
    lv.Items.AddObject(STitle,TObject(PChar(sLink)));
  end;
  ANode := ANode.NextSibling;
until ANode = nil;

end;
Avatar billede doc404 Novice
15. oktober 2003 - 20:27 #10
Du laver en pointer til en string i et object (ANode) - og det forsvinder kort tid efter. Derfor går det galt.

Du kan f.eks. lave en StringList hvor du tilføjer dine links i og adder dem i stedet.
Avatar billede doc404 Novice
15. oktober 2003 - 20:27 #11
...
Hvis du laver en stringlist, kan du lige så godt blot gemme indexet i objects
Avatar billede fun22 Nybegynder
20. oktober 2003 - 13:24 #12
hvordan gør jeg det?
Avatar billede fun22 Nybegynder
21. oktober 2003 - 15:29 #13
hvordan laver jeg en stringliste???
Avatar billede fun22 Nybegynder
20. november 2003 - 17:23 #14
lukker....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester