/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
kommasepareret fil
Fra : Peder Hanghøj


Dato : 02-01-04 17:33

Er der en let måde at indlæse en kommasepareret fil til en stringgrid.

Tak, Peder



 
 
Harald (02-01-2004)
Kommentar
Fra : Harald


Dato : 02-01-04 18:09

"Peder Hanghøj" <peder@hanghoej.dk> skrev i en meddelelse
news:3ff59d56$0$29321$edfadb0f@dread15.news.tele.dk...
> Er der en let måde at indlæse en kommasepareret fil til en stringgrid.

Ja og nej, jeg mener ikke der er en function specielt lavet til det så det
kræver lidt manuelt arbejde, men det er da også rimeligt let.
Hvis du ikke har noget specielt du skal bruge stringgrid til hvad så med at
bruge ListView, ListView virker mere "up to date" og understøttes også af
windows XP look hvis du bruger den.

Mvh
HK



Dan Spares (06-01-2004)
Kommentar
Fra : Dan Spares


Dato : 06-01-04 15:04

Ja, god løsning
"Harald" <news10@-REMOVE-THIS-kroning.dk> skrev i en meddelelse
news:3ff5a5bd$0$27449$edfadb0f@dread16.news.tele.dk...
> "Peder Hanghøj" <peder@hanghoej.dk> skrev i en meddelelse
> news:3ff59d56$0$29321$edfadb0f@dread15.news.tele.dk...
> > Er der en let måde at indlæse en kommasepareret fil til en stringgrid.
>
> Ja og nej, jeg mener ikke der er en function specielt lavet til det så det
> kræver lidt manuelt arbejde, men det er da også rimeligt let.
> Hvis du ikke har noget specielt du skal bruge stringgrid til hvad så med
at
> bruge ListView, ListView virker mere "up to date" og understøttes også af
> windows XP look hvis du bruger den.
>
> Mvh
> HK
>
>



Thor (02-01-2004)
Kommentar
Fra : Thor


Dato : 02-01-04 23:37

Hej Peder
Denne metode er da ret elegant, ikke:

procedure TForm1.FormCreate(Sender: TObject);
var rows, cols : tstringlist;
var i : integer;
begin
rows := tstringlist.Create;
cols := tstringlist.Create;
cols.Delimiter := ';';
rows.LoadFromFile('file1.txt');
// File1.txt har følgende udseende:
//11;12;13;14;15
//21;22;23;24;25
//31;32;33;34;35
//41;42;43;44;45
//51;52;53;54;55
for i := 0 to rows.count-1 do
begin
cols.DelimitedText := rows[i];
stringgrid1.cols[i].AddStrings(cols);
end;
end;

mvh Thor

"Peder Hanghøj" <peder@hanghoej.dk> wrote in message
news:3ff59d56$0$29321$edfadb0f@dread15.news.tele.dk...
> Er der en let måde at indlæse en kommasepareret fil til en stringgrid.
>
> Tak, Peder
>
>



Harald (02-01-2004)
Kommentar
Fra : Harald


Dato : 02-01-04 23:37

"Thor" <thr@image.danmark> skrev i en meddelelse
news:bt4r5j$2kt9$1@news.cybercity.dk...
> Hej Peder
> Denne metode er da ret elegant, ikke:
>
> procedure TForm1.FormCreate(Sender: TObject);
> var rows, cols : tstringlist;
> var i : integer;
> begin
> rows := tstringlist.Create;
> cols := tstringlist.Create;
> cols.Delimiter := ';';
> rows.LoadFromFile('file1.txt');
> // File1.txt har følgende udseende:
> //11;12;13;14;15
> //21;22;23;24;25
> //31;32;33;34;35
> //41;42;43;44;45
> //51;52;53;54;55
> for i := 0 to rows.count-1 do
> begin
> cols.DelimitedText := rows[i];
> stringgrid1.cols[i].AddStrings(cols);
> end;
> end;

Hvad med denne løsning er den ikke mere elegant? Og når han skriver
kommasepareret fil så mener han vel at den er en standard kommasepareret fil
hvor tingene er adskilt med komma og ikke alt mulig andet


var
StringList : TStringList;
i : integer;
begin
StringList:=TStringList.Create;
StringList.LoadFromFile('c:\test.txt');
for i:=0 to StringList.Count-1 do
StringGrid1.Rows[i].CommaText:=StringList[i];
end;

Mvh
HK



Thor (03-01-2004)
Kommentar
Fra : Thor


Dato : 03-01-04 00:17

