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



Не зарегистрирован
Зарегистрирован: 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?

Спасибо: 0 
Ответов - 69 , стр: 1 2 3 4 All [только новые]


Администратор




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 12.11.05 11:44. Заголовок: Re:


В харборе этой проблемы естественно нет, SCOPE это тот же жесткий фильтр

А алгоритма перехода на харбор нет, надо просто пересобрать свой проект и
посмотреть что получится. Если вылезут какие-то нереализованные функции,
подумать чем их можно заменить. Если используются какие-то сторонние
библиотеки без сырцов, вопрос сложнее

Цель создания харбора ведь была обеспечить как максимамльно возможную
совмемстимость с клиппером. Так для начала можно считать, что харбор - это
тот же клиппер, пересобрать свои проекты, ну и потихоньку знакомиться с
его новыми возможностями, кототрых в клиппере нет

Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 13.11.05 04:15. Заголовок: Re:


Да я не о том!
Мне бы полный список того, что нужно скачать и откуда, а также АЛГОРИТМ того, КАК это скаченное использовать. Пошагово. Для такого вот морального урода, который в Си не в зуб ногой и в принципе не понимает, как там что друг к другу цепляется, и понятия не имеет, что такое "проект" и тому подобное!
Я пока просто не понимаю, КАК сделать (то самое "пересобрать") программу на Harbour. В этом суть вопроса.

Спасибо: 0 



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 13.11.05 14:26. Заголовок: Re:


Для начала почитай Faq у Павла , а там сходишь по ссылкам и получишь еще массу вопросов .
http://xharbour.nm.ru/harbour_faq.txt

Спасибо: 0 
постоянный участник




Не зарегистрирован
Зарегистрирован: 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

Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 19.11.05 02:49. Заголовок: suv: Глупости...


Я могу прислать кусок программы вместе с обработчиком TBrowse и примером базы, где TBrowse со SCOPE творит именно то, что я написал... Как ещё доказать своё утверждение, не представляю.
По крайней мере для значения SCOPETOP и SCOPEBOTTOM SPACE(60)при текущем индексе на текстовое поле длиной 60 символов, если стоим на записи, у которой это поле не пустое, получаем зависание.

Спасибо: 0 



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 19.11.05 03:06. Заголовок: Re:


Сергей Р.

О том самом FAQе я и вёл речь в начальном сообщении от 12.11.2005: информации куча, а как сделать Harbour-программу, после его прочтения понятнее не становится ни на грош. Чёткой последовательности действий (алгоритма) нет...

Спасибо: 0 
Администратор




Не зарегистрирован
Зарегистрирован: 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, нигде ведь не говорится о необходимости
на нем программировать


Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 20.11.05 04:37. Заголовок: Re: Pasha


www.harbour-project.org страница загружается, в DOWNLOAD захожу, на загрузку бинарника для "Windows 32 bits 2.5Mb" щёлкаю и получаю "Невозможно отобразить страницу"

www.xhabour.org - сообщение "Невозможно отобразить страницу" сразу же

Разницы в результате не ощущаю :-(

Спасибо: 0 



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 20.11.05 05:15. Заголовок: Re:


Так, с xhaRbour разобрался - буква R в имени сайта куда-то пропала. Скачал, буду устанавливать и смотреть.

Спасибо: 0 



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 20.11.05 12:10. Заголовок: Re:


Лукашевскмй

Можно попробовать и Clip (www.itk.ru). Одно что но, работает под Виндой только ч.з. CigWin

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 21.11.05 01:22. Заголовок: Re:


Pasha пишет:
цитата
в Win9x в файле config.sys надо указать:
Shell=C:\COMMAND.COM C:\ /E:4096 /P


А что в Миллениуме указывать, где файл config.sys не используется?

Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 21.11.05 13:50. Заголовок: Re:


о настройке максимального числа открытых файлов посмотри тут

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 21.11.05 14:08. Заголовок: Re:


А причем здесь максимальное число открытых файлов?

Кстати, может в Миллениуме этот размер памяти для переменных окружения вообще не нужно прописывать?

Спасибо: 0 
Профиль
Администратор




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 21.11.05 16:22. Заголовок: Re:


Как это делается в миллениуме я не знаю, больно редкая ОС, надо поискать
А нужно или нет увеличивать env size можно определить только опытным путем
Если сборка пройдет нормально, значит все в порядке

Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 21.11.05 20:37. Заголовок: Re:


Pasha:

Попробовал xharbour: при компиляции им любого моего модуля выдаётся Error F0002 Redifinition of procedure or function: <имя процедуры>

Что бы это значило?

Спасибо: 0 





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 21.11.05 21:17. Заголовок: Re:


В проекте на Clipperе, использовались .obj файлы, полученные из ассемблерных путем компиляции в TASM.
В xHarbourе линкер ругается на 16-битный сегмент.
Что можно сделать?

Как и следовало ожидать, функции для мыши, которые я использовал, не нашел.
Посоветуйте, какие библиотеки взять для поддержки мыши и где посмотреть описание.

Вообще, документация какая-нибудь есть по xHarbourу?

Спасибо: 0 
Профиль
Администратор




Не зарегистрирован
Зарегистрирован: 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 с первым почином ! Ты уже почти собрал харбор-программу :)

Спасибо: 0 
Профиль
Администратор




Не зарегистрирован
Зарегистрирован: 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

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 22.11.05 12:13. Заголовок: Re:


Pasha пишет:
цитата
16-битный модуль к 32-битной программе прилинковать в принципе
невозможно.


Это понятно.

Pasha пишет:
цитата
если есть сырцы пересобрать как 32-х битные, функции передачи параметров и возврат результата немного другие


Тексты есть, но вот какие функции передачи параметров и возврат результата, где можно узнать? Как это все делается?

И еще, функции KEYSEC() KEYTIME() не поддерживаются?

Спасибо: 0 
Профиль
Администратор




Не зарегистрирован
Зарегистрирован: 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()


Спасибо: 0 
Профиль
Администратор




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 22.11.05 20:20. Заголовок: Re:


Вот KeySec и KeyTime, конечно без поддержки скэнкодов, используй
пока так, я их залью на CVS и в следующем релизе они будут

keyb1.prg:

Static nHandle := 0
Static nSeconds, nsKey, nsTime, nsCounter, lsMode

Function KeySec(nKey, nTime, nCounter, lMode)
Local lActivated := .f.

if nHandle != 0
HB_IdleDel(nHandle)
nHandle := 0
endif

if nKey != nil

if nTime < 0
nTime := -nTime/18.2
endif
if nCounter == nil
nCounter := 1
endif
if lMode == nil
lMode := .f.
endif

nsKey := nKey
nsTime := nTime
nsCounter := nCounter
lsMode := lMode
nSeconds := Seconds()

nHandle := HB_IdleAdd({|| doKeySec()})
lActivated := .t.

endif
Return lActivated

Static function doKeySec()
Local nSec := Seconds()

if lsMode .and. ! Empty(NextKey())
nSeconds := nSec
elseif nsCounter != 0 .and. nSec - nSeconds >= nsTime
__Keyboard(nsKey)
if nsCounter > 0
nsCounter --
endif
if nsCounter == 0
HB_IdleDel(nHandle)
nHandle := 0
else
nSeconds := nSec
endif
endif
Return nil


Спасибо: 0 
Профиль
Администратор




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 22.11.05 20:23. Заголовок: Re:


и keyb2.prg:


Static nHandle := 0, cTime, nsKey
Static nHour, nMin, nSec, nLast


Function KeyTime(nKey, cClockTime)
Local lActivated := .f.

if nHandle != 0
HB_IdleDel(nHandle)
nHandle := 0
endif

if nKey != nil .and. ValType(cClockTime) = 'C'

nsKey := nKey
cTime := cClockTime
nHour := Val(Substr(cClockTime, 1, 2))
nMin := Val(Substr(cClockTime, 4, 2))
nSec := Val(Substr(cClockTime, 7, 2))
nLast := -1
nHandle := HB_IdleAdd({|| doKeyTime()})
lActivated := .t.

endif
Return lActivated

