Автор | Сообщение |
|
| |
Пост 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: 69
Зарегистрирован: 24.04.13
|
|
Отправлено: 23.07.14 09:47. Заголовок: #Include "XXX.pr..
#Include "XXX.prg" используй в конце главного модуля. Т.е. последними строчками главного модуля будет например группа: #include "F1.prg" #include "F2.prg" ........ #include "Fn.prg"
|
|
|
|
| |
Пост N: 6
Зарегистрирован: 05.07.14
|
|
Отправлено: 23.07.14 10:05. Заголовок: azoo пишет: #Includ..
azoo пишет: цитата: | #Include "XXX.prg" используй в конце главного модуля. |
| Спасибо! А как вывести на форму текст в русской транскрипции (по-просту по-русски). Если я компилирую программу через hmg_IDE, то все получается нормально. А если компилирую .bat файлом - то кракозябры. Вот .bat файл call C:\MiniGUI\batch\compile.bat demo %1 %2 %3 %4 %5 %6 %7 %8 %9
|
|
|
|
| |
Пост N: 255
Зарегистрирован: 20.02.11
|
|
Отправлено: 23.07.14 10:13. Заголовок: evgeny2006 пишет: К..
evgeny2006 пишет: цитата: | Как все же использовать #include. чтобы не перекопировать программы |
| Лучше использовать редактор с поддержкой проектной организации разрабатываемой программы, к примеру бесплатные Notepad++ или xEdit3. xEdit - бесплатный кусок от коммерческого Xailer и заточен под Harbour. Разбиваешь программу на модули ( .prg ) по любому признаку - функциональному, смысловому и пр. т.е. как угодно. Объединяешь модули в один проект и никаких инклюдов. При сборке проекта компилируются только измененные модули и если их размер не очень большой, то сборка идет очень быстро. В текущем проекте у меня более 120 модулей и 1,5 МБ исходного кода, в отлаживаемом модуле 700 строк время сборки проекта на стареньком компе 12 секунд
|
|
|
|
| |
Пост N: 256
Зарегистрирован: 20.02.11
|
|
Отправлено: 23.07.14 10:17. Заголовок: Haz пишет: Если я к..
Haz пишет: цитата: | Если я компилирую программу через hmg_IDE |
| это уже лучше в ветке GUI обсудить, и лучше взглянуть demo.prg
|
|
|
|
| |
Пост N: 8
Зарегистрирован: 05.07.14
|
|
Отправлено: 23.07.14 10:45. Заголовок: Haz пишет: это уже ..
Haz пишет: цитата: | это уже лучше в ветке GUI обсудить, и лучше взглянуть demo.prg |
| Да я и отлаживаю demo, заменив латиницу на русский шрифт. Вероятно есть какие-то настройки, до которых я еще не смог добраться. За ответы - щчень для меня полезные - СПАСИБО!
|
|
|
|
| |
Пост N: 12
Зарегистрирован: 05.07.14
|
|
Отправлено: 25.07.14 10:53. Заголовок: Haz пишет: xEdit - ..
Haz пишет: цитата: | xEdit - бесплатный кусок от коммерческого Xailer и заточен под Harbour |
| Скачал версию 3.2, но настроить ее никак не могу. То не сохраняет установленные директории, то отсутствует возможность установить среду. Это так называемое бесплатное ПО. Предполагаю, что это делается умышленно! Конечно, можно вручную отредактировать файл конфигурации. Но возникает вопрос, не выкинут ли авторы что-нибудь по-круче в процессе разработки. Ксати посмотрел доступ к БД, попробовал модифицировать таблицу. Внешне все ОК, но сохранять отказывается. Вы какой версией пользуетесь?
|
|
|
|
| |
Пост N: 72
Зарегистрирован: 24.04.13
|
|
Отправлено: 25.07.14 11:13. Заголовок: Тоже скачал xEdit. ..
Тоже скачал xEdit. Внешне xEdit выглядит солидно. Похож на старый Delphi. Работать с Harbour через IDE наверное удобнее. Может есть какой пошаговый хелп для первичной настройки? Я так понимаю он должен знать где находится компилятор, библиотеки и т.д.
|
|
|
|
| |
Пост N: 257
Зарегистрирован: 20.02.11
|
|
Отправлено: 25.07.14 13:38. Заголовок: evgeny2006 пишет: В..
evgeny2006 пишет: цитата: | Вы какой версией пользуетесь? |
| пользуюсь версией 3.2 все настраивается нормально и работает , включая работу с БД. Из глюков замечено следующее 1 окно отладчика вылезает когда не надо ( лечится один раз убиранием его мышью за границы экрана ) 2 иногда вылетает при активной работе с букмарками в целом полностью устраивает как бесплатное ПО. azoo пишет: цитата: | Может есть какой пошаговый хелп для первичной настройки? |
| хелп есть сайте и форумах разработчика , для Xailer ( Xedit - его компонент ) если коротко 1.Tools -> Programming enviroment -> [ + ] - добавить название среды и заполняем вкладки ( xBase compiler, C compiler, Resource compiler , Linker). 2 создаем новый проект Project-> project properties - заполняем Main и Libraries ( в Main выбираем имя Enviroment из п1) 3 добавляем в проект нужные PRG и работаем
|
|
|
|
| |
Пост N: 73
Зарегистрирован: 24.04.13
|
|
Отправлено: 25.07.14 14:56. Заголовок: Haz, в xEdit кодиров..
Haz, в xEdit кодировка только Windows? Похоже что 866 кодировка не поддерживается. Русские буквы некорректно отображаются. Есть повод всё перевести на Windows-кодировку.
|
|
|
|
| |
Пост N: 258
Зарегистрирован: 20.02.11
|
|
Отправлено: 25.07.14 15:33. Заголовок: azoo пишет: кодиров..
azoo пишет: проверь каким шрифтом рисует , если в OEM нужно - поменяй на Terminal Tools->Editor option->Syntax
|
|
|
|
| |
Пост N: 16
Зарегистрирован: 05.07.14
|
|
Отправлено: 25.07.14 15:54. Заголовок: Haz пишет: хелп ест..
Haz пишет: цитата: | хелп есть сайте и форумах разработчика , для Xailer ( Xedit - его компонент ) если коротко |
| Спасибо за разъяснение!!!
|
|
|
|
|
| |
Пост N: 28
Зарегистрирован: 05.07.14
|
|
Отправлено: 27.07.14 09:00. Заголовок: Haz пишет: проверь ..
Haz пишет: цитата: | проверь каким шрифтом рисует , если в OEM нужно - поменяй на Terminal |
| Мой вопрос касается работы в Windows с выводом результатов нв консоль. Часто требуется проверить какой-либо кусок программы без необходимости вывода результатов в окна. Как организовать такую программу? Как ее компилировать и линковать?
|
|
|
|
| постоянный участник
|
Пост N: 982
Зарегистрирован: 27.01.07
|
|
Отправлено: 27.07.14 09:08. Заголовок: evgeny2006 пишет: Ч..
evgeny2006 пишет: цитата: | Часто требуется проверить какой-либо кусок программы без необходимости вывода результатов в окна. |
| Функции hb_ANSItoOEM() и hb_OEMtoANSI() подойдут?
|
|
|
|
| |
Пост N: 29
Зарегистрирован: 05.07.14
|
|
Отправлено: 27.07.14 10:32. Заголовок: PSP пишет: Функции ..
PSP пишет: цитата: | Функции hb_ANSItoOEM() и hb_OEMtoANSI() подойдут? |
| Видимо есть какая-то специфика работы с Harbour в Windows, которую я не могу ухватить. При работе с окнами - вопросов нет. Я же хочу просто вывести результаты на консоль (экран), т.е. применить команду аналогичную print, использующуюся во многих языках программирования. Вот здесь и облом. Я использую стандартные .bat файлы для компиляции и линкования. Возможно где-то в них необходимо вносить изменения. Попробовал примеры из справочника по функциям - тишина! Если подскажите где почитать, буду весьма признателен. Нужно ли подключать какие-либо библиотеки при использовании функций hb_ANSItoOEM() и hb_OEMtoANSI() Спасибо за ответ!!!
|
|
|
|
| постоянный участник
|
Пост N: 983
Зарегистрирован: 27.01.07
|
|
Отправлено: 27.07.14 15:30. Заголовок: evgeny2006 пишет: Я..
evgeny2006 пишет: цитата: | Я же хочу просто вывести результаты на консоль (экран), |
| Может я туплю... ) Самое распространенное для вывода на экран: 1. Команды ? или ?? (http://www.ousob.com/ng/53guide/ngab504.php) 2. Команда @ SAY (http://www.ousob.com/ng/53guide/ngba99e.php) Или вы что-то другое хотите спросить?
|
|
|
|
| |
Пост N: 32
Зарегистрирован: 05.07.14
|
|
Отправлено: 27.07.14 16:12. Заголовок: PSP пишет: Или вы ч..
PSP пишет: цитата: | Или вы что-то другое хотите спросить? |
| Я имел ввиду нечто другое. По Вашему совету я использовал пример, в который добавил пару строк Скрытый текст // The example demonstrates the effect of ANSI<->OEM conversion // using a character string where the conversion is not reversible. // The character string contains characters used for line graphics // in DOS. //#include "minigui.ch" //#Include "Fileio.CH" #include "Box.ch" PROCEDURE Main LOCAL cOEM1 := B_SINGLE LOCAL cANSI := HB_OemToAnsi( B_SINGLE ) LOCAL cOEM2 := HB_ANsiToOem( cANSI ) DispBox(10, 10, 20, 20, cOEM1 ) @ Row(), COl() SAY "OEM1" DispBox(10, 30, 20, 40, cANSI ) @ Row(), COl() SAY "ANSI" DispBox(10, 50, 20, 60, cOEM2 ) @ Row(), COl() SAY "OEM2" @ MaxROw()-1, 0 WAIT RETURN
| Так вот. Если я запускаю этот пример с помощью hbrun.exe, то он нормально отрабатывает. Правда внешний вид на консоли ужасный. Если же я компилирую и линкую программу с помощью .bat файла Скрытый текст call C:\MiniGUI\batch\compile.bat test2 %1 %2 %3 %4 %5 %6 %7 %8 %9
| то на экран вообще ничего не выводится. Вопрос состоял в том, как запускать такие программы.
|
|
|
|
| |
Пост N: 4110
Зарегистрирован: 17.05.05
|
|
Отправлено: 27.07.14 16:15. Заголовок: evgeny2006 пишет: c..
evgeny2006 пишет: цитата: | call C:\MiniGUI\batch\compile.bat test2 %1 %2 %3 %4 %5 %6 %7 %8 %9 то на экран вообще ничего не выводится. |
| скорее всего дело в том что батник сборки заточен не на консоль а на GUI интерфейс. а собирать удобнее с помощью hbmk2.exe
|
|
|
|
| |
Пост N: 263
Зарегистрирован: 20.02.11
|
|
Отправлено: 27.07.14 16:29. Заголовок: Dima пишет: то на э..
Dima пишет: цитата: | то на экран вообще ничего не выводится. |
| добавьте ключ /c в батник call C:\MiniGUI\batch\compile.bat test2 /С %1 %2 %3 %4 %5 %6 %7 %8 %9 PS в самом батнике написано /C - консольный режим
|
|
|
|
| |
Пост N: 34
Зарегистрирован: 05.07.14
|
|
Отправлено: 27.07.14 16:36. Заголовок: Haz пишет: добавьте..
Haz пишет: цитата: | добавьте ключ /c в батник |
| Спасибо большое!!!
|
|
|
|
| |
Пост N: 35
Зарегистрирован: 05.07.14
|
|
Отправлено: 27.07.14 16:39. Заголовок: Dima пишет: а собир..
Dima пишет: цитата: | а собирать удобнее с помощью hbmk2.exe |
| Я пробовал пару раз, что-то не получилось и я на время отложил его использование. Предпочтительно, конечно, использовать hbmk2.exe Спасибо!
|
|
|
Ответов - 39
, стр:
1
2
All
[только новые]
|
|