Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#1

StringGrid: Eingabe in Zelle prüfen

  Alt 26. Jan 2009, 13:17
Hallo,

ich hab grad ein Problem an dem ich (fast) verzweifle (etwas dramatisch aber das steigert die Erwartungen )

Ich möchte die Eingabe in einer Zelle prüfen und zwar nach folgenden Kriterien:
  • maximal 3 Zeichen
  • an erster Stelle darf nur ein "S" oder eine "0" stehen
  • wenn an erster Stelle eine "0" steht, darf keine weitere Eingabe möglich sein
  • wenn an erster Stelle ein "S" steht, dann dürfen danach nur noch Ziffern kommen

Die maximale Eingabe von 3 Zeichen hab ich schon gelöst:
Delphi-Quellcode:
procedure TEinstellungenForm.StringGrid_ZugzieleKeyPress(Sender: TObject;
  var Key: Char);
var
  Zeile: Integer;
  Spalte: Integer;
  Text: String;

begin
  //Zeile und Spalte auslesen
  Zeile := StringGrid_Zugziele.Row;
  Spalte := StringGrid_Zugziele.Col;
  Text := StringGrid_Zugziele.Cells[Spalte, Zeile];

  //Tastenprüfung abhängig der ausgewählten Spalte
  If Spalte = 0 then
    begin
      //prüfen ob die gedrückte Taste in der Liste der erlaubten Taste ist
      If not (Key in ['S', '0'..'9', #8]) then
        Key := #0;

      //Die Länge der Eingabe begrenzen (Rücktaste aber zulassen)
      If not (Key = #8) then
        If length(Text) >= 3 then
          Key := #0;
    end;
end;
Aber wie kann ich den Rest bewerkstelligen?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat