AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein CSV Header auslesen und mit Stringgridspalte vergleichen
Thema durchsuchen
Ansicht
Themen-Optionen

CSV Header auslesen und mit Stringgridspalte vergleichen

Ein Thema von NickD · begonnen am 16. Nov 2012 · letzter Beitrag vom 27. Nov 2012
Antwort Antwort
NickD

Registriert seit: 10. Okt 2012
Ort: Burgsinn
53 Beiträge
 
Delphi 10.3 Rio
 
#1

CSV Header auslesen und mit Stringgridspalte vergleichen

  Alt 16. Nov 2012, 12:39
Hallo
komme gleich zu meinem Problem:
Ich habe eine CSV Datei mit Header Zeile und möchte die Headerzeile mit einer Spalte aus einem Stringgrid vergleichen. Wie macht man das am einfachsten?

CSV aufbau zb: Test1; Test2; Test3; <-- Header
300;bla;bla

Stringgrid: 2 Spalten, eine Zeile Header und ab 2. Spalte 2. Zeile abwärts soll er mit CSV Header vergleichen.
Version: Delphi XE2.
mfg Nick
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: CSV Header auslesen und mit Stringgridspalte vergleichen

  Alt 16. Nov 2012, 12:41
Was meinst du mit Vergleichen? Auf das Vorhandensein der Spalten oder um den Inhalt abzugleicehn?
Markus Kinzler
  Mit Zitat antworten Zitat
NickD

Registriert seit: 10. Okt 2012
Ort: Burgsinn
53 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: CSV Header auslesen und mit Stringgridspalte vergleichen

  Alt 16. Nov 2012, 12:47
Es soll der Inhalt verglichen werden.
mfg Nick
  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 Header auslesen und mit Stringgridspalte vergleichen

  Alt 16. Nov 2012, 12:51
Gar nicht, da das StringGrid nur zur Visualisierung und nicht zur Datenspeicherung genutzt wird.

Also erfolgt die Überprüfung mit den hinter dem StringGrid liegenden Daten.
Und da kann man sich ja was ganz tolles basteln.
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
NickD

Registriert seit: 10. Okt 2012
Ort: Burgsinn
53 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: CSV Header auslesen und mit Stringgridspalte vergleichen

  Alt 16. Nov 2012, 12:54
Es liegt eine ini-Datei vor deren Werte Die 2. Spalte des Stringgrids befüllen dh. ich muss die CSV mit den Werten der ini vergleichen?
mfg Nick
  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 Header auslesen und mit Stringgridspalte vergleichen

  Alt 16. Nov 2012, 13:37
Es liegt eine ini-Datei vor deren Werte Die 2. Spalte des Stringgrids befüllen dh. ich muss die CSV mit den Werten der ini vergleichen?
mfg Nick
Jo.

Und wenn du das besonders schick und einfach haben möchtest, dann schreibst du dir ein Klassenkonstrukt wo du auf beide Varianten gleich zugreifen kannst
Delphi-Quellcode:
type
  TDataStruct = class abstract
  protected
    function GetHeader( Column : integer ) : string; virtual; abstract;
    function GetValue( Column : Integer; Row : Integer ) : string; virtual; abstract;
    function GetRowCount : Integer; virtual; abstract;
    function GetColumnCount : Integer; virtual; abstract;
  public
    property Header[Column:Integer] : string read GetHeader;
    property Value[Column, Row : Integer] : string GetValue;
    property RowCount : Integer read GetRowCount;
    property ColumnCount : Integer read GetColumnCount;
  end;

  TCSVDataStruct = class( TDataStruct )
  protected
    function GetHeader( Column : integer ) : string; override;
    function GetValue( Column : Integer; Row : Integer ) : string; override;
    function GetRowCount : Integer; override;
    function GetColumnCount : Integer; override;
  public
    constructor Create( ACSVFileName : string );
  end;

  TIniDataStruct = class( TDataStruct )
  protected
    function GetHeader( Column : integer ) : string; override;
    function GetValue( Column : Integer; Row : Integer ) : string; override;
    function GetRowCount : Integer; override;
    function GetColumnCount : Integer; override;
  public
    constructor Create( AIniFilename : string );
  end;
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
NickD

Registriert seit: 10. Okt 2012
Ort: Burgsinn
53 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: CSV Header auslesen und mit Stringgridspalte vergleichen

  Alt 27. Nov 2012, 11:47
Könnten Sie mir das nochmal genauer erklären? Bin noch nicht sehr lange in Delphi dabei. Würde mich über Hilfe freuen.
mfg Nick
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

AW: CSV Header auslesen und mit Stringgridspalte vergleichen

  Alt 27. Nov 2012, 13:06
Sir Rufo hat den Entwurf für zwei Klassen skizziert, die CSV und INI-dateien lesen können und nach außen hin den header der x.Spalte und den Wert der X.Spalte,Y.zeile liefern können.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  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 21:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz