On-line: Andrey, PSP, гостей 3. Всего: 5 [подробнее..]
АвторСообщение



Пост N: 5
Зарегистрирован: 05.07.14
ссылка на сообщение  Отправлено: 23.07.14 08:53. Заголовок: Как структурируется программа?


Коллеги!
Нужна Ваша помощь в объяснении структуры программы.
Уточню вопрос.
Как известно большинство программ отлаживается небольшими кусочками, которые затем необходимо объединить.
Простой способ - это скопировать и вставить.
Поскольку я занимался фокспро более 5-ти лет назад, а Клиппером - лет 20 назад, то естественно возникли проблемы.
Например, не рекомендуется изпользовать set procrdure to. Предлагается использовать #include.
А почитать - негде.
Кроме того все примеры ориентированы на создание одностраничного документа, а там - где многостраничный - такого наворочено,
что без поллитра не разберешься.
Кроме того , очень капризные команды browse , Edit.
У меня файл был в формате sqlite3. Я перевел его в dbf. но упомянутые команды стоят насмерть и выдают ошибки.
Это я так - наболело!
За всю свою жизнь я не встретил ни одной бесплатной системы, с которой можно было бы работать нормально.
Вопрос: Как все же использовать #include. чтобы не перекопировать программы и какова должна быть структура программы?
Заранее признателен!

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 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"


Спасибо: 1 
ПрофильЦитата Ответить



Пост 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


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 255
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 23.07.14 10:13. Заголовок: evgeny2006 пишет: К..


evgeny2006 пишет:

 цитата:
Как все же использовать #include. чтобы не перекопировать программы



Лучше использовать редактор с поддержкой проектной организации разрабатываемой программы, к примеру бесплатные Notepad++ или xEdit3.
xEdit - бесплатный кусок от коммерческого Xailer и заточен под Harbour.
Разбиваешь программу на модули ( .prg ) по любому признаку - функциональному, смысловому и пр. т.е. как угодно.
Объединяешь модули в один проект и никаких инклюдов. При сборке проекта компилируются только измененные модули и если их размер не очень большой, то сборка идет очень быстро. В текущем проекте у меня более 120 модулей и 1,5 МБ исходного кода, в отлаживаемом модуле 700 строк время сборки проекта на стареньком компе 12 секунд



Спасибо: 1 
ПрофильЦитата Ответить
администратор




Пост N: 256
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 23.07.14 10:17. Заголовок: Haz пишет: Если я к..


Haz пишет:

 цитата:
Если я компилирую программу через hmg_IDE



это уже лучше в ветке GUI обсудить, и лучше взглянуть demo.prg

Спасибо: 1 
ПрофильЦитата Ответить



Пост N: 8
Зарегистрирован: 05.07.14
ссылка на сообщение  Отправлено: 23.07.14 10:45. Заголовок: Haz пишет: это уже ..


Haz пишет:

 цитата:
это уже лучше в ветке GUI обсудить, и лучше взглянуть demo.prg


Да я и отлаживаю demo, заменив латиницу на русский шрифт.
Вероятно есть какие-то настройки, до которых я еще не смог добраться.
За ответы - щчень для меня полезные - СПАСИБО!

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 12
Зарегистрирован: 05.07.14
ссылка на сообщение  Отправлено: 25.07.14 10:53. Заголовок: Haz пишет: xEdit - ..


Haz пишет:

 цитата:
xEdit - бесплатный кусок от коммерческого Xailer и заточен под Harbour


Скачал версию 3.2, но настроить ее никак не могу. То не сохраняет установленные директории,
то отсутствует возможность установить среду. Это так называемое бесплатное ПО.
Предполагаю, что это делается умышленно! Конечно, можно вручную отредактировать файл конфигурации.
Но возникает вопрос, не выкинут ли авторы что-нибудь по-круче в процессе разработки.
Ксати посмотрел доступ к БД, попробовал модифицировать таблицу. Внешне все ОК, но сохранять отказывается.

Вы какой версией пользуетесь?


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 72
Зарегистрирован: 24.04.13
ссылка на сообщение  Отправлено: 25.07.14 11:13. Заголовок: Тоже скачал xEdit. ..


Тоже скачал xEdit.
Внешне xEdit выглядит солидно. Похож на старый Delphi.
Работать с Harbour через IDE наверное удобнее.
Может есть какой пошаговый хелп для первичной настройки?
Я так понимаю он должен знать где находится компилятор, библиотеки и т.д.


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост 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 и работаем



Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 73
Зарегистрирован: 24.04.13
ссылка на сообщение  Отправлено: 25.07.14 14:56. Заголовок: Haz, в xEdit кодиров..


