Topic: оператор if в сравнении textbox

как правильно написать скрипт по такой логике?
if (((маршрутный.edit10.value) - (маршрутный.edit5.value)) > '0' ) then маршрутный.edit11.value:= (маршрутный.edit10.value) - (маршрутный.edit5.value)
вообще смысл в том, что бы если при вычитании получается положительное число, то записать его. А если нет, то оставить пустым

2 (edited by sibprogsistem 2019-11-17 07:53:36)

Re: оператор if в сравнении textbox

var
summ:integer;
begin
summ:=маршрутный.edit10.value - маршрутный.edit5.value;
if (summ >0) then маршрутный.edit11.value:= summ; 
end;

Re: оператор if в сравнении textbox

показывает ошибку при запуске. На первой строчке скрипта где summ

Re: оператор if в сравнении textbox

summ:integer; поменяйте на
summ:extended;

Re: оператор if в сравнении textbox

Ничего не поменялась. Я так понимаю сама вот эта часть не верна
summ:=маршрутный.edit10.value
переменная не хочет присваиваться. Но могу ошибаться...

Re: оператор if в сравнении textbox

agatlogic101 wrote:

Ничего не поменялась. Я так понимаю сама вот эта часть не верна
summ:=маршрутный.edit10.value
переменная не хочет присваиваться. Но могу ошибаться...


пришлите хотя бы скрин ошибки

Post's attachments

Attachment icon test.7z 2.45 kb, 225 downloads since 2019-11-17 

7 (edited by agatlogic101 2019-11-17 09:51:57)

Re: оператор if в сравнении textbox

Получается скрипт отдельно работает... но когда он в сумме с другими строками перестаёт. Пример моего полного скрипта

procedure маршрутный_Edit5_OnChange (Sender: TObject);
   var
   summ:extended;
begin
   маршрутный.edit5.value := (маршрутный.edit1.value)*(2);
   маршрутный.edit6.value := (маршрутный.edit2.value)*(2);
   маршрутный.edit7.value := (маршрутный.edit3.value)*(2);
   маршрутный.edit9.value := (маршрутный.edit1.value)+(маршрутный.edit2.value)+(маршрутный.edit3.value)+(маршрутный.edit4.value);
   маршрутный.edit10.value := (маршрутный.edit4.value)/3
   begin
   summ:=маршрутный.edit10.value - маршрутный.edit5.value;
   if (summ >0) then маршрутный.edit11.value:= summ;
   end;
end;

Re: оператор if в сравнении textbox

сделайте хотябы скрин ошибки

9 (edited by agatlogic101 2019-11-18 09:27:43)

Re: оператор if в сравнении textbox

ошибка не выводилась, просто горела красной строкой. Изменил немного логику и всё заработало. Но непонятно как теперь эту запись сохранить? То есть у нас всё сейчас в "extended" Но при попытке
SQLExecute('UPDATE trainbook SET коф="'+n1+'"  WHERE id="'+dramm1+'"');
он сохранять не хочет. Если только перевести в VarToStr, но это текст, а мне нужны цифры... Как правильно сохранить в таблицу?
В итоге мне нужна запись в таблице вида 56.25

Re: оператор if в сравнении textbox

это зависит от выбранного типа поля
если Вы собираетесь в дольнейшем выводить эту запись для чтения то сохряняйте лучше с текстовое поле (string)

Re: оператор if в сравнении textbox

Почему бы не сохранять значение на форме стандартным способом, т.е. кнопкой с действием "Сохранить запись"

Dmitry.

Re: оператор if в сравнении textbox

Просто у моей таблицы много связей, и приходится их вводить через скрипт