AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

csv read

Ein Thema von value is NULL · begonnen am 29. Sep 2010 · letzter Beitrag vom 5. Okt 2010
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.658 Beiträge
 
Delphi 12 Athens
 
#1

AW: csv read

  Alt 29. Sep 2010, 10:56
Delphi-Quellcode:
var
  csvreader : TCsvReader;
  sData : TFilestream;
  sList: TStringList;
  i : integer;

begin
  sData := TFilestream.Create('M:\modules Delphi\CSVreader\config.csv',fmopenread);
  try
    csvReader := TCSVReader.Create (sData, ';');
    try
      sList := TStringList.Create;
      try
        csvReader.First;
        while not csvreader.Eof do begin
          //nur Firma 'A'
          if csvreader.Columns[0] = 'Athen
            sList.Add(Format('Channel %s = MAC %s',[csvreader.Columns[1],csvreader.Columns[2]));
          csvreader.Next;
        end;
        sList.SaveToFile(<Dateiname>); //hier Dateinamen eintragen
      finally
        sList.Free;
      end;
    finally
      csvreader.Free;
    end;
  finally
    sdata.Free;
  end;
end.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: csv read

  Alt 29. Sep 2010, 11:20
Warum so kompliziert, wenn es doch so schön einfach geht:
Delphi-Quellcode:
  var
    con : TADOConnection;
    qry : TADOQuery;
    MyFile : string;
  begin
    MyFile := 'M:\modules Delphi\CSVreader\config.csv';
    con := TADOConnection.Create( nil );
    try
      con.ConnectionString := 'Driver={Microsoft Text-Treiber (*.txt; *.csv)};Extensions=asc,csv,tab,txt;';
      con.LoginPrompt := False;
      con.DefaultDatabase := ExtractFileDir( MyFile );
      con.Open;
      try
        qry := TADOQuery.Create( con );
        qry.Connection := con;
        qry.SQL.Text := Format( 'SELECT * FROM %s WHERE Firma = %s', [ ExtractFileName( MyFile ), QuotedStr( 'A' ) ] );
        qry.Open;
        try
          while not qry.Eof do
            begin
              // Verarbeitung der Daten z.B. mit qry.FieldByName( 'Firma' ).AsString
              qry.Next;
            end;
        finally
          qry.Close;
        end;
      finally
        con.Close;
      end;
    finally
      con.Free;
    end;
  end;
Es wird in dem Verzeichnis mit den Daten aber auch noch die Datei schema.ini benötigt
In deinem Fall sollte folgender Inhalt genügen
Code:
[config.csv]
Format=Delimited(;)
Man könnte alternativ die Daten auch mit TADOTable auslesen und dann einen Filter setzen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Tossi65

Registriert seit: 5. Mär 2005
21 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: csv read

  Alt 29. Sep 2010, 11:39
@Sir Rufo
Das ist ja geil!! Man lernt nie aus. Muss man bei dieser Methode auf
irgendeine MSDac Version achten oder ist es Basisbestandteil von ADO??

Danke Torsten
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: csv read

  Alt 29. Sep 2010, 11:42
Das ist eine gute Frage ... ich halte es da wie die Hummel ... ich mach es einfach und es klappt

Bisher hatte ich bei keiner Windows-Version damit Probleme (selbst nackig installierte Systeme)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Tossi65

Registriert seit: 5. Mär 2005
21 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: csv read

  Alt 29. Sep 2010, 11:47
Danke
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: csv read

  Alt 29. Sep 2010, 11:49
Vielleicht sollte ich zur weiteren Erheiterung erwähnen, dass auch SQL-Befehle wie UNION und JOIN benutzt werden können
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
551 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: csv read

  Alt 5. Okt 2010, 09:14
Huch,

da hab ich auch mal wieder dazugelernt. Danke!
Ansgar
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz