Автор | Сообщение |
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 12.11.05 03:57. Заголовок: Clipper 5.2-5.3 проблем, а в Harbour?
Надоело биться с Clipperами 5.2(SIX)-5.3 Выяснилось, например, что значения SCOPE не воспринимаются как ограничители для первой/последней записи списка в TBrowse при нажатии комбинаций Ctrl_PgUp и Ctrl_PgDown соответственно... Так что получаем переход на первую или последнюю запись неSCOPанутого списка и как следствие (если запись не соответствует SCOPу) - зависание... Хотелось бы попробовать Harbour, но как на него перейти, чёткого алгоритма пока не встречал. То есть где-то полгодика тому увидел и скачал FAQи на эту тему, но там нет алгоритма действий, всё вразброс, да и рассчитано на человека, который знает-понимает, что такое Си, а если с ним и с его библиотеками не сталкивался в принципе никогда? Кто-нибудь может порадовать алгоритмом перехода на Harbour?
|
|
|
Ответов - 69
, стр:
1
2
3
4
All
[только новые]
|
|
|
| Администратор
|
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 12.11.05 11:44. Заголовок: Re:
В харборе этой проблемы естественно нет, SCOPE это тот же жесткий фильтр А алгоритма перехода на харбор нет, надо просто пересобрать свой проект и посмотреть что получится. Если вылезут какие-то нереализованные функции, подумать чем их можно заменить. Если используются какие-то сторонние библиотеки без сырцов, вопрос сложнее Цель создания харбора ведь была обеспечить как максимамльно возможную совмемстимость с клиппером. Так для начала можно считать, что харбор - это тот же клиппер, пересобрать свои проекты, ну и потихоньку знакомиться с его новыми возможностями, кототрых в клиппере нет
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 13.11.05 04:15. Заголовок: Re:
Да я не о том! Мне бы полный список того, что нужно скачать и откуда, а также АЛГОРИТМ того, КАК это скаченное использовать. Пошагово. Для такого вот морального урода, который в Си не в зуб ногой и в принципе не понимает, как там что друг к другу цепляется, и понятия не имеет, что такое "проект" и тому подобное! Я пока просто не понимаю, КАК сделать (то самое "пересобрать") программу на Harbour. В этом суть вопроса.
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 13.11.05 14:26. Заголовок: Re:
|
|
|
|
| постоянный участник
|
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 15.11.05 19:50. Заголовок: Re:
Лукашевскмй пишет: цитата Надоело биться с Clipperами 5.2(SIX)-5.3 Выяснилось, например, что значения SCOPE не воспринимаются как ограничители для первой/последней записи списка в TBrowse при нажатии комбинаций Ctrl_PgUp и Ctrl_PgDown соответственно...
Глупости. Воспринимаются. Это жесткий фильтр, что для tbrowse, что для while !eof() ; skip ; end
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 19.11.05 02:49. Заголовок: suv: Глупости...
Я могу прислать кусок программы вместе с обработчиком TBrowse и примером базы, где TBrowse со SCOPE творит именно то, что я написал... Как ещё доказать своё утверждение, не представляю. По крайней мере для значения SCOPETOP и SCOPEBOTTOM SPACE(60)при текущем индексе на текстовое поле длиной 60 символов, если стоим на записи, у которой это поле не пустое, получаем зависание.
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 19.11.05 03:06. Заголовок: Re:
Сергей Р. О том самом FAQе я и вёл речь в начальном сообщении от 12.11.2005: информации куча, а как сделать Harbour-программу, после его прочтения понятнее не становится ни на грош. Чёткой последовательности действий (алгоритма) нет...
|
|
|
|
| Администратор
|
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 19.11.05 11:35. Заголовок: Re:
A. Где взять харбор ? Q. На сайтах: www.harbour-project.org и www.xhabour.org В разделе downloads надо скачать бинарники под win32, собранные C-компилятором Borland C++ 5.1.1, а также бинарники раздела contribution. Харбор разбит на 2 части: собственно харбор и сторонние библиотеки (contribution). Скачал ? A. Что еще надо, чтобы собрать харбор-программу под Windows ? Q. Прежде всего надо скачать компилятор Borland C++ 5.5.1 по адресу: ftp://ftpd.borland.com/download/bcppbuilder/freecommandLinetools.exe Скачал ? Установил ? A. Как собрать харбор-программу ? Q. Сборка харбор-программы состоит из 3-х этапов: компиляция компилятором harbour.exe в C-код, затем компиляция C-компилятором получившихся C-модулей в obj-формат, и наконец линковка обьектных модулей линкером и получение результирующего приложения. Для работы Borland C++ необходимо: указать каталог c:\bcc55\bin в переменной окружения PATH (в файле autoexec.bat); в каталоге c:\bcc55\bin создать еще 2 файла: bcc32.cfg: -I"c:\Bcc55\include" -L"c:\Bcc55\lib" и ilink32.cfg: -L"c:\Bcc55\lib" Должно быть достаточно места для переменных окружения, для этого в Win9x в файле config.sys надо указать: Shell=C:\COMMAND.COM C:\ /E:4096 /P или еще больше, а для winnt убрать лишние переменные окружения. Затем непосредственно для сборки программы надо использовать пакетный файл bld_b32.bat из каталога harbour\bin, конечно модифицировав его для своих целей. Проделал ? Зря ты испугался упоминания C, нигде ведь не говорится о необходимости на нем программировать
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 20.11.05 04:37. Заголовок: Re: Pasha
www.harbour-project.org страница загружается, в DOWNLOAD захожу, на загрузку бинарника для "Windows 32 bits 2.5Mb" щёлкаю и получаю "Невозможно отобразить страницу" www.xhabour.org - сообщение "Невозможно отобразить страницу" сразу же Разницы в результате не ощущаю :-(
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 20.11.05 05:15. Заголовок: Re:
Так, с xhaRbour разобрался - буква R в имени сайта куда-то пропала. Скачал, буду устанавливать и смотреть.
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 20.11.05 12:10. Заголовок: Re:
Лукашевскмй Можно попробовать и Clip (www.itk.ru). Одно что но, работает под Виндой только ч.з. CigWin
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 21.11.05 01:22. Заголовок: Re:
Pasha пишет: цитата в Win9x в файле config.sys надо указать: Shell=C:\COMMAND.COM C:\ /E:4096 /P
А что в Миллениуме указывать, где файл config.sys не используется?
|
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 21.11.05 13:50. Заголовок: Re:
о настройке максимального числа открытых файлов посмотри тут
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 21.11.05 14:08. Заголовок: Re:
А причем здесь максимальное число открытых файлов? Кстати, может в Миллениуме этот размер памяти для переменных окружения вообще не нужно прописывать?
|
|
|
|
| Администратор
|
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 21.11.05 16:22. Заголовок: Re:
Как это делается в миллениуме я не знаю, больно редкая ОС, надо поискать А нужно или нет увеличивать env size можно определить только опытным путем Если сборка пройдет нормально, значит все в порядке
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 21.11.05 20:37. Заголовок: Re:
Pasha: Попробовал xharbour: при компиляции им любого моего модуля выдаётся Error F0002 Redifinition of procedure or function: <имя процедуры> Что бы это значило?
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 21.11.05 21:17. Заголовок: Re:
В проекте на Clipperе, использовались .obj файлы, полученные из ассемблерных путем компиляции в TASM. В xHarbourе линкер ругается на 16-битный сегмент. Что можно сделать? Как и следовало ожидать, функции для мыши, которые я использовал, не нашел. Посоветуйте, какие библиотеки взять для поддержки мыши и где посмотреть описание. Вообще, документация какая-нибудь есть по xHarbourу?
|
|
|
|
| Администратор
|
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 22.11.05 09:40. Заголовок: Re:
Лукашевскмй пишет: цитата Попробовал xharbour: при компиляции им любого моего модуля выдаётся Error F0002 Redifinition of procedure or function: <имя процедуры> Что бы это значило?
Проблема пока детская, будут и серьезнее Ты вероятно используешь в prg код без начальной процедуры или функции Убери в bld.bat в строке 116 параметр -n или в своих prg оформи главный модуль: proc main ... return Пока все как в клиппере btw с первым почином ! Ты уже почти собрал харбор-программу :)
|
|
|
|
| Администратор
|
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 22.11.05 09:54. Заголовок: Re:
rvu 16-битный модуль к 32-битной программе прилинковать в принципе невозможно. Пойми, ито все-таки ДРУГОЙ компилятор Подули надо переписать или есть есть сырцы пересобрать как 32-х битные, функции передачи параметров и возврат результата немного другие Мышку в харборе использовать очень просто: При вызове Inkey() 2-й параметр - это маска, ее надо указывать 255: Inkey(0, 255) и затем анализировать клавиши: #define K_MOUSEMOVE 1001 #define K_LBUTTONDOWN 1002 #define K_LBUTTONUP 1003 #define K_RBUTTONDOWN 1004 #define K_RBUTTONUP 1005 #define K_LDBLCLK 1006 #define K_RDBLCLK 1007 #define K_MBUTTONDOWN 1008 // Middle Button Down #define K_MBUTTONUP 1009 // Middle Button Up #define K_MDBLCLK 1010 // Middle Button Double Click #define K_MMLEFTDOWN 1011 // Mouse Move Left Down #define K_MMRIGHTDOWN 1012 // Mouse Move Right Down #define K_MMMIDDLEDOWN 1013 // Mouse Move Middle Down #define K_MWFORWARD 1014 // Mouse Wheel Forward #define K_MWBACKWARD 1015 // Mouse Wheel Backward #define K_NCMOUSEMOVE 1016 // Non-Client Area Mouse Movement Позицию курсора мышки дают функции MROW(), MCOL() С докой сложнее. В каталоге doc что-то конечно есть Еще на www.xharbour.com Ron выкладывал какой-то hlp-файл, поищи Насчет мышки добавлю в faq
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 22.11.05 12:13. Заголовок: Re:
Pasha пишет: цитата 16-битный модуль к 32-битной программе прилинковать в принципе невозможно.
Это понятно. Pasha пишет: цитата если есть сырцы пересобрать как 32-х битные, функции передачи параметров и возврат результата немного другие
Тексты есть, но вот какие функции передачи параметров и возврат результата, где можно узнать? Как это все делается? И еще, функции KEYSEC() KEYTIME() не поддерживаются?
|
|
|
|
| Администратор
|
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 22.11.05 15:26. Заголовок: Re:
Посмотри include\hbapi.h там есть прототипы всех этих функций прием параметров: extern HB_EXPORT char * hb_parc( int iParam, ... ); /* retrieve a string parameter */ extern HB_EXPORT char * hb_parcx( int iParam, ... ); /* retrieve a string parameter */ ... и возврат результата: #define hb_ret() hb_itemClear( hb_stackReturnItem() ) #define hb_reta( ulLen ) hb_arrayNew( hb_stackReturnItem(), (ulLen) ) #define hb_retc( szText ) hb_itemPutC( hb_stackReturnItem(), (szText) ) #define hb_retclen( szText, ulLen ) hb_itemPutCL( hb_stackReturnItem(), (szText), (ulLen) ) и т.д. Они очень похожи на клипперовские, только другой префикс Лучше всего конечно делать такие процедуры на С, я еще не встречал, чтобы писали на asm, расве что мелкие вставки KeySec() и KeyTime() действительно нет, харбор ведь многоплатформенный, такая специфика как скэнкоды относится только к DOS, в других ОС и такого понятия нет. Попробуй сделать как-то через __Keyboard()
|
|
|
Ответов - 69
, стр:
1
2
3
4
All
[только новые]
|
|