AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit einlesen von datei

Ein Thema von Dragon27 · begonnen am 8. Mär 2004 · letzter Beitrag vom 8. Mär 2004
Antwort Antwort
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#1

Problem mit einlesen von datei

  Alt 8. Mär 2004, 14:17
Hallo (mal wieder )

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!


Hoffe Ihr könnt mir helfen


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



P.s.: Die Dateien sind zum Teil sehr groß (2,5 Millionen Zeilen)
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Problem mit einlesen von datei

  Alt 8. Mär 2004, 14:27
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von obbschtkuche
obbschtkuche

Registriert seit: 3. Okt 2003
Ort: Neuwied
23 Beiträge
 
#3

Re: Problem mit einlesen von datei

  Alt 8. Mär 2004, 14:34
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
DB $EB, $FC
MfG, Flan
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 
#4

Re: Problem mit einlesen von datei

  Alt 8. Mär 2004, 14:39
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
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Problem mit einlesen von datei

  Alt 8. Mär 2004, 14:42
Zitat von himitsu:
Getestet
Streber.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:20 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