AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Absätze aus Text.csv zwischen Semikolons entfernen
Thema durchsuchen
Ansicht
Themen-Optionen

Absätze aus Text.csv zwischen Semikolons entfernen

Ein Thema von moperswings · begonnen am 8. Dez 2006 · letzter Beitrag vom 8. Dez 2006
Antwort Antwort
moperswings

Registriert seit: 27. Mai 2004
Ort: Bad Sooden-Allendorf
240 Beiträge
 
Delphi 6 Professional
 
#1

Absätze aus Text.csv zwischen Semikolons entfernen

  Alt 8. Dez 2006, 10:39
Hallo an ALLE!

Der Inhalt mehrerer Memos soll zwischen Semikolons in einer *.csv gespeichert werden.
Wenn aber in einem Memofeld ein Absatz gemacht wird, wird dieser Absatz auch in der *.csv gespeichert - und das geht natürlich nicht, weil ja sonst meine Stuktur der Datei kaputt geht und ich so den Inhalt nicht mehr in eine db einlesen kann.
Also dachte ich mir, ich zähle die Semikolons und zwischen zwei Semikolons werden die Absätze rausgenommen, bevor die nächsten Daten in die Datei geschrieben werden. Die einzelnen Programmteile für sich funktionieren, nur wenn ich alles zusammenfüge, läuft es nicht - und ich sehe nicht, warum. Wahrscheinlich gibt es auch eine einfachere Lösung und meine ganze Struktur ist generell falsch.
Vielleicht kann mir ja jemand helfen...
Viele Grüsse, moperswings

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
        f: textfile;
        wert_memo: string;
        filename: string;
        i: integer;
        semikolon: integer;
        absatz: TStringlist;
begin
        filename := 'datensatz.csv';
        assignfile(f, filename);
        {i-}
        append(f);
        {i+}
        if IOResult <> 0 then begin
        showmessage('Fehler!');
        exit;
        end;
        wert_memo := memo1.Text;
        writeln(f,';' + memo1.text + ';' );
        closefile(f);
        
        // Datei wird geöffnet um die Absätze zu überprüfen
        filename := 'datensatz.csv';
        assignfile(f, filename);
        reset(f);
        // Semikolon zählen
        semikolon := 1;
        for i:=1 to length(filename)
        do begin
           if filename[i] in [';'] then begin
           //Absätze rausnehmen
           absatz := tstringlist.create;
           absatz.LoadFromFile('datensatz.csv');
           absatz.Text := stringreplace (absatz.Text,#13#10,'',[rfreplaceall]);
           absatz.SaveToFile('datensatz.csv');
           semikolon := semikolon + 1;
           end;
           // Semikolons sind gezählt

           if semikolon = 2 then begin
           // Mit Label wird getestet
           label1.caption := inttostr(semikolon);
           end;
        end;
        closefile(f);
        
end;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Absätze aus Text.csv zwischen Semikolons entfernen

  Alt 8. Dez 2006, 10:42
Ersetzte doch die LineFeed-Steuerzeichen bevor du sie in die csv schreibst.
Markus Kinzler
  Mit Zitat antworten Zitat
moperswings

Registriert seit: 27. Mai 2004
Ort: Bad Sooden-Allendorf
240 Beiträge
 
Delphi 6 Professional
 
#3

Re: Absätze aus Text.csv zwischen Semikolons entfernen

  Alt 8. Dez 2006, 12:59
Im Memo einfach das wantreturns abschalten!
Dass Leben kann so einfach sein!
Schönes Wochenende
moperswings
  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 22:47 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