Einzelnen Beitrag anzeigen

Jiron

Registriert seit: 25. Jun 2009
Ort: Krefeld
10 Beiträge
 
Delphi 6 Enterprise
 
#1

Anfänger - wie Zahlen zum rechnen in Datei speichern ?

  Alt 3. Jul 2009, 11:56
Wie Zahlenreihen mit denen ich später noch rechnen will in eine Datei speichern ?


Hallo Zusammen

Kurze Vorgeschichte dazu:
Hab mich vor einigen Jahren mal bissel mit Torbo Pascal beschäftigt ( als die PC's noch langsam genug waren das es lief ) und hab mir nun in den Kopf gesetzt "Delphi" zu lernen. Da ich mich einwenig für Zahlenspielerreien interessiere, möchte ich mir eine Art Lottoprogramm schreiben, um so in die Bereiche Rechnen, Graphische Darstellungen und eventuell in Richtung Datenbanken zu kommen, die mich auch interessieren. Das wird zwar dauern, aber Zeit dafür hab ich.
Allerdings hab ich hier in meiner Gegend nicht die Möglichkeit das an einer Schule zu lernen noch noch im Bekanntenkreis, jemanden zum Fragen, also würde ich gern eure Hilfe in Anspruch nehmen.
Nun zu meinem Problem. Ich hab mir überlegt in welcher Art ich meine Daten am besten abspeichere. Da ich später noch damit rechnen möchte hab ich mich für ein Array entschieden, aber das klappt irgendwie nicht, könntet ihr mir einen Tip geben ?
Und ich hab zwischendurch mal die Fehlermeldung : "E/A Fehler 6" erhalten und hab trotz zwei Bücher und Hilfedateien keine Erklärung dafür gefunden. Wo kann ich beoi solchen Fehlermeldungen da nachschauen ?


Delphi-Quellcode:
var
  Form1: TForm1;
  z1 , z2 , z3 , z4 , z5, z6 , zz : integer;


implementation

{$R *.dfm}

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

procedure TForm1.Edit1Exit(Sender: TObject);

Var
 Nr : integer;
 zahlenreihe: String;
 MyFile : array [1..7] of integer ;

begin
  if (Edit1.Text='') or
     (Edit2.Text='') or
     (Edit3.Text='') or
     (Edit4.Text='') or
     (Edit5.Text='') or
     (Edit6.Text='') or
     (Edit7.Text='') then
      exit;

   z1 := StrToInt(Edit1.Text);
   z2 := StrToInt(Edit2.Text);
   z3 := StrToInt(Edit3.Text);
   z4 := StrToInt(Edit4.Text);
   z5 := StrToInt(Edit5.Text);
   z6 := StrToInt(Edit6.Text);
   zz := StrToInt(Edit7.Text);

   if (z1<1) or (z1>49) then exit;
   if (z2<1) or (z2>49) then exit;
   if (z3<1) or (z3>49) then exit;
   if (z4<1) or (z4>49) then exit;
   if (z5<1) or (z5>49) then exit;
   if (z6<1) or (z6>49) then exit;
   if (zz<1) or (zz>49) then exit;


   if (z1>=z2)or(z1>=z3)or(z1>=z4)or(z1>=z5)or(z1>=z6)or(z1=zz)then exit;
   if (z2>=z3)or(z2>=z4)or(z2>=z5)or(z2>=z6)or(z2=zz)then exit;
   if (z3>=z4)or(z3>=z5)or(z3>=z6)or(z3=zz)then exit;
   if (z4>=z5)or(z4>=z6)or(z4=zz)then exit;
   if (z5>=z6)or(z5=zz)then exit;
   if z6=zz then exit;

   // Zahlenreihe eingeben, Datei anlegen, bzw. Zahlen speichern, letzte Zahlenreihe mit Nummer ausgeben
   MyFile[1] := z1 ;
   MyFile[2] := z2 ;
   MyFile[3] := z3 ;
   MyFile[4] := z4 ;
   MyFile[5] := z5 ;
   MyFile[6] := z6 ;
   MyFile[7] := zz ;

   AssignFile(MyFile,zahlenreihe);
   {$I-}
     if FileExists(zahlenreihe) then
    Reset(MyFile)
   else
    ReWrite(MyFile);
   {$I+}
     if IOResult=0 then
     begin;
       System.Seek(MyFile,SizeOf(MyFile));
       Write(MyFile,Nr);
     end;
     CloseFile(MyFile);

   Edit8.Text := IntToStr(Nr, zahlenreihe);

end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   if not (Key in [#8,#48..#57]) then
     Key := #0;
end;

end.


Ich glaub ich hab neben meiner Unkenntnis noch einige Gedankenfehler drin. Bitte euch um Hilfe.
Noch etwas dazu, ich weiss das die Bedingungen auch ziehmlich umständlich geschrieben sind, mir geht es in erster Linie um die Funktionalität damit ich es auch verstehe. Wenn es dann läuft werde ich mich um eine bessere Schreibweise kümmern. Da das ganze lernen etwas länger dauern dürfte, möchte ich eines nach dem anderen machen.
(Hoffe hab mich bei der Programmschreiberrei nicht zu doof angestellt)

Soweit mein Anliegen an euch.
Gruß Jiron

[edit=SirThornberry]Delphi-Tags gesetzt - nächstes mal bitte selbst machen Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat