Hallo
Ich habe einen Problem,ich soll bis Dienstag einen kleinen DatenBank machen, der 6 eidits (name, vorname, geburts datum itp.), 5 buttons (Eintragen, speichern, Laden, löschen) und einen StringGrid hat. Eintragen soll die Daten von Edits in Array speichern, sie dabei alphabetisch sortieren und dabei soll er diese Daten i den StringGrid einfügen, speichern soll eine Datei erzeugen und die Daten dort speichern, laden soll sie laden und anzeigen und löschen soll einen konkreten datensatz aus dem array löschen und alle nach vorne verschieben. Naja ich bin beim Eintragen stehen gebieleben, da ich eine solche fehlermeldung kriege [url=
img577.imageshack.us/i/fehlermeldung.png/]
[/URL] ich habe das Programm schritt für schritt ablaufen lassen und die Fehler Meldung bekomme ich ganz am Ende von Procedure EintragenButtonKlick. Kann mir jemand erklären, was bedeutet dieses Felher und wie man ihn beheben könnte?
Unterhalb mein bisheriger queltext.
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: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195:
| type TPerson = Record FName:String[50]; Vorname:String[50]; Alter:Byte; Geburtsdatum:String[10]; StrNr:String[50]; Plz:Integer; Ort:String[50]; Geschlecht:String[1]; end;
TGruppe = Array of TPerson; TForm1 = class(TForm) FNameEd: TEdit; StrNrEd: TEdit; VornameEd: TEdit; NameLb: TLabel; VornameLb: TLabel; StrNrLb: TLabel; OrtEd: TEdit; OrtLb: TLabel; GeburtsdatumEd: TEdit; GebDatLb: TLabel; GeschlechtEd: TEdit; GeschlechtLb: TLabel; PLZLb: TLabel; PLZEd: TEdit; AlterEd: TEdit; AlterLb: TLabel; EintragenBt: TButton; SpeichernBt: TButton; LadenBt: TButton; AnzeigeStrGr: TStringGrid; EndeBt: TButton; procedure FormCreate(Sender: TObject); procedure SpeichernBtClick(Sender: TObject); procedure LadenBtClick(Sender: TObject); procedure EintragenBtClick(Sender: TObject); procedure EndeBtClick(Sender: TObject); private public end;
var Form1: TForm1; Gruppe:TGruppe; Person:TPerson; Datei:File of TPerson; i:integer;
implementation
{$R *.DFM}
procedure StringGrindIni; begin with Form1.AnzeigeStrGr do begin cells[0,0]:='Name'; cells[1,0]:='Vorname'; cells[2,0]:='Alter'; cells[3,0]:='Str./Nr.'; cells[4,0]:='Ort'; cells[5,0]:='Geschlecht'; cells[6,0]:='Geburtsdatum'; cells[7,0]:='PLZ'; cells[8,0]:='Nr'; end;
end; procedure leeren; begin Form1.FNameEd.text:=''; Form1.VornameEd.text:=''; Form1.AlterEd.text:=''; Form1.GeburtsdatumEd.text:=''; Form1.GeschlechtEd.text:=''; Form1.OrtEd.text:=''; Form1.StrNrEd.text:=''; Form1.PlzEd.text:=''; end;
procedure initial; var x:integer; begin For x:=1 to Length(Gruppe) do with Gruppe[x] do begin FName:=''; Vorname:=''; Alter:=0; Geburtsdatum:=''; StrNr:=''; Ort:=''; Geschlecht:=''; end; end;
procedure TForm1.FormCreate(Sender: TObject); begin i:=0; StringGrindIni; initial; leeren; end;
procedure Fuellen; var x:integer; begin For x:=i to i do begin with Form1.AnzeigeStrGr do begin Form1.AnzeigeStrGr.cells[0,x]:=gruppe[x].FName; Form1.AnzeigeStrGr.cells[1,x]:=gruppe[x].Vorname; Form1.AnzeigeStrGr.cells[2,x]:=inttostr (gruppe[x].Alter); Form1.AnzeigeStrGr.cells[3,x]:=gruppe[x].StrNr; Form1.AnzeigeStrGr.cells[4,x]:=gruppe[x].Ort; Form1.AnzeigeStrGr.cells[5,x]:=gruppe[x].Geschlecht; Form1.AnzeigeStrGr.cells[6,x]:=gruppe[x].Geburtsdatum; Form1.AnzeigeStrGr.cells[7,x]:=inttostr (gruppe[x].PLZ); end; Form1.AnzeigeStrGr.RowCount:=i; end; end;
procedure TForm1.SpeichernBtClick(Sender: TObject); begin assignfile(Datei,'Daten.dat'); {$I-} seek(datei,Filesize(Datei)); {$I+} If IOResult <>0 then rewrite(Datei); For i:=1 to i do begin write(Datei,Gruppe[i]); end; closefile(Datei); end;
procedure TForm1.LadenBtClick(Sender: TObject);
var j:integer; begin assignfile(Datei,'Daten.dat'); {$I-} reset(Datei); {$I+} j:=1; if IOResult<>0 then showmessage('Datei liegt auffinfbar'); While not EOF(Datei) do begin read(Datei,Person); Gruppe[j]:=Person; j:=j+1; end; i:=Filepos(Datei); closefile(Datei); end;
procedure TForm1.EintragenBtClick(Sender: TObject); begin i:=i+1; SetLength(Gruppe,i); FNameEd.SetFocus; with gruppe[i] do begin FName:=FNameEd.text; Vorname:=VornameEd.text; Alter:=strtoint (AlterEd.text); StrNr:=StrNrEd.text; Ort:=OrtEd.text; Geschlecht:=GeschlechtEd.text; Geburtsdatum:=GeburtsdatumEd.text; Plz:=strtoint (PlzEd.text); end; Fuellen; leeren; end;
procedure TForm1.EndeBtClick(Sender: TObject); begin close; end;
end. |