Avatar billede -ulli- Nybegynder
10. april 2002 - 10:58 Der er 35 kommentarer og
3 løsninger

TStringList

Hej

I går fik jeg at vide at man kan loade en fil ind i en TStringList.

Jeg har så en listbox, en editbox og en knap.

Når jeg trykker på knappen skal den søge i TStringListen på det jeg har skrevet i editboxen og kopierer resultaterne til ListBoxen.

Noget der kan lade sig gøre?
Avatar billede martinlind Nybegynder
10. april 2002 - 11:03 #1
if MyStringList.IndexOf(Edit1.Text) <> -1 then
  ListBox1.Items.Add(MyStringList[MyStringList.IndexOf(Edit1.Text)]);


/Martin
Avatar billede -ulli- Nybegynder
10. april 2002 - 11:06 #2
hmm :/

Den laver en Access Violation
Avatar billede borrisholt Novice
10. april 2002 - 11:07 #3
for overskulighedens skylds vil jeg anbefale :

procedure Tform1.Button1Click(Sender : TObject);
var
  i : Integer;
begin
  i := MyStringList.IndexOf(Edit1.Text); 
  if i <> -1 then
    ListBox1.Items.Add(MyStringList[i]);
end;

Jens b
Avatar billede borrisholt Novice
10. april 2002 - 11:08 #4
Så har du ikke kalde en Create på din StringList !?!?!

Jens B
Avatar billede -ulli- Nybegynder
10. april 2002 - 11:09 #5
Hvor skal jeg kalde den?
Avatar billede borrisholt Novice
10. april 2002 - 11:10 #6
Må jeg lige se din kode ?
Avatar billede stoney Nybegynder
10. april 2002 - 11:11 #7
procedure TForm1.Button1Click(Sender: TObject);
var
sl : TStringlist;
s : string;
i : integer;
searchfor: string;
begin
listbox1.Clear;
searchfor := edit1.Text;
sl := TStringlist.Create;
sl.LoadFromFile('D:\minfil.txt');
for i:= sl.Count-1 downto 0 do
if pos(edit1.Text,(sl[i]))>0 then
listbox1.Items.Add(sl[i]);
end;

Stoney
Avatar billede -ulli- Nybegynder
10. april 2002 - 11:11 #8
procedure TForm1.Button1Click(Sender: TObject);
var
MyStringList: TStringList;
i: integer;
begin
MyStringList.LoadFromFile('c:\tadfind.ini');
i := MyStringList.IndexOf(Edit1.Text);
  if i <> -1 then
    ListBox1.Items.Add(MyStringList[i]);
end;
Avatar billede borrisholt Novice
10. april 2002 - 11:13 #9
Så prøv :

procedure TForm1.Button1Click(Sender: TObject);
var
  MyStringList: TStringList;
  i: integer;
begin
  MyStringList := TStringList.Create;
  MyStringList.LoadFromFile('c:\tadfind.ini');
  i := MyStringList.IndexOf(Edit1.Text);
  if i <> -1 then
    ListBox1.Items.Add(MyStringList[i]);
  MyStringList.Free;
end;
Avatar billede borrisholt Novice
10. april 2002 - 11:14 #10
HVID du bruger Delphi 6 skal sidste line se således ud :

FreeAndNil(MyStringList);

Jens B
Avatar billede -ulli- Nybegynder
10. april 2002 - 11:15 #11
Jeg bruger delphi 5
Avatar billede martinlind Nybegynder
10. april 2002 - 11:15 #12
stoney >> hvorfor laver du søgningen manuelt, når TStringList Classen har alle de funktioner der er brug for ??

/Martin
Avatar billede -ulli- Nybegynder
10. april 2002 - 11:16 #13
Stoneys virker fint

borrisholts virker ikke :/
Avatar billede borrisholt Novice
10. april 2002 - 11:19 #14
hvad er der i vejen med mit kode ?

Jens B
Avatar billede -ulli- Nybegynder
10. april 2002 - 11:20 #15
Dunno.. Den får ikke nogen resultater når jeg søger..
Avatar billede martinlind Nybegynder
10. april 2002 - 11:21 #16
Stoney's metode er kun nødvendig hvis det er en delstreng du søger efter.
Avatar billede borrisholt Novice
10. april 2002 - 11:22 #17
prøv at kigge i din fil for at se om ikke det er den det er galt med ....

Jens b
Avatar billede stoney Nybegynder
10. april 2002 - 11:22 #18
martinlind >>

Gammel skade tror jeg

Stoney
Avatar billede -ulli- Nybegynder
10. april 2002 - 11:23 #19
aha .. derfor..

