Einzelnen Beitrag anzeigen

gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#1

Fehler beim Laden einer Textdatei

  Alt 16. Jul 2009, 15:23
hey,
ich muss schon wieder fragen wie etwas geht ^^
also wenn ich es mit debugger ausführe bekomme ich an der stelle im quelltext die fehlermeldung
(als kommentar hier im quelltext)

und wenn ich die exe ausführe kriege ich ne meldung 'nicht genügend arbeitsspeicher' was ich sehr komisch finde
ich habe 3gb arbeitsspeicher




also ich will aus 2 textdatein den textladen aber es ghet nicht so wie ich es will ^^

Delphi-Quellcode:
var
  Form1: TForm1;
  Zwischenspeicher : TStringlist;
  Zwischenspeicher2 : TStringlist;
  Textdatei,Textdatei2 : String;
  const Woche='C:\Users\Ich\Desktop\Kalender\Termine 2009\';
  const ext = '.txt'   ;
implementation

{$R *.dfm}



procedure TForm1.InDieMemoFelderSchreiben(var Textdatei,Textdatei2: String);
var
  i : integer;
  zv : integer;
  zv2 :integer;
  Pruefstring : String ;
begin
  zv := 0;
  zv2 := 0;
    if FileExists(Textdatei) and FileExists(Textdatei2) then begin
      Zwischenspeicher.LoadFromFile(Textdatei);
      Zwischenspeicher2.LoadFromFile(Textdatei2); // {und hier kriege ich dann einen Fehler sprich:
                                                       "Erste Gelegenheit für Exception bei $764642EB. Exception-Klasse EAccessViolation mit Meldung 'Zugriffsverletzung bei Adresse 0046DE99 in Modul 'Projectl.exe'. Lesen von Adresse 00000000'. Prozess Projectl.exe (4420)
"}
    end
    else erstellen;
    if (Zwischenspeicher.Count > 7) Then
      Stop_prüfen
    else
       If (Zwischenspeicher2.Count > 7) then
       Stop_prüfen
    Else
    For i := 0 To 3 do begin
      Form1.Memo1.Text := Form1.Memo1.Text + Zwischenspeicher[Zv]+ #13#10;
      Pruefstring := Zwischenspeicher[Zv];
      if Pruefstring = 'Keine Terminethen begin
      inc(zv);
      break;
    end;
      inc(zv);
    end;
    [...]
    For i := 0 To 3 do begin
      Form1.Memo8.Text := Form1.Memo8.Text + Zwischenspeicher2[Zv2]+ #13#10;
      Pruefstring := Zwischenspeicher[Zv];
      if Pruefstring = 'Keine Terminethen begin
      break;
    end;
      inc(zv2);
    end;
end;

procedure Tform1.Stop_prüfen;
begin
if Zwischenspeicher.Count > 7 then begin
  While Zwischenspeicher.Count > 7 do
  Zwischenspeicher.Add ( #13#10 + 'Keine Termine');
end
Else
While Zwischenspeicher2.Count > 7 do
  Zwischenspeicher2.Add ( #13#10 + 'Keine Termine');
end;


procedure Tform1.Erstellen;
Var
  F : Textfile;
begin
  if not FileExists(Textdatei) then Begin
    assignfile(f, Textdatei);
    rewrite(f);
    closefile(f);
    while Zwischenspeicher.Count < 8 do begin
      Zwischenspeicher.Add('Keine Termine');
    end;
    Zwischenspeicher.SaveToFile(Textdatei);
End;
    if not FileExists(Textdatei2) then Begin
      assignfile(f, Textdatei2);
      rewrite(f);
      closefile(f);
    while Zwischenspeicher.Count < 8 do begin
    Zwischenspeicher.Add('Keine Termine');
   end;
    Zwischenspeicher.SaveToFile(Textdatei2);
end;
end;


procedure TForm1.FormCreate(Sender: TObject);
Var
  KWoche : integer;
begin
  KWoche := WeekOfTheYear(Now);
  Edit1.TExt:= IntToStr(KWoche);
  Zwischenspeicher := TStringList.Create;
  if(KWoche > 0) Then begin
    Textdatei := woche+IntToStr(KWoche)+ext;
    Textdatei2 := woche+(IntToStr(KWoche +1))+ext;
    InDieMemoFelderSchreiben(Textdatei, Textdatei2);
    Datum_Wochen_Start_erstellen ;
  end;
end;


end.
  Mit Zitat antworten Zitat