'' is not a valid floating value

'' is not a valid floating value
  • Rejestracja: dni
  • Ostatnio: dni
0

witam! moze to bedzie smieszne pytanie dla niektorych, ja jednak mam z tym dosc duzy problem=/ przeszukalem forum, jesli gdzies byl o tym temat to sor ze powtarzam - mozliwe ze przeoczylem.

Moj problem polega na tym, ze jesli uzytkownik zostawi puste pola edit i wcisnie przycisk, ktory jest odpowiedzialny za pewne obliczenia i ma pobierac dane wlasnie z tych pol edit, to wyskakuje blad '' is not a valid floating value ;/ Wie ktos moze jak temu zaradzic? prosze o wyrozumialosc, ale jestem poczatkujacy:) pozdrawiam i z gory dziekuje za wszelka pomoc!

berl
  • Rejestracja: dni
  • Ostatnio: dni
0

w procedurze obsługi przycisku :
if Edit1.Text = '' then Exit;
:).

  • Rejestracja: dni
  • Ostatnio: dni
0

dziekuje bardzo:)

Szymek
  • Rejestracja: dni
  • Ostatnio: dni
0

Zawsze możesz użyć

Kopiuj
Try

Except

End;

przy konwertowaniu tekstu na liczbę. Wtedy jak ktoś wpisze coś innego, możesz wyświetlić stosowny komunikat.

  • Rejestracja: dni
  • Ostatnio: dni
0

W pustych Editach można z góry w kodzie podać 0 (zero) w zakładce Properties.
To nie będzie już błędu takiego :) Można jeszcze blokowac button od obliczeń jeśli nie ma nic w Editach itd.

HE
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
var 
  kod: Integer;
  liczba: Double;
begin
  Val(Edit.Text,liczba,kod); // Konwersja tekstu na liczbę
  if kod<>0 then begin // Nieliczba
    Application.MessageBox('To nie jest liczba','Błąd',MB_OK); // komunikat o błędzie
    Exit;
  end;
  wykonaj_obliczenia;
end;
HE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 12
0

Także mam problem z tym komunikatem, może ktoś powie mi co mogę na to poradzić...;) Wpisuje w okienko Edit liczbę >1000 i wyskakuje error " '1 000,00' is not a valid floating point value".

Według mnie problem leży przy przypisaniu wartości do zmiennej oczywiście zmienna typu REAL.

Kopiuj
Stawka1 := StrToFloat(Edit1.text);

Ma ktoś pomysł co na to poradzić? Co robię źle?

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Spróbuj ustawić DecimalSeparator (bądź bodajże DefaultFormatSettings.DecimalSeparator jakby się czepiało, że jest deprecated) na ., ciężko coś więcej powiedzieć.
Najlepiej załóż nowy temat i opisz dokładniej swój problem.

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.