Static function doKeyTime()
Local ccTime := Time()
Local nHr := Val(Substr(ccTime, 1, 2))
Local nMn := Val(Substr(ccTime, 4, 2))
Local nSc := Val(Substr(ccTime, 7, 2))

if nHour = 99
if nHr > nLast
__Keyboard(nsKey)
nLast := nHr
if nHr == 23
HB_IdleDel(nHandle)
nHandle := 0
endif
endif
elseif nMin = 99 .and. nHr == nHour
if nMn > nLast
__Keyboard(nsKey)
nLast := nMn
if nMn == 59
HB_IdleDel(nHandle)
nHandle := 0
endif
endif
elseif nSec = 99 .and. nHr == nHour .and. nMn == nMin
if nSc > nLast
__Keyboard(nsKey)
nLast := nSc
if nSc == 59
HB_IdleDel(nHandle)
nHandle := 0
endif
endif
elseif ccTime > cTime

__Keyboard(nsKey)
HB_IdleDel(nHandle)
nHandle := 0

endif
Return nil


Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 23.11.05 13:52. Заголовок: Re:


Pasha, спасибо большое!

А в полноэкранном режиме всегда такие тормоза? (Пока тестирую под Миллениум, под другие Винды еще не пробовал).
Как-то с этом бороться можно?



Спасибо: 0 
Профиль
Администратор




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 23.11.05 22:36. Заголовок: Re:


Тормоза в фуллскрин есть только под Win98, WinMe и наверное в Win95
В оконном режиме в этих ОС тормозов нет
В winnt/2k/xp/2003 тормозов нет ни в фуллскрин ни в оконном режиме
Тормоза связаны с медленной работой в win9x консольных винапишных
функций работы с курсором (т.е. тормоза возникают только при
изменении позиции курсора или SetCursor(1)/SetCursor(0))
Такая же проблема стояла и в других консольных win32 программах,
пример far и dos navigator (win32-версия). В этих программах
проблема решена путем вызова этих функций в отдельном потоке
(thread). В харборе эта проблема к сожалению не решена. Я пытался
создавать поток для вызова SetConsoleCursorPosition и тому подобное,
но результата не было - видать не хватает опыта использования winapi
Работу в фуллскрин можно заметно ускорить путем использования при
выводе на экран функций DispBegin() - DispEnd(). Например перед первым
@ say get поставить DispBegin(), а перед READ - DispEnd(). В этом случае
вывод на экран буферируется и весь экран обновляется один раз после
DispEnd. И пореже включать/выключать курсор. При выключенном курсоре
вывод на экран выполняется быстро и тормозов нет !
Кстати сам текстовый терминал харбора gtwin предельно оптимизирован
и где только можно использует буферизацию.
У меня например благодаря такой буферизации фуллскирин работает
довольно приемлемо и тормоза почти не чувствуются. Да и win9x
сейчас выходит из употребления, а в winxp проблемы нет вообще

Ну а радикальный способ решить вопрос - использовать другой терминал:
gtwvt. Это не текстовый режим, а его эмуляция через графику, почти как
оконный режим, но при этом дополнительно есть много других возможностей


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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 23.11.05 23:00. Заголовок: Re:


Pasha
я так понял что контакта с автором FAR ни кто не нашел..........
Интерестно через что он работает, WINAPI или как то иначе......


Спасибо: 0 
Профиль
Администратор




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 24.11.05 10:44. Заголовок: Re:


