irgentwie geht das nicht. also so hab ich es bisher geregelt, dass immer die näschste zeile beschrieben wird:
"anzahl" wird zum programmstart auf 0 gesetzt und immer, wenn man einen neuen eintrag erstellt umd 1 erhöht (>> somit geht er immer eine zeile weiter)
Delphi-Quellcode:
inc(anzahl);
FormHaupt.stringgrid1.cells[0,anzahl]:= person.name;
FormHaupt.stringgrid1.cells[1,anzahl]:= person.telefon;
FormHaupt.stringgrid1.cells[2,anzahl]:= person.adresse;
FormHaupt.stringgrid1.cells[3,anzahl]:= person.mobil;
FormHaupt.stringgrid1.cells[4,anzahl]:= person.mail;
close;
(des ist der auszug aus dem Formular "NeuerEintrag")
wenn ich aber eine bestimmte zeile anklicke und bearbeite geht das so:
Delphi-Quellcode:
FormHaupt.Stringgrid1.Rows[FormHaupt.Stringgrid1.Row].Strings[0]:=EditName.Text;
FormHaupt.Stringgrid1.Rows[FormHaupt.Stringgrid1.Row].Strings[1]:=EditTelefon.Text;
FormHaupt.Stringgrid1.Rows[FormHaupt.Stringgrid1.Row].Strings[2]:=EditAdresse.Text;
FormHaupt.Stringgrid1.Rows[FormHaupt.Stringgrid1.Row].Strings[3]:=EditMobil.Text;
FormHaupt.Stringgrid1.Rows[FormHaupt.Stringgrid1.Row].Strings[4]:=EditMail.Text;
er öffnet das formular "NeuerEintrag" und läst in die editfelder die strings aus der tabelle im hauptformular. wenn ich dann auf speichern klicke, wird der veränderte eintrag nicht in die zeile geschrieben, aus der er ausgelesen wurde, sondern an eine andere position (je nach dem welchen wert "anzahl" gerade hat)