Автор | Сообщение |
|
| |
Пост N: 5
Зарегистрирован: 05.07.14
|
|
Отправлено: 23.07.14 08:53. Заголовок: Как структурируется программа?
Коллеги! Нужна Ваша помощь в объяснении структуры программы. Уточню вопрос. Как известно большинство программ отлаживается небольшими кусочками, которые затем необходимо объединить. Простой способ - это скопировать и вставить. Поскольку я занимался фокспро более 5-ти лет назад, а Клиппером - лет 20 назад, то естественно возникли проблемы. Например, не рекомендуется изпользовать set procrdure to. Предлагается использовать #include. А почитать - негде. Кроме того все примеры ориентированы на создание одностраничного документа, а там - где многостраничный - такого наворочено, что без поллитра не разберешься. Кроме того , очень капризные команды browse , Edit. У меня файл был в формате sqlite3. Я перевел его в dbf. но упомянутые команды стоят насмерть и выдают ошибки. Это я так - наболело! За всю свою жизнь я не встретил ни одной бесплатной системы, с которой можно было бы работать нормально. Вопрос: Как все же использовать #include. чтобы не перекопировать программы и какова должна быть структура программы? Заранее признателен!
|
|
|
Ответов - 39
, стр:
1
2
All
[только новые]
|
|
|
| |
Пост N: 38
Зарегистрирован: 05.07.14
|
|
Отправлено: 30.07.14 09:04. Заголовок: Haz пишет: добавьте..
Haz пишет: цитата: | добавьте ключ /c в батник |
| Наконец-то добрался до реализации Вашего совета. При компиляции получил кучу ошибок: Скрытый текст Error: Unresolved external '_HB_FUN_INITMESSAGES' referenced from K:\FAPP\HARBOU R\FILLDIRLIST\DEMO.OBJ Error: Unresolved external '_HB_FUN__DEFINEWINDOW' referenced from K:\FAPP\HARBO UR\FILLDIRLIST\DEMO.OBJ
| Получается, что при переходе к консольному режиму нужно подключать какие-то библиотеки. Какие?
|
|
|
|
| |
Пост N: 39
Зарегистрирован: 05.07.14
|
|
Отправлено: 30.07.14 09:36. Заголовок: Dima пишет: а собир..
Dima пишет: цитата: | а собирать удобнее с помощью hbmk2.exe |
| Дошли руки наконец и для применения hbmk2. Но тут облом Нигде не сказано, как прописать путь к hbmk2. А если его прописывать, то потребуется прописать еще кучу путей. Попробовал 2 варианта (по аналогии с compile.bat) Скрытый текст call C:\MiniGUI\batch\hbmk2.bat и обращаюсь из командной строки: hbmk2 demo
| 2-ой вариант Скрытый текст call C:\MiniGUI\batch\hbmk2.bat demo.prg и запускаю 2-мя кликами
| Результат одинаков
|
|
|
|
| |
Пост N: 4114
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.07.14 10:26. Заголовок: посмотри пример BUIL..
посмотри пример BUILD.BAT из Samples
|
|
|
|
| постоянный участник
|
Пост N: 458
Зарегистрирован: 13.10.05
|
|
Отправлено: 30.07.14 11:02. Заголовок: В MiniGUI все и так..
В MiniGUI все и так работает: через bat и hbmake ( есть две кнопочки на панеле). Можно собирать программы с Gui интерфейсом и консольные. Если ориентироваться на Gui , то и заморачиваться не стоит. После установки MiniGUI все сразу работает как надо! Большое спасибо Григорию!
|
|
|
|
| |
Пост N: 40
Зарегистрирован: 05.07.14
|
|
Отправлено: 30.07.14 11:33. Заголовок: Vlad04 пишет: После..
Vlad04 пишет: цитата: | После установки MiniGUI все сразу работает как надо! |
| Иногда надо посмотреть выполнение по командам. Как пользоваться DEBUG из IDE просто нпонятно. Использовать DEBUG из HwGUI, пока не получилось. Но когда компилируешь с помощью compile.bat, необходимо прописывать путь доступа, иначе ошибки. В данном случае - просто заело! При использовании hbmk2.exe - приходится прописывать путь доступа. Но этого оказывается мало. Возникают ошибки компиляции, т.к. не может найти "minigui.ch". После изменения переменной среды с указанием, где искать "minigui.ch", - остается та же ошибка. Т.е. по-хорошему надо задавать параметры в самой строке hbmk2. А тогда теряется простота и универсальность. И кому это нужно!
|
|
|
|
| |
Пост N: 41
Зарегистрирован: 05.07.14
|
|
Отправлено: 30.07.14 11:44. Заголовок: PSP пишет: Самое ра..
PSP пишет: цитата: | Самое распространенное для вывода на экран: |
| В свое время, для отладки программы в ГУИ, я создавал тестовое поле на форме, а затем постоянно обновлял это поле, добавляя последовательно необходимые строки результатов. Т.е. я мог видеть значения интересующих меня переменных. Есть ли что-нибудь подобное в Habour или снова идти старым проверенным путем?
|
|
|
|
| |
Пост N: 42
Зарегистрирован: 05.07.14
|
|
Отправлено: 30.07.14 11:52. Заголовок: Dima пишет: посмотр..
Dima пишет: цитата: | посмотри пример BUILD.BAT из Samples |
| Поискал во всех директориях minigui и не нашел. Можно поточнее адрес?
|
|
|
|
| |
Пост N: 4115
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.07.14 13:04. Заголовок: evgeny2006 тут напр..
evgeny2006 тут например C:\MiniGUI\SAMPLES\BASIC\ON_DROPFILES\
|
|
|
|
| |
Пост N: 265
Зарегистрирован: 20.02.11
|
|
Отправлено: 30.07.14 19:34. Заголовок: evgeny2006 пишет: П..
evgeny2006 пишет: цитата: | Получается, что при переходе к консольному режиму нужно подключать какие-то библиотеки. Какие? |
| нужно убрать вызовы GUI элементов из Вашего исходника определитесь - или GUI или консоль. Вы пытаетесь GUI приложение собрать в консольном режиме отсюда и ошибка. Как вы представляете себе GUI окно в консоли ? в примерах есть смешанный режим MixMode но это И GUI И консоль
|
|
|
|
| |
Пост N: 43
Зарегистрирован: 05.07.14
|
|
Отправлено: 31.07.14 11:35. Заголовок: Haz пишет: Как вы п..
Haz пишет: цитата: | Как вы представляете себе GUI окно в консоли ? |
| Спасибо за ответ! Я не представляю себе ГУИ в консоли. Как я уже говорил ранее, я работал с Клиппером примерно 25 лет назад, если не больше. Но поработав с ГУИ в Питон, который и создает ГУИ, и одновременно открывает консоль, если требуется, я вероятно оказался в плену собственных иллюзий. Поэтому и задаю глупые вопросы. Т.е. одновременной работы с ГУИ и консолью в Харбор не предусмотрено.
|
|
|
|
| |
Пост N: 309
Зарегистрирован: 16.12.08
|
|
Отправлено: 31.07.14 14:38. Заголовок: evgeny2006 пишет: Т..
evgeny2006 пишет: цитата: | Т.е. одновременной работы с ГУИ и консолью в Харбор не предусмотрено. |
| Евгений, Харбор может работать в MixMode. Примеры в minigui или hmg, возможно есть и в других библиотеках.
|
|
|
|
|
| |
Пост N: 266
Зарегистрирован: 20.02.11
|
|
Отправлено: 31.07.14 17:20. Заголовок: evgeny2006 пишет: П..
evgeny2006 пишет: цитата: | Поэтому и задаю глупые вопросы. |
| Вопросы не глупые. как же еще все понять и разобраться. Посмотрите пример MixMode, вам и Santy это же советует. С какой целью нужна консоль ? для отладки модуля ? тогда как вариант логику можно отладить в чистой консоли а потом нарисовать на нее GUI морду.
|
|
|
|
| постоянный участник
|
Пост N: 3521
Зарегистрирован: 12.09.06
|
|
Отправлено: 31.07.14 17:30. Заголовок: evgeny2006 пишет: Н..
evgeny2006 пишет: цитата: | Но поработав с ГУИ в Питон, который и создает ГУИ, и одновременно открывает консоль, если требуется, я вероятно оказался в плену собственных иллюзий. |
| Зачем нужна консоль, если задачу сразу можно делать в GUI ? Для проверки переменных в GUI есть классная функция - MsgDebug(val1,val2, aDim, ... и тд.) - выводит в окошечке все эти переменные. Логика консоли и ГУИ немного различается. Я пока привык, замучился.... А ГУИ у Григория сразу собирается после установки его пакета ! Огромное спасибо за его труд !!!! Только в переменных среды компа необходимо установить следующие: Minigui.reg -------------------- REGEDIT4 [HKEY_CURRENT_USER\Environment] "MG_BCC"="Z:\\BCC55" "MG_ROOT"="Z:\\MiniGui" "PATH"="Z:\\BCC55\\BIN;Z:\\MiniGui\\Harbour\\BIN;" -------------- конец Minigui.reg Вместо Z: - поставить свои пути.
|
|
|
|
| |
Пост N: 4122
Зарегистрирован: 17.05.05
|
|
Отправлено: 31.07.14 17:32. Заголовок: Andrey пишет: Логик..
Andrey пишет: цитата: | Логика консоли и ГУИ немного различается |
| Не фига себе не много , ну ты загнул Andrey пишет: цитата: | А ГУИ у Григория сразу собирается после установки его пакета |
| Не сразу так как нужно поправить путь к компилятору в батнике
|
|
|
|
| постоянный участник
|
Пост N: 3522
Зарегистрирован: 12.09.06
|
|
Отправлено: 31.07.14 17:40. Заголовок: Dima пишет: Не фига..
Dima пишет: цитата: | Не фига себе не много , ну ты загнул |
| Ну примерно... Я уже многое в ней понял, так что мне легче теперь объяснять чем отличается МиниГУИ от терминалки (консоли). А вообще МиниГуи - классная вещь (когда поймешь), потихоньку перевожу свои проги на неё.... Маленькие программы делаются вообще на раз !
|
|
|
|
| |
Пост N: 45
Зарегистрирован: 05.07.14
|
|
Отправлено: 01.08.14 10:49. Заголовок: Коллеги! Спасибо за..
Коллеги! Спасибо за подробное объяснение! Я просто тронут! Особенно благодарен Santy, Haz, Andrey и Dima. Andrey пишет: цитата: | Для проверки переменных в GUI есть классная функция - MsgDebug(val1,val2, aDim, ... и тд.) |
| Собственно это мне и надо было. После несправедливого с моей стороны заявления о неработоспособности функции directory(), необходимо было разобраться, как добраться до переменных. Поскольку Harbour продолжает развиваться и наверняка сюда попадут или новички, или люди с устаревшими знаниями, было бы, на мой взгляд, неплохо создать тему, в которой изложить необходимый инструментарий для начала работы. Где можно попробнее почитать (посмотреть) о фукции MSGdebug()?
|
|
|
|
| постоянный участник
|
Пост N: 3524
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.08.14 11:03. Заголовок: evgeny2006 пишет: Г..
evgeny2006 пишет: цитата: | Где можно попробнее почитать (посмотреть) о фукции MSGdebug()? |
| Да не надо нигде смотреть. Бери и пользуйся. Или смотри здесь ветку форума Документация, там где то была дока по МиниГуи.
|
|
|
|
| |
Пост N: 47
Зарегистрирован: 05.07.14
|
|
Отправлено: 01.08.14 11:08. Заголовок: Andrey пишет: Тольк..
Andrey пишет: цитата: | Только в переменных среды компа необходимо установить следующие: Minigui.reg |
| Скажите, пожалуйста, а внести изменения в переменные среды с помощью "панели управления" можно или обязательно требуется внесение изменений в реестр
|
|
|
|
| постоянный участник
|
Пост N: 3525
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.08.14 11:10. Заголовок: evgeny2006 пишет: С..
evgeny2006 пишет: цитата: | Скажите, пожалуйста, а внести изменения в переменные среды с помощью "панели управления" можно или обязательно требуется внесение изменений в реестр |
| На ваше усмотрение. Или вручную или создать файл реестра и добавить его.
|
|
|
Ответов - 39
, стр:
1
2
All
[только новые]
|
|