Да у Рошаля спрашивать уже и ничего не надо, что делать вобщем-то понятно,
только вот как :( техника хромает
DOS Navigator ведь тоже OpenSource проект, я смотрел его паскалевские сырцы,
и делал также в харборовском gtwin на C. Тормоза оставались
Может там еще что-то инициализировать надо, не знаю


Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 25.11.05 00:13. Заголовок: Re:


Pasha пишет:
цитата
Тормоза в фуллскрин есть только под Win98, WinMe и наверное в Win95
В оконном режиме в этих ОС тормозов нет


В оконном режиме, действительно все нормально. Странно вот что -
тестировал программу на трех компьютерах, полноэкранный режим -
- Win XP - Celeron-1000 - все идеально
- Win 98 - P-166 (первый пентиум) - вполне неплохо
- Win Me - Celeron-1000 - очень сильно тормозит, на порядок больше, чем на P-166.

Спасибо: 0 
Профиль
Администратор




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 25.11.05 11:21. Заголовок: Re:


Что тут сказать... Значит в Me эта функция winapi работает еще хуже
Или дело в видеодрайвере
Я тоже замечал что харбор-терминал на Cel1100 работает шустрее чем на Cel2000
И там и там win98

Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 25.11.05 12:49. Заголовок: Re:


Pasha пишет:
цитата
Проблема пока детская, будут и серьезнее
Ты вероятно используешь в prg код без начальной процедуры или функции
Убери в bld.bat в строке 116 параметр -n или в своих prg оформи главный модуль:

proc main
...
return


Не понял, какой такой bld.bat???
Ошибка возникает, когда я выполняю компиляцию:
xharbour.exe fun.prg ,например. И такая лабуда на каждый абсолютно prg...
Также не понял, что, в каждом prg должна быть процедура MAIN? Но тогда уж точно Redefinition получится!

Спасибо: 0 
администратор




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 25.11.05 17:52. Заголовок: Re:


Лукашевскмй
Покажи пример небольшого исходника который ты не можешь компильнуть.

Процедура MAIN должна быть в основном модуле.
А вообще юзай например HBMAKE в интерактивном режиме для создания и редактирования сценария.

BLD.BAT батничек который лежит в harbour\bin и служит для сборки.
Пример запуска можно увидеть , запустив его без параметров.



Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 26.11.05 07:42. Заголовок: Re:


Dima пишет:
цитата
BLD.BAT батничек который лежит в harbour\bin и служит для сборки.
Пример запуска можно увидеть , запустив его без параметров.

У меня в xharbour\bin только 3 файла: harbour.exe, hbdoc.exe и hamake.exe и всё! Никакого bld.bat там нет. Ну и ладно, до линковки мне ещё семь вёрст и всё лесом...
А компилить я пытаюсь АБСОЛЮТНО те же самые PRG от 5.2, ни единого знака в них не менял!

Спасибо: 0 



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 26.11.05 08:11. Заголовок: Re:


Dima

Понял по компиляции: в xharbour (по крайней мере 0.99.50, который я скачал), нельзя чтобы PRG-модуль назывался так же, как любая из процедур или функций внутри него... Но у меня половина модулей по названиям функций, кот. внутри, называется. А модулей штук 90, если я их переименую, то запутаюсь нафиг без всякого harbour... Что делать?
А вот чего не понял, это почему результирующий PRG.C в Нортоне по F4 отображается в одну строку, а по F3 нормально... То есть понятно, что дело в концах строк, а как бы это изменить? Или это в Cи так принято?

Спасибо: 0 
Администратор




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 26.11.05 12:27. Заголовок: Re:


Дошло до меня кажется
Похоже при сборке релиза для bcc в xharbour\bin забыли положить *.bat
По крайней мере год назад это делали. Это так ? Я и не знаю, релиз не скачиваю
Лукашевский, давай свой адрес, срочно вышлем !
И надо собирать программу харбором с теми же параметрами, что ты
ее собираешь в клиппере. А для этого исправить строку не помню уже номер
в bld.bat

Юниксовые компиляторы С понимают разделитель строк Chr(10), а виндозные -
и Chr(10) и Chr(13)+Chr(10). Для общности компилятор харбора генерирует
выходной С-файл с разделитетем Chr(10)
Используй вместо нортона фар, он тоже понимает оба разделителя строк
Менять компилятор харбора из-за особенности редактора древнего нортона никто не станет


Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 27.11.05 02:39. Заголовок: Re:


Pasha пишет:
цитата
Похоже при сборке релиза для bcc в xharbour\bin забыли положить *.bat
По крайней мере год назад это делали. Это так ? Я и не знаю, релиз не скачиваю
Лукашевский, давай свой адрес, срочно вышлем !

Именно так, Bat-ников в BIN нет.
Мой адрес не дом и не улица, а kniga@online.ru
Хотелось бы узнать, с чем ещё я ОБЯЗАТЕЛЬНО столкнусь. Вызов каких-то дополнительных функций нужно в процедуру MAIN всобачить, вроде бы?

Спасибо: 0 
Администратор




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 27.11.05 12:46. Заголовок: Re:


Отправил

В майн надо поставить русскую кодовую страницу - это есть в фак
И не забудь скачать gtwin с xharbour.nm.ru

Хорошо бы еще скачать сырцы харбора - это необязательно, но ты
сможешь по ним увидеть реализацию всех функций

Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.11.05 01:26. Заголовок: Re:


Спасибо за BAT, но у меня тоже Millennium и сообщение о нехватке памяти для переменных среды при выполненни батника... Но Сишный файл вроде создаётся...

Насчёт gtwin.lib - есть ли существенная разхница между файлом от 21.06.05 в архиве с xharbour.nm.ru и файлом от 06.06.05 из папки LIB из архива XHarbour? По размеру они одинаковы... И кстати, чего с ним делать-то нужно?

Спасибо: 0 
администратор




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.11.05 09:10. Заголовок: Re:


Лукашевский
Снеси этот каличный Линолиум ;)))


Спасибо: 0 
Профиль
Администратор




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.11.05 10:15. Заголовок: Re:


С миллениум я не помогу, у меня его нет, поищи на гугле или спроси на каком-нибудь форуме по виндузам

gtwin.lib с xharbour.nm.ru надо переписать в каталог lib
пофиксен ввод русской буквы "р"

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


Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.11.05 12:35. Заголовок: Re:


Pasha пишет
>Тормоза в фуллскрин есть только под Win98, WinMe и наверное в Win95
>В оконном режиме в этих ОС тормозов нет
При работе в сети в режиме файл- сервер , таблица расположена на сервере, и в оконном режиме , тормозит.Но скорость вычислений нормальная.Поэтому сетевые программы не могу на Харбор перевести

Спасибо: 0 
Профиль
Администратор




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.11.05 15:08. Заголовок: Re:


Медленнее чем в клиппере ? На каких операцих ? На чтении или записи в таблицу ?
Странно, у меня как раз быстрее чем в клиппере получается

Есть один момент. Есть тормоза при обновлении файлов, то надо:
в модуле source\rtl\filesys.c в функции fsCommit между строк:

HB_TRACE(HB_TR_DEBUG, ("hb_fsCommit(%p)", hFileHandle));
и
HB_STACK_UNLOCK

вставить:

#if defined(HB_OS_WIN_32)
hb_fsSetIOError( TRUE, 0 );
return;
#endif

и пересобрать этот модуль
Может поможет

Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.11.05 15:11. Заголовок: Re:


С компиляцией harbour разобрался, а вот компиляция bcc55 выдаёт кучу ошибок типа:

Error: Unresolved external '_HB_FUN_DBSELECTAREA' referenced from F:\XHARBOUR\A_D_SER.OBJ

Это нормально? И как потом получившиеся OBJ собирать?

Спасибо: 0 



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.11.05 16:16. Заголовок: Re:


Ситуация: в разных PRG-модулях есть несколько одинаково называющихся Static функций, причём один такой модуль вызывается из другого.

xHarbour при компиляции цепляет этот модуль (он и все прочие вызываемые модули цепляет - зачем, интересно?) и выдаёт ошибку:
Error F0002 Redefinition of procedure or function <имя этой функции>...

Спасибо: 0 
Администратор




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.11.05 17:59. Заголовок: Re:


Давай сделаем так
Вышли мне свою характерную маленькую программу их 2-х 3-х
модулей, на примере которых было бы видно твои проблемы
Я подготовлю батники для сборки программы и отправлю тебе
Только надо быстро - меня со среды не будет, уеду в соседнюю
дружественную страну дней на 10

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


Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 29.11.05 09:36. Заголовок: Re:


