Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#10

Re: real Zahl prüfen im Stringgrid

  Alt 4. Nov 2003, 14:21
onKeyPress wird jedesmal wenn eine Taste gedrückt wurde abgearbeitet.

Und wenn man den Text der Zelle (die in diesem Moment bearbeitet wird) auf vorhandene Punkte prüft, kann man beim vorhandensein eines Punktes verhindern das ein neuer eingegeben wird.

Delphi-Quellcode:
If (Key := '.') and (Pos(StringGrid1.Cells[StringGrid1.Selection.Left, StringGrid1.Selection.Top]) > 0) Then Key := #0;

If {Punkt wurde eingegeben} and {ist schon ein Punkt vorhanden} Then Key := #0;

Ich würde den Code allerdings noch um ein paar Steuerzeichen erweitern.
Delphi-Quellcode:
StringGrid1.Options := [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goEditing]; {kein goRangeSelect}


If StringGrid1.Cells[0, lARow] = MENGE) Then Begin
  //nur '.' und '0'-'9' zulassen
  If not (Key in [#08{Del}, #13{Enter}, #27{ESC}, '.', '0'..'9']) Then Key := #0;
  //wenn '.' eingegeben und schon vorhanden - '.' nicht zulassen
  If (Key := '.') and (Pos(StringGrid1.Cells[StringGrid1.Selection.Left, StringGrid1.Selection.Top]) > 0) Then Key := #0;
End;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat