Einzelnen Beitrag anzeigen

Noobmaster

Registriert seit: 18. Jul 2010
114 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Fehler nach der Form.Create-Procedure

  Alt 17. Dez 2010, 17:14
Ich wüsste jetzt nicht, was das mit meinem Problem zu tun hat...Die Vorgängerversionen meines Programmes laufen einwandfrei. Ich poste jetzt mal den Code, den ich so verändert habe, dass danach nichts mehr ging
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
i : Integer; //Schleifenindex
Config : TIniFile;
AnzahlSpeicherungen : Integer; //Wie oft wurde schon abgespeichert?
begin
     SetLength(Gericht,NumberofRecipes);
     for i := 1 to NumberofRecipes do
         Gericht[i] := TGericht.Create(i);

  //Anzahl wie oft ein Gericht verwendet wurde aus der Configdatei ablesen:
  Config := TIniFile.Create('Config.ini');
  try
  begin
    CBBeans.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBBeans',0));
    CBBeef.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBBeef',0));
    CBBlumenkohl.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBBlumenkohl',0));
    CBBratwurst.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBBratwurst',0));
    CBCarrots.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBCarrots',0));
    CBCheese.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBCheese',0));
    CBChicken.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBChicken',0));
    CBCucumbers.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBCucumbers',0));
    CBEggs.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBEggs',0));
    CBErbsen.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBErbsen',0));
    CBFish.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBFish',0));
    CBFishsticks.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBFishsticks',0));
    CBGehacktes.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBGehacktes',0));
    CBKloesse.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBKloesse',0));
    CBLettuce.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBLettuce',0));
    CBNoodles.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBNoodles',0));
    CBOnions.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBOnions',0));
    CBPommes.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBPommes',0));
    CBPotatoes.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBPotatoes',0));
    CBPork.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBPork',0));
    CBRice.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBRice',0));
    CBRippchen.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBRippchen',0));
    CBRotkraut.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBRotkraut',0));
    CBSauergurken.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBSauergurken',0));
    CBSauerkraut.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBSauerkraut',0));
    CBSchinken.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBSchinken',0));
    CBSpinach.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBSpinach',0));
    CBTomatoes.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBTomatoes',0));
    CBWeisskohl.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBWeisskohl',0));
    CBWienerSausage.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBWienerSausage',0));
    CBPaprika.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBPaprika',0));
    CBLauch.Hint := IntToStr(Config.ReadInteger('Anzahl Zutatenverwendung','CBLauch',0));
  end;

  //Wann wurde eine Zutat das letzte Mal benutzt?
  begin
    CBBeans.Hint := CBBeans.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBBeans',Date()));
    CBBeef.Hint := CBBeef.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBBeef',Date()));
    CBBlumenkohl.Hint := CBBlumenkohl.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBBlumenkohl',Date()));
    CBBratwurst.Hint := CBBratwurst.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBBratwurst',Date()));
    CBCarrots.Hint := CBCarrots.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBCarrots',Date()));
    CBCheese.Hint := CBCheese.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBCheese',Date()));
    CBChicken.Hint := CBChicken.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBChicken',Date()));
    CBCucumbers.Hint := CBCucumbers.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBCucumbers',Date()));
    CBEggs.Hint := CBEggs.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBEggs',Date()));
    CBErbsen.Hint := CBErbsen.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBErbsen',Date()));
    CBFish.Hint := CBFish.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBFish',Date()));
    CBFishsticks.Hint := CBFishsticks.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBFishsticks',Date()));
    CBGehacktes.Hint := CBGehacktes.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBGehacktes',Date()));
    CBKloesse.Hint := CBKloesse.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBKloesse',Date()));
    CBLettuce.Hint := CBLettuce.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBLettuce',Date()));
    CBNoodles.Hint := CBNoodles.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBNoodles',Date()));
    CBOnions.Hint := CBOnions.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBOnions',Date()));
    CBPommes.Hint := CBPommes.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBPommes',Date()));
    CBPotatoes.Hint := CBPotatoes.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBPotatoes',Date()));
    CBPork.Hint := CBPork.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBPork',Date()));
    CBRice.Hint := CBRice.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBRice',Date()));
    CBRippchen.Hint := CBRippchen.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBRippchen',Date()));
    CBRotkraut.Hint := CBRotkraut.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBRotkraut',Date()));
    CBSauergurken.Hint := CBSauergurken.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBSauergurken',Date()));
    CBSauerkraut.Hint := CBSauerkraut.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBSauerkraut',Date()));
    CBSchinken.Hint := CBSchinken.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBSchinken',Date()));
    CBSpinach.Hint := CBSpinach.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBSpinach',Date()));
    CBTomatoes.Hint := CBTomatoes.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBTomatoes',Date()));
    CBWeisskohl.Hint := CBWeisskohl.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBWeisskohl',Date()));
    CBWienerSausage.Hint := CBWienerSausage.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBWienerSausage',Date()));
    CBPaprika.Hint := CBPaprika.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBWeisskohl',Date()));
    CBLauch.Hint := CBLauch.Hint + ' Mal verwendet, letzte Verwendung: ' + DateToStr(Config.ReadDate('Datum der letzten Verwendung','CBWienerSausage',Date()));
    end;

  //Daten der letzten Abspeicherung auslesen und anzeigen lassen
  AnzahlSpeicherungen := Config.ReadInteger('AnzahlSpeicherungen','Anzahl',1); //Anzahl Schleifendurchläufe auslesen
  //for i := 1 to AnzahlSpeicherungen do
      //ComboBox1.Items.Add(DateToStr(Config.ReadDate('AnzahlSpeicherungen',IntToStr(i),Date())));
  //Label2.Caption := DateToStr(Config.ReadDate('AnzahlSpeicherungen',IntToStr(AnzahlSpeicherungen),Date()));

  finally
  Config.Free;
  end;

  //Checkboxes in ein Array ablegen -> erleichtert später abspeichern in Configdatei
  begin
     SetLength(Zutat,AnzahlZutaten);

     Zutat[1] := CBBeans; ;
     Zutat[2] := CBBeef; ;
     Zutat[3] := CBBlumenkohl ;
     Zutat[4] := CBBratwurst ;
     Zutat[5] := CBCarrots ;
     Zutat[6] := CBCheese ;
     Zutat[7] := CBChicken ;
     Zutat[8] := CBCucumbers ;
     Zutat[9] := CBEggs ;
     Zutat[10] := CBErbsen ;
     Zutat[11] := CBFish ;
     Zutat[12] := CBFishsticks ;
     Zutat[13] := CBGehacktes ;
     Zutat[14] := CBKloesse ;
     Zutat[15] := CBLettuce ;
     Zutat[16] := CBNoodles ;
     Zutat[17] := CBOnions ;
     Zutat[18] := CBPommes ;
     Zutat[19] := CBPork ;
     Zutat[20] := CBPotatoes ;
     Zutat[21] := CBRice ;
     Zutat[22] := CBRippchen ;
     Zutat[23] := CBRotkraut ;
     Zutat[24] := CBSauergurken;
     Zutat[25] := CBSauerkraut;
     Zutat[26] := CBSchinken;
     Zutat[27] := CBSpinach;
     Zutat[28] := CBTomatoes;
     Zutat[29] := CBWeisskohl;
     Zutat[30] := CBWienerSausage;
     Zutat[31] := CBPaprika;
     Zutat[32] := CBLauch;
  end;
end;
Sry, für den schlechten Stil, aber ich bin halt noch relativer Anfänger
Das Programm schlägt einem vor, was man kochen soll. Anhand von Checkboxes wählt man die vorhandenen Zutaten aus.
  Mit Zitat antworten Zitat