AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Textdatei bearbeiten - der besete weg ?
Thema durchsuchen
Ansicht
Themen-Optionen

Textdatei bearbeiten - der besete weg ?

Ein Thema von Bit Juggler · begonnen am 7. Mär 2004 · letzter Beitrag vom 9. Mär 2004
Antwort Antwort
Bit Juggler
(Gast)

n/a Beiträge
 
#1

Textdatei bearbeiten - der besete weg ?

  Alt 7. Mär 2004, 22:05
Hi,
ich schreibe es mal in diese Sparte da es ja erst einmal nur eine Frage zum richtigen Lösungsweg ist.
Ich möchte eine Textdatei bearbeiten deren Aufbau immer gleich ist.
Die Datei wird von einem anderen Programm erstellt und verwendet als Seperator Anführungszeichen.
Mein Ziel ist es die Schreibweise in dieser Datei einheitlich zu machen und zwar nach folgendem Schema:
Erster Buchstabe im Wort ist immer Groß, alle anderen klein!

Hier mal ein Auszug aus der Datei:

Code:
"MasterBlaster","","DefJam-Records","HipHop","US","12345","","0","","","",""
so soll es aussehen!
Manchmal sieht es dann aber zb. so aus:
Code:
"MASterBLASTER","","DefJam-RECORDS","HIPHOP","US","12345","","0","","","",""
Was würdet ihr mir zum beachten der Schreibweise empfehlen ?
Ein Record ?
Oder einfach eine Funktion schreiben die beim einlesen der Datei alles überprüft?
Die Datei ist ziemlich groß, im Moment 127kb, und ich bin mir nicht sicher welche art bearbeitung die schnellste / sauberste ist.
Und so gut das ich schnell mal alle möglichen Wege ausprobiere bin ich noch nicht

Gruß Bit
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Textdatei bearbeiten - der besete weg ?

  Alt 8. Mär 2004, 06:22
Hai Bit Juggler,

das habe ich mal aus dem Kopf gemacht (also ungetestet!);

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
 sl1,
 sl2 : TStringList;
 ndx1 : Integer;

  function UpperLowerCase (const value : String) : String;
  var
   s_tmp1,
   s_tmp2 : String;
  begin
     s_tmp1 := AnsiLowerCase(value); // Alles in klein
     s_tmp2 := s_tmp1[1]; // Erstes Zeichen holen
     result := StuffString (s_tmp1,1,1,AnsiUpperCase (s_tmp2)); // Erstes Zeichen groß und ersetzen.
  end;

begin
  sl1 := TStringList.Create;
  sl2 := TStringList.Create;
  try
    sl1.Clear;
    sl1.LoadFromFile('mytext.csv'); // Datei Laden
    for ndx1 := 0 to sl1.Count -1 do
      begin
        sl2.clear;
        sl2.Delimiter := ','; // Trennzeichen
        sl2.QuoteChar := '"'; // Quotingzeichen
        sl2.DelimitedText := sl1.Strings[ndx1];
        sl2.Strings[0] := UpperLowerCase(sl2.Strings[0]) // Umwandlung 1. Wort
        sl2.Strings[2] := UpperLowerCase(sl2.Strings[2]) // Umwandlung 3. Wort.
        sl2.Strings[3] := UpperLowerCase(sl2.Strings[3]) // Umwandlung 4. Wort.
        sl1.Strings[ndx1] := sl2.DelimitedText ; // Formatierenstring zurückschreiben
      end;
    sl1.SaveToFile('mytext_neu.csv'); // Datei speichern
  finally
    FreeAndNil (sl1);
    FreeAndNil (sl2);
  end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Bit Juggler
(Gast)

n/a Beiträge
 
#3

Re: Textdatei bearbeiten - der besete weg ?

  Alt 8. Mär 2004, 20:21
Hi Sharky,
danke für Deine Hilfe funktioniert einwandfrei!
Von StuffString hab ich bis heute noch nie was gehört

Leider kommt das ganze wohl doch nicht so für mich in Frage denn wenn ein Name aus mehreren einzelnamen besteht dann habe ich dann das Ergebniss:
"Hans mustermann" anstatt "Hans Mutermann".
Naja aber anhand Deines Listings hab ich ja einen ansatz den ich ausbauen kann.
Nur ob das in anbetracht der vielen Schreibmöglichkeiten überhaupt möglich ist...
Nun ja wir werden sehen

Gruß Bit

P.S.
Lehrreich war das ganze aber auf alle Fälle, besonderst die Stringlisten biete einige sehr intressante Funktionen.
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#4

Re: Textdatei bearbeiten - der besete weg ?

  Alt 9. Mär 2004, 12:41
Die Stringliste hat allerdings einen Nachteil: bei größeren Text-Dateien funktioniert sie leider nicht mehr. Ich habe hier in der Schule leider kein delphi und kann dir nicht sagen, ab wann sie schlapp macht.

Aber ich denke für eine normal große Textdatei reicht's vollkommen
Eine alternative wäre einfach mit den alten Befehlen zu arbeiten und bis zum EOF die Datei auslesen...
Alexander
  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 00:31 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