Hej Harald

Respekt.
Jeg havde valgt en (muligvis mere pædagogisk) omvej, - din
metode springer et unødvendigt led over.
Når du skriver "kræver lidt manuelt arbejde", lød det på mig som om, at du
ikke
kendte Delimitedtext/Commatext metoden.. Ingen årsag.

mvh Thor
>
> Hvad med denne løsning er den ikke mere elegant? Og når han skriver
> kommasepareret fil så mener han vel at den er en standard kommasepareret
fil
> hvor tingene er adskilt med komma og ikke alt mulig andet
>
>
> var
> StringList : TStringList;
> i : integer;
> begin
> StringList:=TStringList.Create;
> StringList.LoadFromFile('c:\test.txt');
> for i:=0 to StringList.Count-1 do
> StringGrid1.Rows[i].CommaText:=StringList[i];
> end;
>
> Mvh
> HK
>
>



Peder Hanghøj (03-01-2004)
Kommentar
Fra : Peder Hanghøj


Dato : 03-01-04 09:59

Jeg siger mange tak.
Peder

"Thor" <thr@image.danmark> skrev i en meddelelse
news:bt4thr$2oi4$1@news.cybercity.dk...
> Hej Harald
>
> Respekt.
> Jeg havde valgt en (muligvis mere pædagogisk) omvej, - din
> metode springer et unødvendigt led over.
> Når du skriver "kræver lidt manuelt arbejde", lød det på mig som om, at du
> ikke
> kendte Delimitedtext/Commatext metoden.. Ingen årsag.
>
> mvh Thor
> >
> > Hvad med denne løsning er den ikke mere elegant? Og når han skriver
> > kommasepareret fil så mener han vel at den er en standard kommasepareret
> fil
> > hvor tingene er adskilt med komma og ikke alt mulig andet
> >
> >
> > var
> > StringList : TStringList;
> > i : integer;
> > begin
> > StringList:=TStringList.Create;
> > StringList.LoadFromFile('c:\test.txt');
> > for i:=0 to StringList.Count-1 do
> > StringGrid1.Rows[i].CommaText:=StringList[i];
> > end;
> >
> > Mvh
> > HK
> >
> >
>
>



Peder Hanghøj (03-01-2004)
Kommentar
Fra : Peder Hanghøj


Dato : 03-01-04 14:16

Det virker fint, men det ser ud til at der også 'skiftes' kolonne, når der
er mellemrum og ikke kun, når der er komma.
Er det bare sådan?
Tak, Peder

"Harald" <news10@-REMOVE-THIS-kroning.dk> skrev i en meddelelse
news:3ff5f27b$0$27413$edfadb0f@dread16.news.tele.dk...
> "Thor" <thr@image.danmark> skrev i en meddelelse
> news:bt4r5j$2kt9$1@news.cybercity.dk...
> > Hej Peder
> > Denne metode er da ret elegant, ikke:
> >
> > procedure TForm1.FormCreate(Sender: TObject);
> > var rows, cols : tstringlist;
> > var i : integer;
> > begin
> > rows := tstringlist.Create;
> > cols := tstringlist.Create;
> > cols.Delimiter := ';';
> > rows.LoadFromFile('file1.txt');
> > // File1.txt har følgende udseende:
> > //11;12;13;14;15
> > //21;22;23;24;25
> > //31;32;33;34;35
> > //41;42;43;44;45
> > //51;52;53;54;55
> > for i := 0 to rows.count-1 do
> > begin
> > cols.DelimitedText := rows[i];
> > stringgrid1.cols[i].AddStrings(cols);
> > end;
> > end;
>
> Hvad med denne løsning er den ikke mere elegant? Og når han skriver
> kommasepareret fil så mener han vel at den er en standard kommasepareret
fil
> hvor tingene er adskilt med komma og ikke alt mulig andet
>
>
> var
> StringList : TStringList;
> i : integer;
> begin
> StringList:=TStringList.Create;
> StringList.LoadFromFile('c:\test.txt');
> for i:=0 to StringList.Count-1 do
> StringGrid1.Rows[i].CommaText:=StringList[i];
> end;
>
> Mvh
> HK
>
>



Tom-Vidar Nilsen (03-01-2004)
Kommentar
Fra : Tom-Vidar Nilsen


Dato : 03-01-04 14:24

> Det virker fint, men det ser ud til at der også 'skiftes' kolonne, når der
> er mellemrum og ikke kun, når der er komma.
> Er det bare sådan?
> Tak, Peder

