Einzelnen Beitrag anzeigen

gangs-taas

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

Re: Fehler beim Laden einer Textdatei

  Alt 16. Jul 2009, 17:48
okay
also ich komme mit F7 und F8 auch nicht weiter und werde euch mal meinen gesammten code geben okay ? :

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, StdCtrls,DateUtils;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Memo1: TMemo;
    Memo4: TMemo;
    Memo2: TMemo;
    Memo3: TMemo;
    Memo5: TMemo;
    Memo6: TMemo;
    Memo7: TMemo;
    Memo8: TMemo;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Button2: TButton;
    Edit1: TEdit;
    Button1: TButton;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Loeschen;
    procedure InDieMemoFelderSchreiben(var Textdatei, Textdatei2: String);
    procedure Erstellen;
    procedure Datum_Wochen_Start_erstellen;
    procedure Stop_prüfen;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

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);
    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.Memo2.Text := Form1.Memo2.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.Memo3.Text := Form1.Memo3.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.Memo4.Text := Form1.Memo4.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.Memo5.Text := Form1.Memo5.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.Memo6.Text := Form1.Memo6.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.Memo7.Text := Form1.Memo7.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;
      zv2 := 0;
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.Loeschen;
begin
  Memo1.text := '';
  Memo2.text := '';
  Memo3.text := '';
  Memo4.text := '';
  Memo5.text := '';
  Memo6.text := '';
  Memo7.text := '';
  Memo8.text := '';
end;


procedure TForm1.Datum_Wochen_Start_erstellen;
Var
  Year : Integer;
  Woche : Integer;
  Tag : Integer ;
  Datum : TDate;
  Monat : Word;
  Tage : Word;
  Jahr : Word ;
begin
  Year := StrToInt(Edit8.Text);
  Woche := StrToInt(Edit1.Text);
  Tag := 1;
  Datum := StartOfaWeek(Year,Woche,Tag);
  DecodeDate(Datum, Jahr, Monat, Tage);
  Edit2.Text := IntToStr(Tage);
  Edit3.Text := IntToStr(Monat);
  Edit4.Text := IntToStr(Jahr);
end;



procedure TForm1.Button1Click(Sender: TObject);
var
  KWoche : integer;
begin
  loeschen;
  Datum_Wochen_Start_erstellen;
  KWoche:= StrToInt(Edit1.TExt);
  Zwischenspeicher := TStringList.Create;
  if(KWoche > 0) Then begin
    Textdatei := woche+IntToStr(KWoche)+ext;
    InDieMemoFelderSchreiben(Textdatei,Textdatei2);
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 Zwischenspeicher.Text := Memo1.text+ #13#10 + Memo2.Text + Memo3.text+ #13#10 + Memo4.Text +#13#10 + Memo5.text+ #13#10+ Memo6.Text + #13#10 + Memo7.text ;
  Zwischenspeicher.SaveToFile(Textdatei);
end;


procedure TForm1.FormCreate(Sender: TObject);
Var
  KWoche : integer;
begin
  Loeschen;
  KWoche := WeekOfTheYear(Now);
  Edit1.TExt:= IntToStr(KWoche);
  Zwischenspeicher := TStringList.Create;
  Zwischenspeicher2 := 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.

und wie es aussieht kann ich ja als screenshot anhängen
http://www3.pic-upload.de/thumb/16.0...2tphgp652e.jpg


EDIT Das mit dem Arbeitsspeicher kann ich mir einfach nicht vorstellen. ich habe 3 Gigabyte Arbeitsspeicher den werde ich ja wohl nicht mit sowas überlassten können oder ?!
Miniaturansicht angehängter Grafiken
aufzeichnen_159.jpg  
  Mit Zitat antworten Zitat