Haz, в xEdit кодировка только Windows?
Похоже что 866 кодировка не поддерживается.
Русские буквы некорректно отображаются.
Есть повод всё перевести на Windows-кодировку.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 258
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 25.07.14 15:33. Заголовок: azoo пишет: кодиров..


azoo пишет:

 цитата:
кодировка только Windows



проверь каким шрифтом рисует , если в OEM нужно - поменяй на Terminal

Tools->Editor option->Syntax

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 16
Зарегистрирован: 05.07.14
ссылка на сообщение  Отправлено: 25.07.14 15:54. Заголовок: Haz пишет: хелп ест..


Haz пишет:

 цитата:
хелп есть сайте и форумах разработчика , для Xailer ( Xedit - его компонент )
если коротко


Спасибо за разъяснение!!!

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 28
Зарегистрирован: 05.07.14
ссылка на сообщение  Отправлено: 27.07.14 09:00. Заголовок: Haz пишет: проверь ..


Haz пишет:

 цитата:
проверь каким шрифтом рисует , если в OEM нужно - поменяй на Terminal


Мой вопрос касается работы в Windows с выводом результатов нв консоль.
Часто требуется проверить какой-либо кусок программы без необходимости вывода результатов в окна.
Как организовать такую программу?
Как ее компилировать и линковать?


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 982
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 27.07.14 09:08. Заголовок: evgeny2006 пишет: Ч..


evgeny2006 пишет:

 цитата:
Часто требуется проверить какой-либо кусок программы без необходимости вывода результатов в окна.


Функции hb_ANSItoOEM() и hb_OEMtoANSI() подойдут?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 29
Зарегистрирован: 05.07.14
ссылка на сообщение  Отправлено: 27.07.14 10:32. Заголовок: PSP пишет: Функции ..


PSP пишет:

 цитата:
Функции hb_ANSItoOEM() и hb_OEMtoANSI() подойдут?


Видимо есть какая-то специфика работы с Harbour в Windows, которую я не могу ухватить.
При работе с окнами - вопросов нет. Я же хочу просто вывести результаты на консоль (экран),
т.е. применить команду аналогичную print, использующуюся во многих языках программирования.
Вот здесь и облом.
Я использую стандартные .bat файлы для компиляции и линкования. Возможно где-то в них
необходимо вносить изменения.
Попробовал примеры из справочника по функциям - тишина!
Если подскажите где почитать, буду весьма признателен.
Нужно ли подключать какие-либо библиотеки при использовании функций hb_ANSItoOEM() и hb_OEMtoANSI()

Спасибо за ответ!!!

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост 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)
Или вы что-то другое хотите спросить?

Спасибо: 1 
ПрофильЦитата Ответить



Пост N: 32
Зарегистрирован: 05.07.14
ссылка на сообщение  Отправлено: 27.07.14 16:12. Заголовок: PSP пишет: Или вы ч..


PSP пишет:

 цитата:
Или вы что-то другое хотите спросить?


Я имел ввиду нечто другое.
По Вашему совету я использовал пример, в который добавил пару строк
Скрытый текст

Так вот. Если я запускаю этот пример с помощью hbrun.exe, то он нормально отрабатывает.
Правда внешний вид на консоли ужасный.
Если же я компилирую и линкую программу с помощью .bat файла
Скрытый текст

то на экран вообще ничего не выводится.
Вопрос состоял в том, как запускать такие программы.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост 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

Спасибо: 1 
ПрофильЦитата Ответить
администратор




Пост 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 - консольный режим

Спасибо: 1 
ПрофильЦитата Ответить



Пост N: 34
Зарегистрирован: 05.07.14
ссылка на сообщение  Отправлено: 27.07.14 16:36. Заголовок: Haz пишет: добавьте..


Haz пишет:

 цитата:
добавьте ключ /c в батник


Спасибо большое!!!

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 35
Зарегистрирован: 05.07.14
ссылка на сообщение  Отправлено: 27.07.14 16:39. Заголовок: Dima пишет: а собир..


Dima пишет:

 цитата:
а собирать удобнее с помощью hbmk2.exe


Я пробовал пару раз, что-то не получилось и я на время отложил его использование.
Предпочтительно, конечно, использовать hbmk2.exe
Спасибо!

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 39 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 166
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет