[Delphi] Problem z TEdit


(Xszczepaniakx) #1

Witam wszystkich !!

Mam pewien problem dotyczący obiektu TEdit.

Mam buttona, labela i kilka obiektow edit. Chce zrobic by na klikniecie buttona

uruchomila sie funkcja w mysl tego: jesli pole edit1 0 to ((edit2/edit3)+edit1)

a jesli nie to ((edit2/edit3)+(edit4/edit5). Edity konwertuje ze string na extendet(float)

tylko co zrobic gdy w edit nie ma zadnej wartosci a chcialbym by podczas konwertowania na

float w przypadku braku jakiegokolwiek znaku bralo wartosc 0 za domyslna.

A o to bledy jakie mi wyskoczyly:

[Error] Unit1.pas(118): Statement expected, but expression of type 'Extended' found 

  [Error] Unit1.pas(121): Statement expected, but expression of type 'Extended' found

  [Error] Unit1.pas(122): There is no overloaded version of 'FloatToStr' that can be called with these arguments

Bede bardzo wdzieczny za pomoc.


(Xszczepaniakx) #2

odświeżam


(adami) #3

W Inspektor obiektów komponentu TEdit jest pole TEXT i tam piszesz 0 (zero).A co do matematyki to konwersja: strtofloat(edit2) / strtofloat(edit3) itd.


(Xszczepaniakx) #4

już to wcześniej robiłem a problem który opisałem wcześniej wyskakuje mi tylko przy dzieleniu


(Xszczepaniakx) #5

odświeżam


(adami) #6

Przy dzieleniu nie może być zera bo przez zero się nie dzieli .Taki zapis idzie bez problemu operator akurat razy

label1.Caption:=floattostr(strtofloat(edit1.text)*strtofloat(edit2.Text));

Możw wklej ten kod.


(system) #7

Może najprościej zrobić przy konwersji mały tryk:

StrToFloat('0'+Edit1.Text)

nawet jeżeli zawartość Edit1 jest pusta to zadziała.


(Xszczepaniakx) #8

Dziękuje za pomoc