Pasha спрашивает:
>Медленнее чем в клиппере ? На каких операцих ? На чтении или записи в >таблицу ?
>Странно, у меня как раз быстрее чем в клиппере получается
Речь идет не о вычислениях, они нормально выполняются( быстрее, чем в Клиппер 5.3 и примерно так же , как в Клиппер 5.1 +Six ), а о выводе на экран, о просмотре в Browse.Вот здесь в сети заметный тормоз.
На локальной машине вполне приемлимо.



Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 29.11.05 13:08. Заголовок: Re:


В клипперовской программе использовались меню, сделанные MENU TO и ACHOICE(). Интересно, к ним как-нибудь можно мышку прикрутить?

И где можно почитать про класс Win32Prn?

Спасибо: 0 
Профиль
Администратор




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 29.11.05 18:34. Заголовок: Re:


win32prn лучше всего посмотреть пример: tests\testw32p.prg
или сырцы самого класса

если добавлять поддержку мышки, то наверное сразу и в READ, и в
ACHOICE, и т.д.
Везде надо в Inkey добавить 2-й параметр - маску и сделать поддержку
нажатий "клавиш" мышки
Кстати, в клиппер 5.3 есть ли поддержка мышки ?

Спасибо: 0 
Профиль
Администратор




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 29.11.05 18:46. Заголовок: Re:


Пардон, с мышкой оказывается все сделано :-)

Надо просто в начале программы поставить:

SET EVENTMASK TO INKEY_ALL


Спасибо: 0 
Профиль
Администратор




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 30.11.05 10:28. Заголовок: Re:


Обнаружилась несовместимость клиппера и харбора

m1.prg:

func main
do m2 with 1
do m2 with 2
return nil

m2.prg:

Static c1

proc m2(nn)
? 'Hello'
return

делаем bld32.bat m1
т.е. harbour с параметром -n и без параметра -m

клиппер собирает, а харбор дает ошибку. Похоже харбор не
рассматривает m2 как отдельный модуль

Я команду DO и не использую, а Андрей напоролся на эту несовместимость
Надо написать Рону


Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 10.12.05 08:41. Заголовок: Re:


Мне в конце концов удалось скомпилить все модули, т.е. по крайне мере получить все файлы .c и все файлы .obj
Однако Ilink32 выдаёт при сборке Fatal: Access violation. Link terminated без всяких уточнений, что именно и в каком именно OBJ ему не понравилось. Blinker так по крайней мере честно говорил, что именно ему не нравится...
Что делать дальше?

Спасибо: 0 





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 17.12.05 23:52. Заголовок: Re:


Сейчас обнаружилось, что не вбивается маленькая русская "р". Вместо нее "h".
gtwin.lib у меня не используется (даже если и подключаю исправленный вариант, ничего не меняется).
Что делать?

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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 18.12.05 00:26. Заголовок: Re:


rvu
А что используется gtwvt ?
Проверил номально набирается маленькая русская "р"


Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 18.12.05 01:11. Заголовок: Re:


Dima пишет:
цитата
А что используется gtwvt ?


Тоже нет. Из всех библиотек используются только
harbour.lib
dllmain.lib
libnf.lib
Кстати, может это и неправильно. В том xHarbourе, который я скачал, .bat файлов для сборки не было, поэтому определял все методом научного тыка. С этими библиотеками удалось откомпилировать клипперовскую программу без ошибок, но буквы "р" нету.

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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 18.12.05 16:13. Заголовок: Re:


rvu
Скачал бы с CSV весь комплект Xharbour и вопросов было бы меньше.


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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 18.12.05 17:07. Заголовок: Re:

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 18.12.05 17:08. Заголовок: Re:


Dima
Да, я уже посмотрел, там это CVS называется.


Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 19.12.05 20:31. Заголовок: Re:


Dima пишет:
цитата
Проверил номально набирается маленькая русская "р"


Я тоже сегодня под Win XP проверил - все нормально.
Проблема была под Win Me.

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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 18.04.06 18:33. Заголовок: Re:


Лукашевскмй пишет:

 цитата:
Я могу прислать кусок программы вместе с обработчиком TBrowse и примером базы, где TBrowse со SCOPE творит именно то, что я написал... Как ещё доказать своё утверждение, не представляю.
По крайней мере для значения SCOPETOP и SCOPEBOTTOM SPACE(60)при текущем индексе на текстовое поле длиной 60 символов, если стоим на записи, у которой это поле не пустое, получаем зависание.