Standar formatet er slik ja. Det skal normalt være "rundet det med space i"
"123 avd", 456 , dette blir tre



Harald (03-01-2004)
Kommentar
Fra : Harald


Dato : 03-01-04 14:37

"Peder Hanghøj" <peder@hanghoej.dk> skrev i en meddelelse
news:3ff6c0ac$0$29386$edfadb0f@dread15.news.tele.dk...
> Det virker fint, men det ser ud til at der også 'skiftes' kolonne, når der
> er mellemrum og ikke kun, når der er komma.
> Er det bare sådan?
> Tak, Peder

Hvis din komma fil ikke følger standarden for komma filer så prøv med Thor´s
metode.

Mvh
HK



Peder Hanghøj (03-01-2004)
Kommentar
Fra : Peder Hanghøj


Dato : 03-01-04 15:46

Jeg synes bare, at det er mærkeligt, at hvis filen hedder
Peder, Peder Hanghøj, Hanghøj
Hans, Hans Jensen, Hansen

Så vil der komme 4 kolonner og ikke 3.

Peder


"Harald" <news10@-REMOVE-THIS-kroning.dk> skrev i en meddelelse
news:3ff6c584$0$27424$edfadb0f@dread16.news.tele.dk...
> "Peder Hanghøj" <peder@hanghoej.dk> skrev i en meddelelse
> news:3ff6c0ac$0$29386$edfadb0f@dread15.news.tele.dk...
> > Det virker fint, men det ser ud til at der også 'skiftes' kolonne, når
der
> > er mellemrum og ikke kun, når der er komma.
> > Er det bare sådan?
> > Tak, Peder
>
> Hvis din komma fil ikke følger standarden for komma filer så prøv med
Thor´s
> metode.
>
> Mvh
> HK
>
>



Harald (03-01-2004)
Kommentar
Fra : Harald


Dato : 03-01-04 16:50

"Peder Hanghøj" <peder@hanghoej.dk> skrev i en meddelelse
news:3ff6d595$0$29305$edfadb0f@dread15.news.tele.dk...
> Jeg synes bare, at det er mærkeligt, at hvis filen hedder
> Peder, Peder Hanghøj, Hanghøj
> Hans, Hans Jensen, Hansen
>
> Så vil der komme 4 kolonner og ikke 3.

Det er fordi at den burde hedde:

Peder, "Peder Hanghøj", Hanghøj
Hans, "Hans Jensen", Hansen

hvis den skal følge standarden for komma filer, standarden siger muligvis,
men jeg er ikke helt sikker, at den burde se sådan ud.

"Peder", "Peder Hanghøj", "Hanghøj"
"Hans", "Hans Jensen", "Hansen"

Kun tal skal ikke sættes i ""

Mvh
HK


>
> "Harald" <news10@-REMOVE-THIS-kroning.dk> skrev i en meddelelse
> news:3ff6c584$0$27424$edfadb0f@dread16.news.tele.dk...
> > "Peder Hanghøj" <peder@hanghoej.dk> skrev i en meddelelse
> > news:3ff6c0ac$0$29386$edfadb0f@dread15.news.tele.dk...
> > > Det virker fint, men det ser ud til at der også 'skiftes' kolonne, når
> der
> > > er mellemrum og ikke kun, når der er komma.
> > > Er det bare sådan?
> > > Tak, Peder
> >
> > Hvis din komma fil ikke følger standarden for komma filer så prøv med
> Thor´s
> > metode.
> >
> > Mvh
> > HK
> >
> >
>
>



Mik D. (03-01-2004)
Kommentar
Fra : Mik D.


Dato : 03-01-04 15:52

Hej Peder

Prøv dette:

var
cars : TStringList; // Define our string list variable
i : Integer;
begin
// Define a string list object, and point our variable at it
cars := TStringList.Create;

// Now add some cars to our list - using the DelimitedText property
// with overriden control variables
cars.Delimiter := ' '; // Each list item will be blank separated
cars.QuoteChar := '|'; // And each item will be quoted with |'s
cars.DelimitedText := '|Honda Jazz| |Ford Mondeo| |Jaguar "E-type"|';

// Now display these cars
for i := 0 to cars.Count-1 do
ShowMessage(cars[i]); // cars[i] equates to cars.Strings[i]
end;

Fundet på:
http://www.delphibasics.co.uk/RTL.asp?Name=TStringList&ExpandCode1=Yes&ExpandCode2=Yes#Ex1

Mik



Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408196
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste