Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
В старших версиях Delphi введены две полезные функции: TryStrToInt и TryStrToFloat. Эти функции в качестве аргументов используют строку, которую нужно конвертировать в целое или вещественное значение и переменную, куда будет записан результат в случае успешного преобразования. Если преобразование неуспешно – функция возвращает false.
function TryStrToInt(const S: string; out Value: Integer): Boolean;
function TryStrToFloat(const S: string; out Value: Double): Boolean; overload;
Фрагмент кода с использованием функции TryStrToFloat приведен ниже. Следует заметить, что в качестве аргумента функция принимает вещественное число с десятичным разделителем, установленным в данной операционной системе.
Var Mu:double;
begin
if(TryStrToFloat(EditMu.Text, Mu)=false) then
begin
ShowMessage('Правильно введите параметр Mu.');
exit;
end; end;
2.5. Кнопки для запуска/остановки расчета
Часто программисты при разработке расчетных программ блокируют поля ввода от изменения пользователем значений в них на время проведения расчета. Для этого при запуске расчета поля делают недоступными (Edit1.Enabled:= false;) или устанавливают для них свойство ReadOnly (Edit1.ReadOnly:= true;). Оставляем этот момент на рассмотрение разработчика. Это возможная, но не обязательная мера, поскольку, пока программа считает, она не проверяет поля ввода. А вот на работу кнопок управления обязательно нужно обратить внимание. Если расчет методом Монте-Карло достаточно хорошо обеспечен, т.е. проводится с большой статистикой, программа может считать несколько секунд. В этом случае разработчик должен предусмотреть наличие кнопки, позволяющей прервать расчет. Закономерно предположить, что перед запуском программы на расчет кнопка СТАРТ активна, а кнопка СТОП недоступна для использования. Когда идет расчет, кнопку СТАРТ делают недоступной, а кнопку СТОП доступной к использованию. По окончании расчета или в случае, когда расчет был прерван, кнопки возвращаются в первоначальное состояние. Один из вариантов работы с кнопками приведен в виде фрагмента кода ниже. В этом случае используется одна кнопка, которая переименовывается в зависимости от действий программы.
if Button1.Caption = 'Старт' then begin
Button1.Caption:= 'Стоп';
ProcRun; //Запуск расчета, проверка не нажата ли кнопка СТОП
end
else if Button1.Caption = 'Стоп' then begin
Button1.Caption:= 'Старт';
ProcStop; //Остановка расчета, запоминание статистики
end;
Дата публикования: 2014-11-03; Прочитано: 7956 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!