AGB  ·  Datenschutz  ·  Impressum  







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

Probleme bei CSV zu StringGrid

Ein Thema von BasicX · begonnen am 26. Apr 2009 · letzter Beitrag vom 27. Apr 2009
Antwort Antwort
BasicX

Registriert seit: 19. Sep 2007
Ort: Celle
30 Beiträge
 
Delphi 2007 Professional
 
#1

Probleme bei CSV zu StringGrid

  Alt 26. Apr 2009, 23:32
Moin,
Ich habe folgende Prozedur gebastelt und bin (nach langem Versuchen) auf folgende Lösung gekommen:

Code:
procedure TForm9.Timer1Timer(Sender: TObject);
Var
  I,A : Integer;
  fields: Array of Array of String;
  fieldsTemp: TStringList;
begin
  Memo1.Lines.LoadFromFile(--irgend eine CSV-);
  if Memo1.Lines.Count > 0 then
  begin
    for I := 0 to Memo1.Lines.Count - 1 do
    begin
      fieldsTemp := TStringList.Create;
      fieldsTemp := Split(Memo1.Lines.Strings[I],';');
      Stringgrid1.RowCount := Memo1.Lines.Count+1;
      StringGrid1.ColCount := fieldsTemp.Count;
      SetLength(fields,Memo1.Lines.Count-1);
      for A := 0 to fieldsTemp.Count - 1 do
      begin
        if Memo1.Lines.Count < 1 then
        begin
//        Application.MessageBox(Pchar(inttostr(Memo1.Lines.Count)),'Wert');
          SetLength(fields[I],Memo1.Lines.Count+1);
//        SetLength(fields[I],Memo1.Lines.Count);
          fields[I,A] := fieldsTemp.Strings[A];
          StringGrid1.Cells[A,I+1] := fields[I,A];
        end;
      end;
    end;
  End;
end;
Nur kommt beim 2. oder 3. Durchlauf eine Zugriffsverletzung(ohne veränderung des CSV inhaltes), und ich habe keinen Schimmer, woher die kommen kann...
Ich hab heute irgendwie voll die Denkblokade

Gruß Christian
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#2

Re: Probleme bei CSV zu StringGrid

  Alt 26. Apr 2009, 23:36
Hat das einen besonderen Grund, dass du jedesmal die Länge von fields, obwohl sie durch count schon feststeht, neu setzt? Außerdem meine ich, dass das bei dynamischen mehrdimensionalen Arrays irgendwas zu beachten gab... nur was war das noch?
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
BasicX

Registriert seit: 19. Sep 2007
Ort: Celle
30 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Probleme bei CSV zu StringGrid

  Alt 26. Apr 2009, 23:55
Ok, das mit der Denkblockade hat bestätigt
ich hatte gleich 2 Fehler eingebaut:

Code:
      for A := 0 to fieldsTemp.Count -1 do
      begin
        if Memo1.Lines.Count > 1 then // <== größer ist doch besser als kleiner
        begin
und
Code:
SetLength(fields,fieldsTemp.Count); //dann auch noch verdrehte Setlength
naja, jetzt funktioniert es erstmal
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.346 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Probleme bei CSV zu StringGrid

  Alt 27. Apr 2009, 01:47
Hallo, was hast du denn gegen die im Forum vorgestellten fertigen Lösungen?
http://www.delphipraxis.net/internal...t.php?p=203688
http://www.delphipraxis.net/internal...t.php?t=130402

Was du bei dir nämlich nicht beachtet hast ist, wenn z.B. ; in den Einzelstrings vorkommen und der String mit Anführungszeichen abgegrenzt ist:
Code:
Ein String;"Noch ein String mit ; drin";Noch ein weiterer String
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

Re: Probleme bei CSV zu StringGrid

  Alt 27. Apr 2009, 13:13
Hallo,

wo gibst Du die fieldsTemp := TStringList.Create; frei?
Musst Du das wirklich pro Zeile machen, reicht nicht einmalig?
  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 15:44 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