Den virker kun hvis jeg skriver det hele af en linje i filen.. det behøver kun være delstreng jeg søger på.. derfor virker stoneys..
Avatar billede martinlind Nybegynder
10. april 2002 - 11:24 #20
Livet er jo helt fantastisk !!

Stoney >> og man kan ikke lære gamle hunde nye kunster *S*
Avatar billede borrisholt Novice
10. april 2002 - 11:26 #21
Stoney >> Måske du skulle tænke lidt på performance ....
Avatar billede -ulli- Nybegynder
10. april 2002 - 11:27 #22
Jens: hvordan får jeg din til at virke med delstrenge også?
Avatar billede borrisholt Novice
10. april 2002 - 11:29 #23
Hvis du er ny i faget vil jeg anbefale stoneys løsning ..

Dog skal du huske at kalde en free på din stringlist når du er færdig med den

JEns B
Avatar billede borrisholt Novice
10. april 2002 - 11:31 #24
Min kommentar til stonet var vist mere dril .... :-)

(Jeg håbede han hoppede på lim pinden)

Jens B
Avatar billede stoney Nybegynder
10. april 2002 - 11:32 #25
martinlind >>

den med hunde, mit cpr nr er begyndt at trykke *G*

borrisholdt >>

Hvordan vil du optimere det når han søger efter en del streng ?

Stoney
Avatar billede -ulli- Nybegynder
10. april 2002 - 11:32 #26
Ok..

Ja, jeg er ny :)

Jeg takker mange gange for hjælpen :))
Avatar billede stoney Nybegynder
10. april 2002 - 11:33 #27
aarrh shit !!

jeg sidder og sover.

Stoney
Avatar billede borrisholt Novice
10. april 2002 - 11:40 #28
Du må ikke bruge POS .. Den er for langsom .. Skriv dig en ny ...
Brug ikke properties fro VCL kontrollerne ... Det er hurtigere at kopiere dem ....
Avatar billede borrisholt Novice
10. april 2002 - 11:45 #29
Og hvor meget tynger dit CPR nummer ? :-)
Avatar billede stoney Nybegynder
10. april 2002 - 11:54 #30
borrisholt>>

Den hexadecimale værdi af 5 og 6 karakter i mit cpr nr er 40

Stoney
Avatar billede borrisholt Novice
10. april 2002 - 11:56 #31
uhhhhhhh..... :-)

Burde du så ikke have nogle hurtigere rutiner :-)

Jens B
Avatar billede borrisholt Novice
10. april 2002 - 11:58 #32
mine er kun 48

Jens b
Avatar billede borrisholt Novice
10. april 2002 - 12:00 #33
http://www.tradestone.dk/ ..

Hvor snart er snart ?

Jens B
Avatar billede assassin Juniormester
10. april 2002 - 12:06 #34
borrisholt >> hvorfor skal der bruges FreeAndNil(MyStringList); hvis det er i D6??

Og gælder det kun TStringList eller alle free??
Avatar billede stoney Nybegynder
10. april 2002 - 12:08 #35
Jeg er ved at lave en masse begynder Delphi begynder tutorials.

Men det har taget lidt overhånd for mig.
Punkt 1 det bliver meget detaljeret, punkt 2 jeg har sat mig
for det skal laves som ISAPI DLL'er lavet i Delphi selvfølgelig.

Så det bliver en 100% clean delphi site.

Stoney
Avatar billede borrisholt Novice
10. april 2002 - 12:08 #36
Det gælder ved ALLE free.

Grunden er at man så kan bruge Assigned til at finde ud af om Objekter er oprettet eller ej !

Jens B
Avatar billede martinlind Nybegynder
10. april 2002 - 12:24 #37
stoney >> Så er vi to *S* ( kig evt. på www.matlus.com ) og på www.e-lind.dk

/Martin
Avatar billede stoney Nybegynder
10. april 2002 - 13:04 #38
martin>>

Jeg har store problemer med at vælge database til mit Delphi site.
Jeg ved ikke om det skal være Interbase(open source) eller MySQL jeg skal
vælge.
Interbase virke kanon når je sidder og leger, med jeg har ikke
den store erfaring når vi taler stor run/load/brugere på den.

Jeg ved du er lokal verdens mester i Interbase.
Hvad er dine erfaringer med Interbase ?

Jeg har ledt efter objective benchmark test men synes ikke jeg kan finde
nogle "helt sandfærdige"

Det er som regel andre database leverandøres test samlignet med andre databaser, sjovt nok "vinder" deres egne databaser altid.

Stoney
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