ellers kan du stoppe dem alle i en listbox, og så søge på den streng du får ind mellem dem i din listbox, og så snuppe indexet, indexet kan du så bruge i din case...
Hvis jeg var dig ville jeg helt klart vælge SET måden det er den smarteste og \"pæneste\", og du vil kunne trække værdierne ud som strenge hvis du har brug for det.
Når du er IRC-komandoer der er tale om er set ikke en brugbar metode. brug ganske enkelt if then og placer de enkelte dele i procedurer for sig. Det vil klart være den mest naturlige og mest overskuelige måde at gøre det på.
Var I:integer; begin I:= 0; While I < ActionList1.ActionCount do if ActionList1.Actions[I].Name = \'action1\' Then ActionList1.Actions[I].Execute; end;
procedure TForm1.Action1Execute(Sender: TObject); begin //Hvad den nu skal end;
En HASH tabel er en slags array der er indexeret med strenge. Det virker sådan at man har er klasse der håndterer hele array\'et og en klasse til hvert element. Klassen til elementer har så en metode hvormed den kan beregne en talvætdi (kaldet HASH værdien) baseret på den streng du ønsker at bruge som index. Denne talværdi bruges som index i arrayet. På hver plads i arrayet starter der så en hægtet liste. Klassen med elementer indeholder også en pointer til det du ønsker at indexere med strengen. Når du vil tilføje et nyt element, angiver du blot søgestrengen og pointeren til dit eget object og så bliver det tilføjet. Når du vil søge i listen, så beregnes HASHværdien at dit søgeord, og så har man indexet i listen. Herefter løbes den hægtede liste igennem, indtil det søgeord=indexstrengen. Listen er indrettet således at det næsten altid bliver inden 3 forsøg, svarende til en 5-6 if sætninger. Jeg har ikke koden har, men jeg sender den i morgen.
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.