![]() |
|
#1
|
|||
|
|||
![]() Подскажите пожалуйста.
Есть простенькая библиотека (ниже), как сделать, чтобы если переменные, которые я ввожу в самой программе и куда эта библиотека подключается, не подходят под условие, то программа возвращала на окно ввода. А то приходится приравнивать эти переменные нулю. Спасибо. Код:
library Project2; uses SysUtils, Windows, Classes; {$R *.res} type TMyClass = class(TObject) v1: real; v2: real; end; procedure MyFirstFunc(My:TMyClass); begin while (My.v1<2) or (My.v1>10)or (My.v2<2) or (My.v2>10) do begin My.v1:=0; My.v2:=0; MessageBox(0, 'Значения должны быть от 2 до 10. Повторите ввод', 'dll', MB_OK); Exit; end; end; exports MyFirstFunc; function MySum (My:TMyClass): real; begin Result:=My.v1+My.v2; end; exports MySum; begin end. |
#2
|
|||
|
|||
![]() Варианта 2.
Либо ты проверяешь диапазон значений переменных в основной программе и, если что не так, срезу возвращаешься к редактированию. Либо делаешьне процедуру (можно и процедуру, тогда один из параметров должен быть возвращаемым, т.е. выходным), а функцию, которая возвращает код ошибки, например типа Boolean - True - все нормально посчитали, False - неполучилось. И по его значению делаешь соответсвующие действия. |
#3
|
|||
|
|||
![]() А у тебя не будет примеров или теории про function: boolean и т.п.
Спасибо |