Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit einlesen von datei (https://www.delphipraxis.net/17685-problem-mit-einlesen-von-datei.html)

Dragon27 8. Mär 2004 14:17


Problem mit einlesen von datei
 
Hallo (mal wieder :wink: )

Boah ich kann echt nimmer! Ich probier jetzt scho ein paar Tage an dieser Procedure rum:

Delphi-Quellcode:
Var
  flStrList: TStringList;
  FileName: String;
  Zahl, StartPos: Integer;
  istartpos:integer;
Begin
  If Not form1.opendialog1.Execute Then Exit;
  FileName := form1.OpenDialog1.FileName;

  flStrList := TStringList.Create;

  Try
    flStrList.LoadFromFile(FileName); // Bis hierher ladet er die Datei (Kein Problem)
    Zahl := -1;
    While Zahl < pred(flStrList.Count) Do
    Begin
      inc(Zahl)
           iStartPos := Pos(#32, flStrList[Zahl]); // Ab hier beginnt das Problem
   while flStrList[Zahl][iStartPos] = #32 do inc(iStartPos);

      flStrList[Zahl] := Copy(flStrList[Zahl], StartPos, Length(flStrList[Zahl]));
    End;  // und dich denke hier endet es *g*
    form1.SynMemo1.Lines.Assign(flStrList);
  Finally
    FreeAndNil(flStrList);
  End;
  abfrageform.hide;
end;
Also, ich soll nun schon seit ein paar tagen diese Procedure fertig bekommen aber es geht nicht *heul*
Ich hab des Problem jetzt zwar schon öfters hier aufgeführt jedoch nicht mit dem erwarteten erfolg (meine schuld, habs schlecht erklärt)

also ich bekomme solche Dateien: (_ = Leerzeichen)
Zitat:


1______Irgend ein Text
2__________Irgend ein Text
10_____________________irgend ein Text
110____Irgendein Text
und aus dieser Datei soll beim Laden dass hier werden:

Zitat:

Irgendein Text
Irgendein Text
Irgendein Text
Irgendein Text

Ich weiß ehrlich nimmer was an der oberen Procedure falsch ist! :wall:


Hoffe Ihr könnt mir helfen


Danke!!!!!!!!!!!!!



P.s.: Die Dateien sind zum Teil sehr groß (2,5 Millionen Zeilen)

Luckie 8. Mär 2004 14:27

Re: Problem mit einlesen von datei
 
Delphi-Quellcode:
var
  sl, sl2: TStringList;
  Loop: Cardinal;
  s: String;
begin
  if OpenDialog1.Execute then
  begin
    sl := TStringlist.Create;
    sl2 := TStringlist.Create;
    try
      sl.LoadFromFile(OpenDialog1.Filename);
      for Loop := 0 to sl.Count - 1 do
      begin
        s := StringReplace(sl.Strings[Loop], ' ', '' [srReplaceAll]);
        sl2.Add(s);
      end;
      sl2.SaveToFile(OpenDialog1.Filename+'.foo');
    finally
      FreeAndNil(sl);
      FreeAndNil(sl2);
    end;
end;
Ungetestet.

obbschtkuche 8. Mär 2004 14:34

Re: Problem mit einlesen von datei
 
So ists kürzer:

Delphi-Quellcode:
var
  sl: TStringList;
begin
  if OpenDialog1.Execute then
  begin
    sl := TStringlist.Create;
    try
      sl.LoadFromFile(OpenDialog1.Filename);
      sl.Text := StringReplace(sl.Text, ' ', '', [rfReplaceAll]);
      sl.SaveToFile(OpenDialog1.Filename+'.foo');
    finally
      FreeAndNil(sl);
    end;
  end;
end;
Aber auch ungetestet :mrgreen:

himitsu 8. Mär 2004 14:39

Re: Problem mit einlesen von datei
 
Delphi-Quellcode:
var
  sl, sl2: TStringList;
  Loop: Cardinal;
  s: String;
begin
  if OpenDialog1.Execute then
  begin
    sl := TStringlist.Create;
    sl2 := TStringlist.Create;
    try
      sl.LoadFromFile(OpenDialog1.Filename);
      for Loop := 0 to sl.Count - 1 do
      begin
        s := sl.Strings[Loop];
        sl2.Add(Trim(Copy(s, Pos(' ', s), Length(s))));
      end;
      sl2.SaveToFile(OpenDialog1.Filename+'.foo');
    finally
      FreeAndNil(sl);
      FreeAndNil(sl2);
    end;
  end;
end;
oder mit nur einer Stringlist:
Delphi-Quellcode:
var
  sl: TStringList;
  Loop: Cardinal;
  s: String;
begin
  if OpenDialog1.Execute then
  begin
    sl := TStringlist.Create;
    try
      sl.LoadFromFile(OpenDialog1.Filename);
      for Loop := 0 to sl.Count - 1 do
      begin
        s := sl.Strings[Loop];
        sl.Strings[Loop] := Trim(Copy(s, Pos(' ', s), Length(s)));
      end;
      sl.SaveToFile(OpenDialog1.Filename+'.foo');
    finally
      FreeAndNil(sl);
    end;
  end;
end;
Getestet

Luckie 8. Mär 2004 14:42

Re: Problem mit einlesen von datei
 
Zitat:

Zitat von himitsu
Getestet

Streber. :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 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