Zitat von
Jens Schumann:
ich poste niemals ungetesteten Code..
Echt ? Ich mach das immer.
Im Ernst: Habe gar nicht mehr an den Thread gedacht. Deine Vorlage war gut, ich habe es aber etwas anders gemacht.
1. FlastRow und FLastCol brauche ich nicht
2. Das ganze steht im OnKeyDown
ungefähr so :
Delphi-Quellcode:
procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if not (key in [48..58,8,13]) then
key := 0;
with StringGrid1 do begin
case key of
VK_RETURN : begin
if cells [4,RowCount-1] <> '' then begin
.....
Transaction.Commit;
RowCount:=RowCount+1; // neue Zeile
Row:=RowCount-1; // aktuelle Zeile neu positionieren
Col := 1; // auch in Spalte 1
i := i + 1; // Zeilenzähler um 1 erhöhen
Cells [0,Row] := IntToStr (i)+'.';
end;
end;
VK_ESCAPE : Close;
end;
end;
end;
Das ist natürlich nicht alles, ein Haufen
SQL-Anweisungen fehlt usw.
Das Grid verhält sich folgendermaßen:
1. Nur Zahlen werden akzeptiert
2. Mit Return kann durch die Eingabefelder gewandert werden
3. in Col 0 wird ein Zähler mitgeschleppt, um anzuzeigen, an welcher Position man ist.
4. ESC heißt Eingabe beenden
[edit=Daniel B]Delphi-Tags gesetzt. MfG Daniel B.[/edit]