Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.06.10;
Скачать: [xml.tar.bz2];

Вниз

Расчет инеграла   Найти похожие ветки 

 
str   (2002-05-28 22:03) [0]

В программировании - почти ноль.
Требуется посчитать интеграл. Сложный.
Помогите сделать прогу - на форме две кнопки (старт, стоп) и прогрессбар. Надо чтоб, пока интеграл считался, прогресс двигался, можно было отменить результаты.
формула задается в теле программы.
поможите? спасибо!


 
ga3   (2002-05-29 01:13) [1]

А зачем кнопка Стоп? Промежуточные результаты просматривать???
давай свою формулу, токо учти - я в математике ноль-)) так что не надо писать изогнутые мудистики, напиши просто плюс, минус, разделить, умножить, возвести в степень и извлечь корень. я токо с етими действиями дело имею, а что такое интеграл для меня заагадкой с первого курса универа так и осталось.


 
Alx2   (2002-05-29 07:51) [2]

В цикле, в котором происходят вычисления, на кажлом N-м шаге увеличивай значение ProgressBar и вызывай Application.ProcessMessages. Также заведи булеву переменную, в которой будет сидеть флаг остановки и если он установлен, то вываливайся из цикла. Число N выбирается из расчета, чтобы прога довольно быстро откликалась на действия пользователя (в твоем случае - нажатие кнопки "стоп"). При нажатии кнопки Стоп устанавливай флаг остановки.

Более изящное решении заключается в использовании дополнительного потока (TThread). Им можно управлять из основной программы с помощью методов Suspend и Resume.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.06.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
3-30677
Chainik
2002-05-17 13:23
2002.06.10
Выборка первых 2-х цифр из поля таблицы


1-30741
neodiX
2002-05-29 20:33
2002.06.10
Опять Jpeg & TStream


3-30733
volodya_
2002-05-17 09:35
2002.06.10
DbGrid, SQL


6-30963
MMarat
2002-03-28 12:05
2002.06.10
Запись в филе на сервак


1-30833
Explorer
2002-05-28 12:38
2002.06.10
CPU Window





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский