Ładny brzuch

Witam :)

Czy zna ktos sposob na zakazanie wpisywania liter do edit ??

Prosilbym jeszcze o sposob ktory pozwala wpisac cyfry od 1 - 50.

Pozdrawiam :)



Mam kodzik ale w C++ gdy delphi niestety nie umiem :( Przetumaczenie nie powinno Ci sprawi problemu :P

Dajesz to do onkeypress Edita:
bool warunek = ((Key >= '0') && (Key <= '9') ||                   (Key == VK_BACK)   ||                   (Key == VK_DELETE));   if (!warunek)   {      Key = 0;   //ignorujemy wprowadzony znak gdy nie spe3nia warunku   }


Mam kodzik ale w C++ gdy delphi niestety nie umiem :( Przetumaczenie nie powinno Ci sprawi problemu :P

Dajesz to do onkeypress Edita:
bool warunek = ((Key >= '0') && (Key <= '9') ||                   (Key == VK_BACK)   ||                   (Key == VK_DELETE));   if (!warunek)   {      Key = 0;   //ignorujemy wprowadzony znak gdy nie spe3nia warunku   }

Byo - trzeba forum przeszuka - kody gotowe nawet paday.



np. http://forum.ks-eksp...showtopic=58853

Napisalem takie cos w onkeypress Edita:

var s : string; begin if key = s then begin ShowMessage('Wpisz Cyfre!'); Key:=#0;

Nie dziala :( - Bledu Nie wyswietla, ale nie dziala :(
Uytkownik Shooter edytowa ten post 15 grudzie 2005, 19:13

Napisalem takie cos w onkeypress Edita:

var s : string; begin if key = s then begin ShowMessage('Wpisz Cyfre!'); Key:=#0;

Nie dziala :( - Bledu Nie wyswietla, ale nie dziala :(

A jak zrobic zeby string byl znakiem ?


A jak zrobic zeby string byl znakiem ?

Wiesz, ze jestem zielony :) Nie lap mnie za slowka... Jak napelnic stringa ?:D

if key in ['0'..'9',chr(VK_DELETE),chr(VK_BACK)] then else key:=#0;

Bardzo dziekuje, panu :) A jak dozwolic tylko wpisywanie cyfr od 1 - 50 ??


Bardzo dziekuje, panu :) A jak dozwolic tylko wpisywanie cyfr od 1 - 50 ?? I znowu, cyfry to: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 :( Nie mam czasu ju dzisiaj pisa, jak to zrobi :P

if not (key in ['0'..'9',chr(VK_DELETE),chr(VK_BACK)] ) then if StrToInt((sender as TEdit).Text+key) > 50) then Key:=#0;powinno dzialac

'THEN' expected but ')' found

Umhm.. jak zrobie tak:

if not (key in ['0'..'9',chr(VK_DELETE),chr(VK_BACK)] ) then if StrToInt((sender as TEdit).Text+key) > 50 then Key:=#0;

Zauwaz ze nawias wzialem :) Jak zrobie tak, to wtedy nie wyswietla zadnego bledu, ale jak wpisuje znak do Edita to wychodzi Fatal Error:

Project Project1.exe raised exception class EInvalidCast with message 'Invalid class typecast'. Process stopped. Use Step or Run to Continue. :(

Edit:

I nie dziala od 1 do 50..

Edit:

Mozna wykasowac temat, bo to chyba do niczego nie dojdzie. Dziekuje za pomoc :)
Uytkownik Shooter edytowa ten post 15 grudzie 2005, 19:39
najwyraznie nie wpisales tego kodu do zdarzenia onkeydown czy tam Press edita ... bo jak widac sender nie jest typem TEdit a byc powinien...

(Sender as TEdit) moze zastapic konkretna nazwa edita ;)


if not (key in ['0'..'9',chr(VK_DELETE),chr(VK_BACK)] ) then if StrToInt((sender as TEdit).Text+key) > 50) then Key:=#0;powinno dzialac

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin case key of '0'..'9':if StrToInt(TEdit(Sender).Text+key)>50 then key:=#0; else if key<>chr(VK_BACK) then key:=#0; end; end;

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •