Hallo,
befasse mich erst seit 1 monat mit der Programmiersprache Delphi und bin daher noch ein Laie in diesem Gebiet. Deshalb bitte ich um Hilfe bei diesem "einfachen" Problem.
FOlgende Aufgabe:
Ein Unternehmen will seine Kunden verwaltung automatisieren. Die Daten liegen an Hand von Listen vor.
200 Sätze sind einzugeben.
In Form2 gibt der Benutzer folgende Daten ein:
Kundennummer, Name, Stammkunde (enthält ein "S" für Stammkunde oder ein "N" für Nichtstammkunde), Umsatz
Nur Stammkunden, deren Umsatz über 500 000 € liegen, sollen in einer Datei "C:Kunden.dat" gespeichert werden.
Die Eingabe und das Speichern erfolgt über Button1.
Button2 ermöglicht das Ausweisen der Sätze in einer Listbox in Form3.
Codieren in Delphi.
Habe es schon probiert, funkt aber nicht richtig:
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:
| Type Kunde = Record Nr, Name, Stammkunde : String[20]; Umsatz : Real; end; VAR Satz : Array[1..200] of Kunde; Satz2 : Kunde; K : File of Kunde; procedure TForm1.Button1Click(Sender: TObject); VAR I : Integer; begin For I := 1 to 5 do begin Form2.showmodal; Satz[I].Nr := Form2.Edit1.Text; Satz[I].Name := Form2.Edit2.Text; Satz[I].Stammkunde := Form2.Edit3.Text; Satz[I].Umsatz := Strtofloat(Form2.Edit4.Text); Form2.Edit1.Clear; Form2.Edit2.Clear; Form2.Edit3.Clear; Form2.Edit4.Clear; end; For I := 1 to 5 do begin IF Satz[I].Stammkunde = 'S' then IF Satz[I].Umsatz > 500000 then begin Assignfile(K,'C:Kunde.dat'); Rewrite(K); Satz2 := Satz[I]; Write(K, Satz2); end; end; end;
procedure TForm1.Button2Click(Sender: TObject); VAR I : Integer; begin Assignfile(K,'C:Kunde.dat'); Reset(K); While not EOF (K) do begin Read(K,Satz2); Form3.Listbox1.items.add(Satz2.Name + ' ' + Floattostr(Satz2.Umsatz)); end; Form3.showmodal; end;
end. |
Moderiert von
Narses: Delphi-Tags hinzugefügtModeriert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Do 01.05.2008 um 22:50