Как вывести на экран сообщение "Идет обработка данных" пока лисп-программа работает?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как вывести на экран сообщение "Идет обработка данных" пока лисп-программа работает?

Как вывести на экран сообщение "Идет обработка данных" пока лисп-программа работает?

Ответ
Поиск в этой теме
Непрочитано 04.08.2009, 13:35 #1
Как вывести на экран сообщение "Идет обработка данных" пока лисп-программа работает?
Do$
 
AutoCAD/Civil3D LISP/C#
 
Санкт-Петербург
Регистрация: 15.08.2008
Сообщений: 1,701

Собственно, вопрос в названии темы, немного поясню. В какой-то момент лисп-программа начинает лопатить весь чертеж, собирая данные. Это у нее занимает несколько минут, в среднем минуты 2-3. В это время в окне акада даже песочные часики не появляются, просто стрелочка. Как дать понять пользователю, что программа не зависла и акад не накрылся, просто программа обрабатывает чертеж?
Я сделал так перед началом обработки:
Код:
[Выделить все]
 
...
(alert
    (strcat
      "Далее идет очень долгий анализ чертежа,\n"
      "Который может занять несколько минут.\n"
      "Наберитесь терпения и нажмите кнопку ОК."
    ) ;_ end of strcat
  ) ;_ end of alert
...
Пришел в голову еще такой способ: в DCL описать диалоговое окно с нужным текстом и кнопкой ОК. Загрузить и начать диалог сразу перед "долгим" фрагментом, а после него сразу завершить и выгрузить диалог.
Типа такого:
Код:
[Выделить все]
 
...
(princ "\nИдет анализ чертежа, ждите...")
(if (< (setq dl1 (load_dialog "krops.dcl")) 0)
(exit)
) ;_ end of if
(if (not (new_dialog "wait" dl1))
(exit)
) ;_ end of if

<тут "долгий" фрагмент>

(done_dialog dl1)
(unload_dialog dl1)
...
Но это выглядит не совсем так, как хотелось бы. Какое-то время окошко висит, потом, примерно через минуту, половина его пропадает... В общем, коряво работает
Может есть какие-то стандартные решения?
Заранее спасибо!
Просмотров: 2623
 
Непрочитано 04.08.2009, 13:54
#2
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


http://forum.dwg.ru/showpost.php?p=31084&postcount=16
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 04.08.2009, 14:13
#3
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Плохо юзал поиск
Спасибо большое! Буду изучать

Протестировал, отлично работает! То что надо!
Разъясните, пожалуйста, если версии Акада 2006 и 2008, все ли arx файлы нужны?

Последний раз редактировалось Do$, 04.08.2009 в 15:29.
Do$ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как вывести на экран сообщение "Идет обработка данных" пока лисп-программа работает?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рифмоплетство. Kryaker Разное 554 14.11.2023 11:59
Мониторы LCD CRT Разное 94 17.06.2008 10:51
Фундамент с динамическими нагрузками в Scad Tlelaxu SCAD 9 31.08.2007 10:44
ЮМОР 2006 =) Perezz!! Разное 1122 04.01.2007 00:46