Autor Beitrag
Sputyyy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: Do 27.01.11 17:17 
Hallo Leute!

Ich muss eine Menüliste erstellen, in der man mit einer COmbobox den Wochentag auswählen kann und dann mithilfe der Editfelder(Vorspeise, Hauptspeise, Nachspeise) sein Menü eingeben kann. Dieses soll dann mit einem Button (Speichern) gespeichert werden und auf einem Memofeld ausgegeben werden..

Nur leider komme ich irgendwie nicht auf die Lösung .. könntet ihr mir bitte ein paar Tipps geben?

Vielen Dank im Voraus :D


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Do 27.01.2011 um 19:01
Moderiert von user profile iconNarses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
Tankard
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Administrator
Beiträge: 217
Erhaltene Danke: 96



BeitragVerfasst: Do 27.01.11 17:20 
und wo genau ist nun das problem?
Sputyyy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: Do 27.01.11 17:29 
Das Problem ist, dass ich nicht weiß wie ich ein Array mit der Combobox machen soll.

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

Das ist alles was ich bisher habe:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
type
  TForm1 = class(TForm)
    Formular: TLabel;
    Wochentagwaehlen_label: TLabel;
    Wochentage_combobox: TComboBox;
    Vorspeise_label: TLabel;
    Hauptspeise_label: TLabel;
    Nachspeise_label: TLabel;
    Menue1_label: TLabel;
    Menue2_label: TLabel;
    VorspeiseMenue1: TEdit;
    HauptspeiseMenue1: TEdit;
    NachspeiseMenue1: TEdit;
    VorspeiseMenue2: TEdit;
    HauptspeiseMenue2: TEdit;
    NachspeiseMenue2: TEdit;
    Speichern_btn: TButton;
    Ausgeben_btn: TButton;
    fertigesMenue_label: TLabel;
    Ausgabe1: TMemo;
    Ausgabe2: TMemo;
    Loeschen_btn: TButton;
    Ausgabe3: TMemo;
    procedure Loeschen_btnClick(Sender: TObject);
    procedure Speichern_btnClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
   Wochentage : array[1..10of string;
   Menues : array [1..12of string;
  m: integer;
  i: integer;
  

procedure TForm1.Speichern_btnClick(Sender: TObject);
begin
inc(m);
i := 0;
VorspeiseMenue1.text := strtoint(Menues);
VorspeiseMenue2 [m,1] := Menues;
HauptspeiseMenue1 [m,2] := Menues;
HauptspeiseMenue2 [m,3] := Menues;
NachspeiseMenue1 [m,4] := Menues;
NachspeiseMenue2 [m,5] := Menues;
Menues :=   Menues;
end;

end.


Moderiert von user profile iconMartok: Delphi-Tags gesetzt
Kay E.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 118



BeitragVerfasst: Fr 28.01.11 04:06 
Also ich leg dir ganz dirngend nahe, dir die Basics von Delphi anzueignen. Die wirst du später nicht nur für Dephi sondern für jede Programmiersprache brauchen. Und wenn die Basics fehlen, dann klappts auch mit dem Rest nicht.

Ich nehm mal deinen Code auseinander:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Speichern_btnClick(Sender: TObject);
begin
inc(m); //du Initialisierst m nirgends, diese Zeile macht keinen Sinn so
i := 0//i kommt in deinem ganzen Quelltext nicht vor, wofür steht das hier?
VorspeiseMenue1.text := strtoint(Menues); //Menues ist ein Array of strings. Der Aufruf von strtoint wandelt einen String (kein Array) in eine Zahl um. Und das weisst du einem Property zu, das wieder einen String braucht. Ich hoffe, du suehst das Problem selber...
VorspeiseMenue2 [m,1] := Menues;  //von hier an abwärts: Du schreibst die Array-Referenzierer zu den Edit-Komponenten. Du willst aber den String, der in Menues an der Stelle x steht, dem Text-Property des Edit-Feldes zuweisen... Desweiteren machst du einen 2Dimensionalen Zugriff [m,x] auf ein 1Dimensionales Array
HauptspeiseMenue1 [m,2] := Menues;
HauptspeiseMenue2 [m,3] := Menues;
NachspeiseMenue1 [m,4] := Menues;
NachspeiseMenue2 [m,5] := Menues;
Menues :=   Menues;  //Äh... ja
end;


Generell: Arrays immer ab 0 indizieren, also
ausblenden Delphi-Quelltext
1:
2:
Wochentage : array[0..6of string;
Menues : array [0..11of string;

Was mich auf die Frage bringt, wieviele Tage deine Woche eigentlich hat ;)

Und auf den String, der in der Combobox gerade ausgewählt ist, kannst du so aufrufen:
ausblenden Delphi-Quelltext
1:
str := ComboBox1.Items[ComboBox1.ItemIndex];					


In Items sind die Strings gespeichert, ItemIndex gibt an, welcher Eintrag gerade gewählt ist.

So, Gedanken über das Programm darfst du dir erstmal selber machen, Hausaufgaben sind schon länger nicht mehr so mein Ding ;)


Viel Erfolg

Kay