Avatar billede hestetoften Nybegynder
25. april 2004 - 23:24 Der er 3 kommentarer og
2 løsninger

oprette liste med 10 strenge

Jeg vil oprette en liste med 10 strenge.

Ved klik på Button indsættes texten i Edit1 på 0'te plads, og alle eksisterende strenge skubbes en plads ned, og hvis der findes en streng på 9 plads bliver den slettet, således at der max er 10 strenge på listen.

Er der en der har en ide til hvordan dette gøres ?
Avatar billede athlon-pascal Juniormester
25. april 2004 - 23:35 #1
Hvilken slags liste?

Hvis det er en ListBox du mener, så prøv dette:

Indsæt en TEdit (Edit1), en TButton (Button1) og en TListBox (ListBox1), hvor teksten i parantes er de navne de skal have, på Form1 i et nyt projekt.

Indsæt følgende i Button1's OnClick-event:

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.Items.Insert(Edit1.Text, 0);
  if ListBox1.Items.Count > 10 then
    ListBox1.Items.Delete(10);
end;

Koden er ikke testet, da jeg sidder ved Linux og derfor ikke kan køre Delphi.
Avatar billede doc404 Novice
26. april 2004 - 00:24 #2
Den kunne vel næsten laves universel, så det er ligegyldigt om det er en ListBox, TStringList eller what ever, bare det er en descendant af TStrings...

procedure AddItem(List : TStrings; const Text : String);
begin
  List.Insert(Text,0);
  While List.Count > 10 do
    List.Delete(10);
end;

...

og kaldes f.eks. fra en button click som

...
  AddItem(ListBox1.Items,Edit1.Text);
...
Avatar billede hestetoften Nybegynder
28. april 2004 - 22:54 #3
begge virker fint..

opret svar, så får i begge point.

Tak.
Avatar billede athlon-pascal Juniormester
28. april 2004 - 22:58 #4
Svar :o)

doc404's udgave vil dog fange flere fejl - hvis der f.eks. skulle komme mere end 11 punkter i listen :o)

Min bør se sådan ud (samme løsning som doc404's):

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.Items.Insert(Edit1.Text, 0);
  while ListBox1.Items.Count > 10 do
    ListBox1.Items.Delete(10);
end;
Avatar billede doc404 Novice
28. april 2004 - 23:05 #5
;-)
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