Einzelnen Beitrag anzeigen

mat72

Registriert seit: 15. Mär 2012
35 Beiträge
 
#1

Datei öffnen und Werte ausgeben funktioniert nicht

  Alt 24. Aug 2012, 15:29
Hi,
ich öffne eine Datei und will nur bestimmte Werte zur weiteren Verwendung nutzen.
Die Datei öffne ich in ein Memofeld, was auch funktioniert. Wenn ich jetzt Werte verwenden möchte, werden diese nicht angezeigt in Editfeldern.
Was mache ich verkehrt?
Vielen Dank für eure Hilfe.
Gruss
Matthias
Delphi-Quellcode:
unit BarBow;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, StdCtrls, ExtCtrls, Grids;

type
  TForm9 = class(TForm)
    Memo1: TMemo;
    Image2: TImage;
    StaticText1: TStaticText;
    MainMenu1: TMainMenu;
    MainMenu2: TMenuItem;
    OPen1: TMenuItem;
    Exit1: TMenuItem;
    Help1: TMenuItem;
    OpenDialog1: TOpenDialog;
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button2: TButton;
    Edit4: TEdit;
    procedure Exit1Click(Sender: TObject);
    procedure OPen1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form9: TForm9;
  filename : string;

implementation

{$R *.dfm}

procedure TForm9.Exit1Click(Sender: TObject);
begin
close();
end;

procedure TForm9.FormCreate(Sender: TObject);
begin
// Memo1.WordWrap := False;
// Memo1.Lines.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'Kurve.txt');
end;

procedure TForm9.OPen1Click(Sender: TObject); // liest Datei in Memofeld ein
var St,helpstring : string;
    F : TextFile;

begin
if OpenDialog1.Execute then
  begin
    filename:= OpenDialog1.FileName;
    AssignFile(F, OpenDialog1.FileName); // Datei auswählen
    Reset(F);
    while not eof (F) do
      begin
      Readln(F, helpstring); //Erste Zeile der Datei lesen
      St:=St + helpstring;
      Memo1.Text := St; //String in ein Memo schreiben
      end;
    CloseFile(F);
  end;
end;

procedure TForm9.Button1Click(Sender: TObject);
begin
close();
end;

procedure TForm9.Button2Click(Sender: TObject);
var s,s1,s2 : string;
    erstezeile,i,SuchZeile,p : integer;
begin
  ErsteZeile := Memo1.Lines.Count;

  for i:=0 to Memo1.Lines.Count -1 do
    if SameText(Memo1.Lines[i],'data1:') then
    begin
      ErsteZeile:=i+1;
      Edit4.Text:=IntToStr(ErsteZeile);
      Break;
    end;

  SuchZeile:=StrToIntDef(Edit1.Text,1);
  Edit1.Text:=IntToStr(SuchZeile); //Korrigieren wenn Fehler
  SuchZeile:=ErsteZeile+SuchZeile;

  s:=Memo1.Lines[SuchZeile];
  p:=Pos(#9,s); // #9 = Tab
  Delete(s,1,p); //löscht erstes Tab, d.h. bis vor erste Spalte

  p:=Pos(#9,s); // #9 = Tab
  Delete(s,1,p); //löscht bis ersten Tab, d.h. bis vor zweite Spalte
  p:=Pos(#9,s); // #9 = Tab
  Delete(s,1,p); //löscht bis zweiten Tab, d.h. bis vor dritte Spalte
  p:=Pos(#9,s); // #9 = Tab
  Delete(s,1,p); //löscht bis dritten Tab, d.h. bis vor dritte Spalte
  p:=Pos(#9,s); // #9 = Tab
  Delete(s,1,p); //löscht bis vierten Tab, d.h. bis vor dritte Spalte
  p:=Pos(#9,s); // #9 = Tab
  Delete(s,1,p); //löscht bis fuenften Tab, d.h. bis vor zweite Spalte
  p:=Pos(#9,s); // #9 = Tab
  Delete(s,1,p); //löscht bis sechsten Tab, d.h. bis vor dritte Spalte
  p:=Pos(#9,s); // #9 = Tab
  Delete(s,1,p); //löscht bis siebten Tab, d.h. bis vor dritte Spalte
  p:=Pos(#9,s); // #9 = Tab

  s1:=Copy(s,1,p); //kopiert bis achten Tab, d. h. zweite Spalte
  Delete(s,1,p); //löscht bis achten Tab, d.h. bis vor dritte Spalte

  p:=Pos(#9,s); // #9 = Tab
  s2:=Copy(s,1,p); //kopiert bis neunten Tab, d. h. zweite Spalte
  Delete(s,1,p); //löscht bis neunten Tab, d.h. bis vor dritte Spalte

  Edit2.Text:=Trim(s1);
  Edit3.Text:=Trim(s2);
end;

end.
  Mit Zitat antworten Zitat