kostenloser Webspace werbefrei: lima-city


Datei Auslesen und Schreiben

lima-cityForumProgrammiersprachenDelphi & Pascal

  1. Autor dieses Themas

    freewareecke

    Kostenloser Webspace von freewareecke

    freewareecke hat kostenlosen Webspace.

    Hey Leute kann mir jemand helfen wie man Text Dateien öffnent und schreiben kann? Also es soll unter art Eigenschaften und dahinter kommt Wert kommen. Kann mir halt bei dem jemand helfen?

    Die Textdatei sollte folgend aussehen etwa:

    Name=\"Test\"
    Vormame=\"Hans Josef\"
    Stadt=\"Münster Max\"



    Kann einer von euch evtl mir ein Beispielprojekt machen oder den Code einfach zusammen machen? also es soll der inhalt aus Textfeldern gelesen werden und in Labelfelder eingetragen.

    Danke schon ma im vorraus
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    Also an und für sich ist das ganz einfach. Die Frage ist wohl, wie komfortabel willst du das haben, und welche Fehler willst du ausgrenzen?

    Je nachdem, wie gut du dich auskennst, würde ich folgende Möglichkeiten in Betracht ziehen:
    1.) Du kannst beispielsweise den Text in ein (nach Wahl unsichtbares) Memo-Feld geben, und mit der Methode TMemo.SaveToFile(\'C:\\testfile.txt\') abspeichern.
    2) Mit den Dateifunktionen AssignFile, Write/WriteLn, CloseFile arbeiten
    3) Mit den Dateifunktionen FileOpen, FileRead, FileWrite, CloseFile arbeiten.
    Sämtliches ist mit Beispielen in der Delphi-Hilfe zu finden! Ein fix fertiges Programm möchte ich hier nicht extra schreiben ... :slant: Probier mal, dann helf\' ich dir jederzeit weiter!:thumb:

    Achtung: Bei allen Möglichkeiten mußt du dich selbst um die Fehlerbehandlung kümmern (D.h. wenn die Datei schon existiert und überschrieben werden soll, ...)
  4. Autor dieses Themas

    freewareecke

    Kostenloser Webspace von freewareecke

    freewareecke hat kostenlosen Webspace.

    es soll an sich was ganz einfaches sein. also muss nicht besondert verschlüsselt oder so sein. also irgendwie fast wie ne ini datei aussehen. Aber ich guck mir das morgen mal an. aber vll hat jemand anders schon was, was er mir unter umständen hier rein stellen würde.

    MfG
    Michael
  5. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    Unter Verwendung von 1) ginge es so:

    ein TMemo auf der Form platzieren, Visible auf False setzen,
    Deinen Text ins Memo geben:
    Memo1.Lines.Clear;// erst löschen
    Memo1.Lines.Add(\'Name=\"Test\"\');
    Memo1.Lines.Add(\'Vormame=\"Hans Josef\"\');
    Memo1.Lines.Add(\'Stadt=\"Münster Max\"\');
    Memo1.SaveToFile(\'C:\\Testfile.txt\');//Oder Memo1.Lines.SaveToFile...

    Lesen:
    Memo1.LoadFromFile(\'C:\\TestFile.txt\');
    Dann eine Schleife, etwa:
    for i := 0 to (Memo1.Lines.Count-1) do
    begin
    St := Memo1.Lines;
    // mit dem String kannst du nun machen was du willst:
    // z.B.
    if UpperCase(Copy(St, 1, 4)) = \'NAME\' then ...
    else if ...
    end;

    Ansonsten 2)
    http://www.festra.com/eng/snip02.htm

    hth


    Beitrag geändert: 8.1.2008 22:59:27 von burgi
  6. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    Oder man erstellt gleiche eine richtige ini-Datei mit WritePrivateProfilestring() über die Windows API.

    Beispiele:
    http://www.michael-puff.de/Developer/Delphi/Tutorials/Win32API_Tutorials_pdf.pdf
    http://www.tsql.de/c_plus_plus/c++_ini_file_datei_schreiben.php
  7. l*******r

    burgi: Das ist definitiv nicht gut, was du da tust ;)

    Schön, es GEHT, das ist richtig...
    Aber elegant bzw. im Sinne des Erfinders ist das NICHT ;)
    Dann sollte man mit einer TStringList arbeiten:

    //Deklaration
    procedure SpeichereText(Text, Datei:string);
    var
      SL:TStringList;
    begin
    SL:=TStringList.Create;
    SL.Text:=Text;
    SL.SaveToFile(Datei);
    SL.Free;
    end;
    
    //Beispielaufruf:
    SpeichereText('Ich bin klein,'+#13#10
                 +'Mein Herz ist schmutzig,'+#13#10
                 +'Ich könnt'' schon wieder,'+#13#10
                 +'Ist das nicht putzig?', 'C:AUTOEXEC.BAT');


    Sollte man nicht 1:1 übernehmen ;)

    Edith: OK, man kann auch

    burgi schrieb:
    Mit den Dateifunktionen AssignFile, Write/WriteLn, CloseFile arbeiten
    3) Mit den Dateifunktionen FileOpen, FileRead, FileWrite, CloseFile arbeiten


    Ooooder auch gleich die Klasse TIniFile benutzen, cbhp:

    uses 
      (...), IniFile{s?};
    
    interface
    (...)
    
    var
      IF:TIniFile;
    
    begin
    IF:=TIniFile.Create;
    //Irgendwas halt ;)
    IF.Free;
    end;


    Beitrag geändert: 27.11.2008 22:18:18 von ldericher
  8. Zur TStringlist ist noch zu sagen, dass man auch durchaus mehrere Zeilen schreiben kann z.B. mit
    SL.Add(Text);
    SL.Add(mehrText);
    ...

    Das Problem ist, dass man dann beim lesen der Datei wieder alle Strings der TStringlist durchgehen
    muss. Für eine Textdatei mit dem Inhalt
    Name=Test
    Vorname=Hans Josef
    Stadt=Münster Max

    sähe die Funktion dafür aus wie folgt:
    function Lese(Text,Datei : string) : string;
    var
      SL:TStringList;
      i:Integer;
    begin
      SL:=TStringList.Create;
      SL.LoadFromFile(Datei);
      for i:=0 to Sl.Count-1 do
      begin
        if copy(Sl.Strings[i],1,length(Text))=Text then
        begin
          Result:=copy(Sl.Strings[i],length(Text)+2,length(Sl.Strings[i]))
        end;
      end;
    end;
    
    //Der Aufruf sähe dann so aus:
    Name:=Lese('Name','C:test.txt');
    //Die Variable Name hätte dann den Wert 'Test'



    Mit den Inifiles kann man sich das sparen.
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!