Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » Delimiter

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
15.09.2004, 12:32 Uhr
Torsten Schlichter



Hallo,

ich habe folgenden Quelltext:

Code:

AnsiString dateiname;
if (odlg_open -> Execute())
{
dateiname = (odlg_open -> FileName);
TStringList *list = new TStringList();
list -> Delimiter = ';';
list -> LoadFromFile(dateiname);
for (int y = 0; y < list -> Count; y++)
{
sgrid_einlesen -> Rows[y] -> DelimitedText = list -> Strings[y];
}
delete list;
}



Eigentlich sollte bei dem Programm die Daten aus einer csv Datei in ein StringGrid eingetragen werden. Leider klappt das nur mit dem Trennzeichen Komma, ich brauch aber das Trennzeichen Semikolon!
Was mache ich falsch? Brauche dringend Hilfe .... ich verzweifle!

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.09.2004, 21:37 Uhr
GateKeeper



Hallo Torsten.

Kann es sein, dass du für das String-Grid auch noch einen Delimiter angeben musst? Schließlich hast du (zumindest in deinem Code-Schnipsel) nur den Delimiter für die TStringList festgelegt (list->Delimiter = ';').

"sgrid_einlesen" ist ja wohl dein TStringGrid?? Möglicherweise gibt es ja eine Eigenschaft sgrid_einlesen->Rows->Delimiter z.B. (wenn sgrid_einlesen->Rows vom Typ TStringList ist), die du erst korrekt setzen musst (';').

list->Strings[y] ist ja vom Typ Ansistring - die Trennzeichen-Information wird da nicht mit an TStringGrid->Rows[y] übergeben.
Wie soll TStringGrid also den AnsiString "list->Strings[y]" zerteilen, wenn du das Trennzeichen nirgendwo explizit angibst? Komma (',') ist vielleicht die Voreinstellung.

Dieser Post wurde am 18.09.2004 um 21:42 Uhr von GateKeeper editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
06.10.2004, 21:08 Uhr
Torsten Schlichter



Genau ...
Hier die Lösung für alle mit dem selben Problem:


Code:
AnsiString dateiname;
if (odlg_open -> Execute())
{
dateiname = (odlg_open -> FileName);
TStringList *list = new TStringList();
list -> LoadFromFile(dateiname);
for (int y = 0; y < list -> Count; y++)
{
sgrid_einlesen -> Rows[y] -> Delimiter = ';';
sgrid_einlesen -> Rows[y] -> DelimitedText = list -> Strings[y];
}
delete list;
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: