Delete - So 23.08.09 21:48
Titel: Problem mit eigener Klasse und Array/ Record
Hallo zusammen,
Als erstes mal meine Unit:
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: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100:
| unit UDateien;
interface
type
TStunden = record Pnr: shortint; Auftragnr: shortint; Positionnr: byte; Stunden: double; DatumJahr: shortint; DatumMonat: byte; DatumTag: byte; Aktiv: boolean; end; TPnr = record Pnr: shortint; Pname: string[50]; Rangnr: byte; Aktiv: boolean; end; TRang = record Rangnr: byte; Rangname: string[15]; Aktiv: boolean; end; TAuftrag = record Auftragnr: shortint; Auftragbezeichnung: string[255]; Aktiv: boolean; end; TAuftragPosition = record Auftragnr: shortint; Positionnr: byte; Positionbezeichnung: string[255]; end; TStundenTag = record Pnr: shortint; Stunden: double; DatumJahr: shortint; DatumMonat: byte; DatumTag: byte; Aktiv: boolean; end;
TDateien=class(TObject) protected DateiName, ArrayName: string; public ListStunden: array of TStunden; ListPnr: array of TPnr; ListRang: array of TRang; ListAuftrag: array of TAuftrag; ListAuftragPosition: array of TAuftragPosition; ListStundenTag: array of TStundenTag; RecordStunden: TStunden; RecordPnr: TPnr; RecordRang: TRang; RecordAuftrag: TAuftrag; RecordAuftragPosition: TAuftragPosition; RecordStundenTag: TStundenTag; constructor create (iDateiName, iArrayName: string); procedure Laden; procedure Speichern; end;
implementation constructor TDateien.create(iDateiName, iArrayName: string); begin inherited create; DateiName := iDateiName; ArrayName := iArrayName; end;
procedure TDateien.Laden; var Current:integer; f:file of TStunden; begin assignfile(f,'dat/'+DateiName+'.dat'); reset(f); SetLength(ArrayName,FileSize(f)); Current:=0; while not eof(f) do begin read(f,ArrayName[Current]); inc(Current); end; closefile(f);
end;
procedure TDateien.Speichern; begin
end;
end. |
Zur Erklärung:
Ich habe hier eine Klasse TDateien.
Nun will ich in einer Hauptunit diese Klasse aufrufen und Parameter wie einen Dateinamen und einen Arraynamen übergeben.
Dann soll die entsprechende Datei geöffnet werden und in das entsprechende Record bzw. Array gelesen werden.
Diese Arrays will ich aber auch in der Hauptunit benutzen können.
Wenn ich in den Arrays in der Hauptunit was änder will ich das dann auch mit der speichern prozedur in die Datei schreiben.
Wie mach ich das am geschicktesten, dass ich die Arrays mit der recordstruktur auch in der Hauptunit benutzen kann?
Mach ich grundlegend was falsch? Ich blick gerade selber nicht mehr wirklich durch, ich hoffe ich habe meine Probleme einigermaßen schildern können.
Gruß,
Dennis
Moderiert von
Narses: Topic aus Sonstiges (Delphi) verschoben am So 23.08.2009 um 22:27