Normalnie bym wykonać następujące czynności, aby zapisać wartość ciągu do bazyJak mogę akceptować tylko liczby z formantu edycji?
DataModule.tbTableNumber.Value := StrToFloat(edtNumber.text);
Teraz problem pojawia się, gdy użytkownik wprowadzi coś, co nie można przekonwertować na liczbę. Jak byłbym w stanie temu zapobiec? Czy dana osoba może używać wyjątku i jak mógłbym napisać ten wyjątek?
Używam Delphi XE2.
Dlaczego nie używasz kontroli danych świadomy? podobnie jak [Vcl.DBCtrls.TDBEdit] (http://docwiki.embarcadero.com/Libraries/en/Vcl.DBCtrls.TDBEdit) – RRUZ
Alternatywnym rozwiązaniem byłoby uniemożliwienie użytkownikowi wprowadzania nieprawidłowych danych w pierwszej kolejności. Możesz użyć kontrolki obsługującej maski wejściowe lub poradzić sobie z zdarzeniem 'TEdit.OnChange', aby uniemożliwić użytkownikowi wprowadzanie danych nieliczbowych. 'TEdit' również ma właściwość' NumbersOnly', ale nie uniemożliwia użytkownikowi kopiowania i wklejania nieprawidłowych danych do pola. –
Jaką korzyść sprawdzi kontrola nad danymi ponad normę TEdit – Japster