Announcement

Collapse
No announcement yet.

mehrzeiligen text ersetzen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • mehrzeiligen text ersetzen

    Hallo,

    ich programmiere ja ein tool, welches fehler in einer dfm-datei behebt! das beheben der fehler ist meistens dass ersetzen von mehrzeiligem text!

    ich möchte nun im programm einige zu ersetzende texte fest speichern! soll ich die texte in textdateien speichern, auf konstanten speichern oder wie würdet ihr das machen?

    gruß

    markus
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

  • #2
    Damit man bei Änderungen nicht immer alles neu übersetzen mußt, würde ich die Texte zeilenweise in eine ASCII-Datei schreiben und dann vor dem eigentlichen Programmstart einlesen und in ein array schreiben

    Comment


    • #3
      hi josef,

      wie würdest du den beginn bzw. das ende eine texte kennzeichen? und wie die einlese-routine schreiben.
      vielleicht kannst mal ein kleines beispiel machen!

      gruß
      marku
      Herzliche Grüße

      Markus Lemcke
      barrierefreies Webdesign

      Comment


      • #4
        hi markus,

        okay, hier zunächst mal eine routine um eine datei in einen buffer (Buffer: globale Variable) zu lesen:

        function ReadBuffer: boolean;
        var
        hd: hfile;
        nBytesRead: LongWord;
        f: file of Byte;
        size : Longint;
        filename: string;
        begin
        filename := 'c:\texte.dat';

        //Filegröße feststellen
        AssignFile(f, PChar(filename));
        Reset(f);
        size := FileSize(f);
        CloseFile(f);
        //Speicher allokieren
        Buffer:=AllocMem(size);

        //Datei öffnen und einlesen
        hd := CreateFile( PChar(filename) , GENERIC_READ,
        0 {share}, nil{security}, OPEN_EXISTING, 0 {attributes}, 0 );

        ReadBuffer:=ReadFile(hd, Buffer^, size, nBytesRead, nil);
        CloseHandle(hd);
        end;

        Mit dem Aufruf dieser Routine liest du die komplette Datei (hier als Beispiel texte.dat) in einem Rutsch ein. Nun mußt du dir lediglich noch ein Zeichen als Grenze zwischen den einzelnen Texten ausdenken, welches üblicherweise nicht in geschriebenen Texten vorkommt. Wenn du im Buffer nach diesem Zeichen suchst, kannst du deine Texte trennen und in dafür vorgesehene Variablen kopieren.

        Gruß

        Jose

        Comment


        • #5
          danke josef
          Herzliche Grüße

          Markus Lemcke
          barrierefreies Webdesign

          Comment

          Working...
          X