как давно я не был на форуме...

Повторяю - все это глупости. Если актуально - присылай кусок кода.

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 20.04.06 05:24. Заголовок: :suv2


Зависания были в 5.3, когда я "окончательно и бесповоротно" выбрал 5.2e, зависаний не стало, при нажатии Ctrl_PgDown обработчик TBrowse просто возвращает пользовательской функции значение 0 - "база пустая"... и повторная выборка SCOPE по пустому полю не воспринимается вообще. Хотя тут не кусок кода, тут пару модулей нужно присылать - обработчик TBrowse и "пользовательскую функцию"... На какой адрес? На sadko не твой был?


Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 21.04.06 12:43. Заголовок: Re:


rvu пишет:

 цитата:
А причем здесь максимальное число открытых файлов?

Кстати, может в Миллениуме этот размер памяти для переменных окружения вообще не нужно прописывать?



весьма возможно, что и не надо увеличивать.
по моему опыту для xharbour нужен только path на bcc32, остальное можно прописать с абсолютными путями в bat файлах или в make сценариях (там вообще не нужны никакие переменные окружения).



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




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 25.04.06 10:53. Заголовок: Re:


Лукашевский пишет:

 цитата:
Зависания были в 5.3, когда я "окончательно и бесповоротно" выбрал 5.2e, зависаний не стало



Неудивительно. Ведь сикс с 5.3 просто НЕ РАБОТАЕТ. Нет такого сикса.

А set scope в сиксе (с 5.2) работает как жесткий фильтр и ничего в browse переделывать не надо

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 26.04.06 01:51. Заголовок: Re:


suv2 пишет:

 цитата:
Ведь сикс с 5.3 просто НЕ РАБОТАЕТ


А я и не говорил о SIX с 5.3! Я говорил о том что SET SCOPE на пустое поле в нём вешал программу, хотя это может просто из-за глючных в 5.3 CDXов...
А в 5.2 этот жёсткий фильтр на пустое поле, как я уже говорил, на Ctrl PgDown возвращает 0 ("нет данных"), хотя данных таких пока не была нажата Ctrl PgDown виднелось море...

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 26.04.06 13:06. Заголовок: странно. проверил


.. и всё работает. нажимал много раз Ctrl PgDown. и жесткий фильтр всегда возвращает 2. Уверен, что у Вас ошибка - в строке 17.

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 27.04.06 02:19. Заголовок: Re:


SergeJa пишет:

 цитата:
Уверен, что у Вас ошибка - в строке 17.


Извиняюсь, в строке 17 чего именно? И какая именно ошибка?

А Вы точно пробовали это со SCOPE на пустое значение поля? Т.е. если есть текстовое поле, которое может быть пустым либо чем-либо заполненным, и ставим SCOPE именно на пустое значение?

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 27.04.06 12:17. Заголовок: строка 17


уверен, что функции sx_SetScope(<n>,<c>) все равно, заполнено ли поле символами CHR(32) или символами CHR(33).



Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 27.04.06 13:03. Заголовок: Re:


А если Chr(0) ?

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.04.06 06:39. Заголовок: Re:


saulius пишет:

 цитата:
А если Chr(0) ?


Или если "" - у меня ведь SCOPE по пустому значению - RTRIM(поле)

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.04.06 12:38. Заголовок: SCOPE по "" - абсолютная бессмыслица


"из ничего и будет ничего" (У.Шекспир, Король Лир, действие 1-е сцена 2-я).

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 02.05.06 07:21. Заголовок: Re:


SergeJa пишет:

 цитата:
У.Шекспир, Король Лир


Однако пока не нажмёшь Ctrl PgDown - SCOPE исправно выдаёт все позиции с пустым значением поля!

Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 02.05.06 10:02. Заголовок: Re:


SET SCOPE ....
dbGoTop() // <<<=== заработает SCOPE

Спасибо: 0 
Профиль
Ответов - 69 , стр: 1 2 3 4 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 12
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет