Avatar billede lubker Nybegynder
04. september 2007 - 15:20 Der er 12 kommentarer og
1 løsning

Semikolon sepereret fil indlæst til listView

Hej.
Jeg bruger en almindelig OpenDialog til at vælge en fil der skal åbnes.
Denne fil vil jeg gerne have indlæst til et Listview (vsReport).

Skal jeg først opdele filen i et array og indlæse den linje for linje eller hvad?
Og i såfald hvordan laver jeg en splitfunktion?
Avatar billede martinlind Nybegynder
04. september 2007 - 15:29 #1
Jeg ville bruge en TStringList, det kan sætte Delimiter-Char  osv. og er efektiv til at indlæse Tekstfiler med
Avatar billede lubker Nybegynder
04. september 2007 - 15:33 #2
Vil nu gerne have det i en ListView til den senere databehandling.
Avatar billede vallemanden Nybegynder
04. september 2007 - 16:07 #3
eller smid det i en stringgrid også læs det over i et listview
Avatar billede lubker Nybegynder
04. september 2007 - 16:10 #4
Er forholdsvis ny i Delphi.
Har du et eksempel?
Avatar billede lubker Nybegynder
04. september 2007 - 16:49 #5
Min fil er opdelt som nedenstående med et par hundrede linjer.

idnr; Navn; adresse; postnr by; tlf; mobil;

Kan ikke lige få hul på indlæsningen
Avatar billede martinlind Nybegynder
04. september 2007 - 17:01 #6
VAR
MyList : TStingList;
Cnt : Integer;
begin
  MyList := TStingList.Create;
  MyList.LoadFromFile('C:\MyFile.Txt');
  for Cnt := 0 to MyList.Count-1 do
  begin
      // Her kan du tilgå dine indlæste data sådan :
      ShowMessage( 'Data :' + MyList[Cnt] );
  end;
  MyList.Free;
end;
Avatar billede martinlind Nybegynder
04. september 2007 - 17:02 #7
en lille rettelse :

  MyList := TStingList.Create;
  MyList.DelimiterChar := ';';
  MyList.LoadFromFile('C:\MyFile.Txt');
Avatar billede lubker Nybegynder
04. september 2007 - 17:10 #8
Hm. Den giver desværre en "Linst index out of bounds"
Avatar billede lubker Nybegynder
04. september 2007 - 17:13 #9
Min fejl fik lige smidt en linje væk.
Ser ud til det klarer første skridt.
Vender tilbage når jeg kommer lidt videre.
Avatar billede lubker Nybegynder
04. september 2007 - 17:17 #10
Den Returnerer en hel linje af gangen og opdeler ikke ved ;

Var dog nødt til at ændre DelimiterChar til Delimiter da denne ikke var kendt i delphi 2006.
Avatar billede lubker Nybegynder
04. september 2007 - 17:34 #11
http://www.eksperten.dk/spm/306732
Kom med en direkte løsning hele vejen til Listview.
Avatar billede lubker Nybegynder
04. september 2007 - 17:34 #12
Men du får point for dit svar alligevel.
Avatar billede martinlind Nybegynder
04. september 2007 - 17:57 #13
Takker :)

Jeg bruger stringlist til mange ting, du kan løse dit problem med en stringlist med hele filen, som du fik først, der efter kan du putte en stringlist ind til hver line og på den måde få dine felter ved at sætte delimiter til din felt-adskiller.

En stringlist indeholder en liste med en streng og tilhørende Object i dette object lægger man line stringlisten. Det er sikkert sort tale, men når du har lidt mere styr på det, vil du kunne se pointen :)
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