Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Auslesen von CSV Dateien

Empfohlene Antworten

Hallo zusammen,

kann mir jemand sagen, wie ich es anstelle eine CSV Datei auszulesen. Das soll über irgndwelche Pointer, Arrays und so gehen.

Wer kann mir helfen ? :eek:

Ich will ganz einfach nur eine CSV Datei in Delphi einlesen und in einer Grid-Komponente ausgeben.

Wie mache ich das ?

Hi Patrizia!

So in etwa müsste es gehen :

var

F: TextFile;

S: string;

begin

// Dialog zum Dateiöffnen anzeigen

if OpenDialog1.Execute then

begin

// Datei ausgewählt

AssignFile(F, OpenDialog1.FileName);

Reset(F);

// Erste Zeile der Datei lesen

Readln(F, S);

// String in ein TEdit schreiben

Edit1.Text := S;

CloseFile(F);

end;

end;

Du mußt jetzt nur noch die Zeile anpassen, "Edit1.Text := S", denn Du willst ja in ein Grid schreiben. Dazu mußt Du den String irgendwie aufteilen und den Grid-Komponenten zuweisen. Weiß ja net genau, wie Deine CSV-Datei aussieht. Hoffe, damit kommst ein wenig weiter.

Gruß

ET

  • 2 Wochen später...

Ich möchte die Datei nicht zeilenweise, sondern zeichenweise einlesen. Der Aufbau der CSV-Datei sieht so aus:

Eintrag1;Eintrag2;Eintrag3; usw.

Also eine verkettete Liste. Nun soll der 1. Eintrag in die 1. Datenzelle, der 2. in die 2. usw.

Wie realisiere ich dies ?

Hallo Patrizia,

hab zwar wenig Ahnung von Delphi, aber generell würde ich es so machen, dass Du die Datei in eine Variable einliest, dann den String zeichenweise vergleichst, und bei Zeichen <> ";" das Zeichen jeweils an eine Textvariable anhängst. Wenn Du dann ein ";" gefunden hast, dann schiebst Du Deine Stringvariable in dein Grid-Element rein, initialisierst die Variable und liest weiter. Alles klar?

CU,

Red Bull

Nachtrag:

Ich weiss nicht, ob es sowas unter Delphi gibt, aber in anderen Programmiersprachen kann man ein sog. Splitting einer Variable machen. D.h. ich fülle ein Array indem ich mir eine Variable nehme, und diese nach den "Teilern" aufteile.

Ungefähre Syntax:

Array = split(Variable, Teiler)

Also hier:

arrtext = split(dateiinhalt, ";")

Dann kannst Du das Array von 1 bis Ende durchlesen und den Inhalt eines Feldes in das Grid eintragen.

Nur so eine Idee! ;)

<FONT COLOR="#a62a2a" SIZE="1">[ 05. November 2001 09:04: Beitrag 1 mal editiert, zuletzt von RedBull ]</font>

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.