Announcement

Collapse
No announcement yet.

Stringlisten bearbeiten bzw. in eine Tabelle zur weiteren Bearbeitung ....

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

  • Stringlisten bearbeiten bzw. in eine Tabelle zur weiteren Bearbeitung ....

    Hallo,
    <p>
    das Thema wurde schon einmal von Marco E. angesprochen. Leider kann ich mit ihrem Verweis auf die Hilfe wenig anfangen, Herr Kosch.
    <p>
    Ausgangspunkt bei mir ist eine Text-Datei, gefüllt mit Strings nach folgendem Schema:
    <p>
    604430 51 01 47,33309 13 43 46,56955 201,164 2,00 <br>
    604440 51 01 47,33202 13 43 46,56924 201,152 2,00 <br>
    604450 51 01 47,33309 13 43 46,56652 201,027 2,00 <br>
    ...
    <p>
    Zuerst muss ich noch die Kommas entfernen. Das geht doch sicher mit suchen und ersetzen? Oder wie besser?
    Dann möchte ich alle Werte in eine Tabelle ablegen. das Problem ist jetzt für mich:
    Welche Möglichkeit gibt es, um eine Tabelle überhaupt zu erzeugen, und wie lese ich die Werte ein.
    Mein erster Gedanke war nach Leerzeichen zu suchen, und dadurch die einzelnen Zahlen voneinander zu trennen. Bloß wie macht man es bei den Zahlen, vor denen zwei Leerzeichen sind?
    Wie kann ich z.Bsp. die nicht benötigte 2,0 am Ende "abschneiden", da ich sie nicht benötige (Ist immer gleich)?
    <p>
    Das ist jetzt zwar ein wenig viel auf einmal, aber ich hoffe ihr könnt mir da weiterhelfen.
    <p>
    Vielen Dank, schon mal im Voraus
    <p>
    Franziska

  • #2
    Hallo Delphianer,<p>

    hat denn keiner von euch wenigsten einen kleinen Rat für mich???
    <p>
    Wer mir im dem Punkt mit der Übergabe in eine Tabelle einen Ratschlag geben könnte, würde mir sehr helfen.
    <p>
    Danke, Franz

    Comment


    • #3
      Hallo Franziska,<p>

      nur Geduld, hier kommt schon mal eine Antwort. Allerdings solltest du schon genauer erklären in was für eine Tabelle du die Daten einlesen willst. In eine Tabelle die in einem Fenster angezeigt wird oder in eine Datenbanktabelle oder in was?<p>

      Um die Daten in einem Formular anzuzeigen könntest du ein TStringGrid-Objekt verwenden. Vorgehen würde ich so:<br>
      Die Daten aus der Datei in ein TStringList-Objekt einlesen.<p>

      var<br>
      Liste: TStringList;<p>

      Liste := TStringList.Create;<br>
      Liste.LoadFromFile('Pfad/Dateiname');<p>

      Über die Eigenschaft Strings erhältst du Zugriff auf jede einzelne Zeile der Datei. Mit der Funktion nthword() (in Unit Psock) kannst du die einzelnen Spalten verarbeiten. Die Kommas kannst du mit folgender Funktion entfernen:<p>

      <pre>function RemoveChar(Str: String; Zeichen: Char): String;
      var
      I: Integer;
      begin
      Result := '';
      for I := 1 to Length(Str) do begin
      if Str[I] <> Zeichen then begin
      Result := Result + Str[I];
      end;
      end;
      end;</pre>

      In einer Schleife könntest du Zeile für Zeile abarbeiten und die Werte aus den Spalten sofort den Zellen im StringGrid zuweisen. Etwa sodas StringGrid-Objekt heißt 'Tabelle'. Die Anzahl der Spalten ist 8, wenn ich richtig gezählt habe.)<p>

      <pre>procedure TForm1.Button1Click(Sender: TObject);
      var
      Liste: TStringList;
      X,Y: Integer;
      begin
      Liste := TStringList.Create;
      Liste.LoadFromFile('daten.txt');
      Tabelle.RowCount := Liste.Count;
      for Y := 0 to Liste.Count - 1 do begin
      for X := 0 to 7 do begin
      case X of
      3,6,7: Tabelle.Cells[X, Y] := RemoveChar(NthWord(Liste.Strings[Y], ' ', X + 1), ',');
      else Tabelle.Cells[X, Y] := NthWord(Liste.Strings[Y], ' ', X + 1);
      end;
      end;
      end;
      end;</pre><p>

      Die 2,00 in der 9. Spalte werden einfach ignoriert.<p>

      Falls es das ist was du möchtest und du das Beispiel als Delphi 5 Projekt möchtest, dann schreibe eine kurze Mail an [email protected] und schicke es dir zu.<p>

      Wolfgang Roller<br&gt

      Comment


      • #4
        Hallo Wolfgang,

        tut mir leid, mich nicht deutlich genug ausgedrückt zu habe. Wußte ja auch noch nicht so richtig wohin ich wollte, und was möglich ist.
        <p>
        Die Datenbanktabelle ist schon das, was ich suche. So kann ich ja die Daten getrennt von der Ausgangsdatei speichern und denke mal auch besser auswerten. Welche Form von einer Datenbanktabelle bietet sich da an?
        <p>
        Vielen Dank,
        <p>
        Franzisk

        Comment

        Working...
        X