Zabezpieczenie Editow

0

Jak zabezpieczyc Edity przed wpisem jakis innych typow niz sa ?
tzn mam Edita i wartosc w nim to Integer to jak zabezpieczeyc zeby nie wpisalo jakiegos innegpo typu np String ? I jak ustawic dlugosc mozliwych liter/cyfr w edicie

0

OnKeyDown: jeśli znak jest zabroniony to znak := 0
OnChanged: jeśli całość nie pasuje to czyść Edit (zabezpieczenie przed wklejeniem ze schowka)
MaxLength: max liczba znaków

0
if not (Key in ['0'..'9',',','.',#8]) then
 begin 
  Key := #0; 
  Beep; 
 Exit;

np. coś takiego.

0

Mnich i co to znaczy ze moga byc liczby od 0 do 9 i przecinki ? :] po co tyle tych przecinkow ?

0

jakto tyle?
czy sa cyfry (cyfr jest 10, od 0 do 9) i czy wystepuje przecinek albo kropka (zalezy jak twoj program ma to interpretowac). ja widze 1 przecinek, nie mowie tu o tych oddzielajacych poszczegolne wyrazenia

0
if not (Key in ['0'..'9',',','.',#8]) then
If
  • Jeżeli
not
  • nie są takie
key
  • klawisze
in
  • między
'0'..'9',
  • od 0 do 9
',',
  • przecinki
'.',
  • i kropki
then
  • wtedy

I tamto dalej. Myślę, że teraz to chyba jasne. [cya]

0

Jest komponent MaskEdit na zakładce Additional. W właściwości EditMask wybierz np. extension i w zależności od tego ile wpiszesz '9' w polu Input mask, taką ilość cyfr będziesz mógł wpisać w pole. Jeżeli będzie Cię denerwować podkreślenie możesz w polu 'znak dla niezapisanego' wpisać spację... W pomocy znajdziesz więcej o tworzeniu masek.

0

EditMask jest h..owe. jakieś <ort>głópie </ort>znaki muszą być w miejsca gdzie się wpisauje. zmora, zabić, zniszczyć [diabel]

0

Ciekawy efekt możesz uzyskać deklarująć zmienną w np. sekcji pievate
tj:
...
private
ed1 : String ;
...

a w OnChange :

procedure TForm1.Edit1Change(Sender: TObject);
begin
Try
  StrToFloat(Edit5.Text) ;
Except
  Edit5.Text := ed1 ;
End;
ed1:=Edit5.Text ;
end;

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.