AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi probleme mit leerzeichen beim csv einlesen.
Thema durchsuchen
Ansicht
Themen-Optionen

probleme mit leerzeichen beim csv einlesen.

Ein Thema von agm65 · begonnen am 14. Nov 2006 · letzter Beitrag vom 14. Nov 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#1

probleme mit leerzeichen beim csv einlesen.

  Alt 14. Nov 2006, 11:49
hallo leute, habe folgendes problem.
ich benutze um eine csv einzulesen folenden code von mkinzle.

Delphi-Quellcode:
var
   zeilennr: integer;
   DateiName, Zeile: String;
   F: TextFile;

begin

   OpenDialog.Execute; // Das Ergebnis steht in FileName
// ShowMessage(OpenDialog1.FileName);
   DateiName := OpenDialog.FileName; //Der Pfad wird in die Datei gestellt
   txtfilename.Text := DateiName;

   // ShowMessage(DateiName);
   sl:=TStringList.Create; //Objekt erzeugen
   sl.Delimiter := ';';
   try
      //sl.LoadFromFile(DateiName); //Datei in Stringliste laden
      AssignFile(F, OpenDialog.FileName);
      Reset(F);
      Readln(F, Zeile); //Erste Zeile laden
      sl.DelimitedText := Zeile; //Zeile der StringListe zuweisen, nun kann man mit der Eigenschaft Count die Anzal der Spalten auslesen, die Spaltenname sthen dann in der Stringliste

      //sl.Strings[0] enthält Namen erste Spalte usw.

     While not Eof(F) do //Daten laden
      begin
         Readln(F, S);
         Edit1.Text := S;

         sl.DelimitedText := s; // Datenzeile wird in Stringliste geschrieben -< Auslesen wie Kopfspalte

      end;


   finally


      //
      //sl.free; //Objekt wieder freigeben
      edit2.Text := inttostr(sl.count);
end;
die liesst auch wunderbar alles in die stringliste. wenn jetzt aber leerzeichen vorkommen, dann schreibt er pro leerzeichen 1 neue zeile, was kann ich dagegen machen ?
euer Peter Porka
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: probleme mit leerzeichen beim csv einlesen.

  Alt 14. Nov 2006, 11:58
-Die Felder in der CSV Quoten
-Leerzeichen temporär ersetzen.
Markus Kinzler
  Mit Zitat antworten Zitat
smudo

Registriert seit: 6. Sep 2005
Ort: Cottbus
362 Beiträge
 
Delphi XE2 Professional
 
#3

Re: probleme mit leerzeichen beim csv einlesen.

  Alt 14. Nov 2006, 12:00
Das ist eine ziemlich unangenehme Eigenschaft von DelimitedText. Das läßt sich m.E. nur durch Überschreiben der Methode lösen.

René
  Mit Zitat antworten Zitat
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#4

Re: probleme mit leerzeichen beim csv einlesen.

  Alt 14. Nov 2006, 12:04
hmm was hättet ihr für einen vorschlag, alle leerzeichen durch zB |$| oder sowas zu ersetzen und später wieder rückgänig zu machen. weil auf die csv dateien habe ich keinen einfluss.
euer Peter Porka
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: probleme mit leerzeichen beim csv einlesen.

  Alt 14. Nov 2006, 12:19
Zitat von agm65:
hmm was hättet ihr für einen vorschlag, alle leerzeichen durch zB |$| oder sowas zu ersetzen und später wieder rückgänig zu machen. weil auf die csv dateien habe ich keinen einfluss.
das meinte ich mit Leerzeichen temporär zu ersetzen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#6

Re: probleme mit leerzeichen beim csv einlesen.

  Alt 14. Nov 2006, 12:27
ach das nervt, jetzt kann ich für jeden string den ich da raus bekomme eine rückaction machen.
euer Peter Porka
  Mit Zitat antworten Zitat
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#7

Re: probleme mit leerzeichen beim csv einlesen.

  Alt 14. Nov 2006, 12:35
also ich wandel jetzt die leerzeichen in ° um, so:

Delphi-Quellcode:
while Pos(' ', s) > 0 do
s[Pos(' ', s)] := '°';
kann ich jetzt innerhalb der stringliste die einzelnen strings wieder ändern ?

Delphi-Quellcode:
for I := 0 to sl.Count - 1 do
begin
while Pos('°', sl.Strings[i]) > 0 do
sl.Strings[i][Pos('°', sl.Strings[i])] := ' ';
end;

das geht leider nicht ..jemand eine idee ?
euer Peter Porka
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: probleme mit leerzeichen beim csv einlesen.

  Alt 14. Nov 2006, 12:39
Versuchs mal mit StringReplace
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#9

Re: probleme mit leerzeichen beim csv einlesen.

  Alt 14. Nov 2006, 12:40
dann für den einzelnden string ? oder für die sl ?
euer Peter Porka
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

Re: probleme mit leerzeichen beim csv einlesen.

  Alt 14. Nov 2006, 12:43
Guck dir mal ExplodeExplode in der Code-Lib an.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:11 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