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


Пост N: 450
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 28.11.12 14:07. Заголовок: Harbour для начинающих


Просто сообщаю, что я кардинально обновил одноименную страницу у себя на сайте: http://www.kresin.ru/hrbfaq.html, существенно пополнил (и продолжаю понемногу пополнять) раздел "Отличия от Клиппера".

Спасибо: 3 
ПрофильЦитата Ответить
Ответов - 157 , стр: 1 2 3 4 5 6 7 8 All [только новые]


moderator


Пост N: 454
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.11.12 10:21. Заголовок: Вчера добавил подраз..


Вчера добавил подраздел про хэш-массивы, сегодня - описание _obj... - функций.

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




Пост N: 2441
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.11.12 10:30. Заголовок: alkresin пишет: и п..


alkresin пишет:

 цитата:
и продолжаю понемногу пополнять


Спасибо БОЛЬШОЕ за ваш труд !
Очень интересные вещи узнаешь и у себя упорядочиваются знания (какие были).

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


Пост N: 456
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.11.12 10:45. Заголовок: Я и сам узнаю много ..


Я и сам узнаю много нового, когда пишу эту документацию :). Да и удобно складывать то, что узнал, в одном месте. А то часто бывает - разобрался в чем-то, написал соответствующий фрагмент программы, а через какое-то время напрочь забыл, как ту или иную функцию использовать и даже как она называлась, и ищешь нужный кусок кода по всем исходникам. Так что польза взаимная.

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




Пост N: 48
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.11.12 11:20. Заголовок: Отлично !!! aHash2..


Отлично !!!
 
aHash2 := hb_hCopy( aHash2, aHash, [nStart], [nCount] ) Копирует пары из массива aHash в aHash. ...
aHash2 := hb_hMerge( aHash2, aHash, bBlock | nPosition ) добавляет пары из массива aHash в aHash. ..

здесь, наверное, надо уточнить где aHashSourse и где aHashDest

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



Пост N: 651
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 30.11.12 12:22. Заголовок: Примеры для других п..


Примеры для других платформ и компиляторов смотрите в INSTALL


INSTALL уже переименован в README.txt

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


Пост N: 457
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.11.12 13:15. Заголовок: Спасибо, поправил...


Спасибо, поправил.

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




Пост N: 2442
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.11.12 15:04. Заголовок: alkresin пишет: а ч..


alkresin пишет:

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


Аналогично....

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



Пост N: 72
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 30.11.12 21:12. Заголовок: иногда даже про нали..


иногда даже про наличие этой самой функции забываешь и пишешь "ручками" .....

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



Пост N: 44
Зарегистрирован: 15.12.09
ссылка на сообщение  Отправлено: 01.12.12 20:04. Заголовок: Не буду новую тему п..


Не буду новую тему поднимать, в статье достаточно доходчиво о возможностях .... .hrb, но вот что мне интересно является ли он мультиплатформенным если внутри себя по кодировкам и путям к файлам учтёт особенности разных систем?

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


Пост N: 458
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 02.12.12 09:39. Заголовок: pureproft пишет: .h..


pureproft пишет:

 цитата:
.hrb, но вот что мне интересно является ли он мультиплатформенным


Не проверял, но, думаю, да.

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


Пост N: 462
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 05.12.12 09:05. Заголовок: Добавил раздел "..


Добавил раздел "Классы и объекты", он еще не закончен, но основные моменты упомянуты. Еще добавлены функции для работы с Public/Private переменными - __mv...

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


Пост N: 803
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 05.12.12 09:11. Заголовок: Александр, есть пред..


Александр, есть предложение: нельзя ли в таблицах, в левой колонке, где функции написаны, (например, здесь - http://kresin.belgorod.su/rus/hrbfaq.html#Doc8) применить моноширинный шрифт? На мой взгляд, будет лучше читаться.

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


Пост N: 464
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 05.12.12 09:32. Заголовок: Попробую...


Попробую.

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




Пост N: 2450
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.12.12 09:48. Заголовок: Документация - прост..


Документация - просто супер !

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


Пост N: 804
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 05.12.12 10:44. Заголовок: alkresin пишет: Поп..


alkresin пишет:

 цитата:
Попробую.


По-моему, гораздо лучше. )))

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


Пост N: 468
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 06.12.12 14:55. Заголовок: Расширено описание р..


Расширено описание реализации ООП - BLOCK,SETGET,EXTERN методы, ERROR HANDLER

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


Пост N: 482
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 11.12.12 08:29. Заголовок: Добавил раздел "..


Добавил раздел "Регулярные выражения".

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


Пост N: 325
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 11.12.12 11:21. Заголовок: Александр. Вопрос не..


Александр. Вопрос не по теме - dbch .Вопрос о шрифте, какой-то он трудночитаемый, привыкать надо. Но не могли бы Вы заменить.

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




Пост N: 2462
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.12.12 11:55. Заголовок: Александр, а можно ч..


Александр, а можно чуть подробней по функциям "Управление запуском процессов" ?
И туда же поместить (или отдельно тему сделать про RUN() ) - ShellExecute() ? Ксати а для Linux что используется ?
А то многим новичкам (как я раньше) не хватает описания и примеров ...
Так же наверно нужно дать описание для Проводника и Папки выбора/записи...
Если нужно, свои примеры могу выслать.


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


Пост N: 483
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 11.12.12 12:38. Заголовок: Вопрос не по теме - ..



 цитата:
Вопрос не по теме - dbch .Вопрос о шрифте, какой-то он трудночитаемый, привыкать надо. Но не могли бы Вы заменить.


Я его не устанавливал специально, там тот, что по умолчанию в gtwvt, я даже не уверен, что его можно заменить - по крайней мере,
gtinfo( HB_GT_FONTWEIGHT, ... ) и gtinfo( HB_GT_FONTNAME, ... ) не работают.
Можете перекомпилировать его с gtwin ( убрать ключ /dGTWVT и прописать gtwin.lib вместо gtwvt.lib ).

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


Пост N: 484
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 11.12.12 12:41. Заголовок: Andrey пишет: Алекс..


Andrey пишет:

 цитата:
Александр, а можно чуть подробней по функциям "Управление запуском процессов"


Я с ними еще не разбирался, как только - так сразу :).

 цитата:
И туда же поместить (или отдельно тему сделать про RUN() ) - ShellExecute()


ShellExecute() ? Это не из Harbour, это из GUI библиотек, наверное.

 цитата:
Так же наверно нужно дать описание для Проводника и Папки выбора/записи


А что это ?

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




Пост N: 2463
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.12.12 13:28. Заголовок: alkresin пишет: She..


alkresin пишет:

 цитата:
ShellExecute() ? Это не из Harbour, это из GUI библиотек, наверное.


Да оттуда.
ShellExecute(), Проводник и Папка выбора - http://files.mail.ru/4Y9OE8


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


Пост N: 485
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 11.12.12 13:52. Заголовок: В Harbour для начина..


В Harbour для начинающих я включаю описания модулей, функций, средств существующих в Harbour, буду, наверное, включать описания некоторых дополнительных библиотек из Harbour/contrib. А то, что вы предлагаете, это несколько другое.

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




Пост N: 2464
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.12.12 15:15. Заголовок: alkresin пишет: А т..


alkresin пишет:

 цитата:
А то, что вы предлагаете, это несколько другое.


Может быть. Но я в свое время, когда переходил с Клипера, очень долго не мог сделать выбор файла и т.д.
Только благодаря вам и помощи на форуме Pasha, Григория и других смог разобраться в этом.
Да и задачи выглядят более цивильно с Виндовыми окнами...

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


Пост N: 486
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 11.12.12 18:09. Заголовок: Возможно, создам поп..


Возможно, создам попозже новую страницу - что-то типа "Harbour для продолжающих" :), там надо будет подробно описать систему расширения (связь с С) и то, как писать оболочки для вызовов разных API, Windows API в том числе, вот тут в качестве примера и ShellExecute() будет уместен.

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


Пост N: 489
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 12.12.12 09:39. Заголовок: Добавлены описания е..


Добавлены описания еще несколько битовых функций, которые не заметил раньше, и набор фунций компрессии данных, основанных на zlib.

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



Пост N: 674
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 12.12.12 12:40. Заголовок: Александр, вместо HB..


Александр, вместо HB_OSPATHSEPARATOR() надо HB_PS()

2012-11-23 12:50 UTC+0100 Viktor Szakats (harbour syenar.net)
...
* deprecated HB_OSPATHSEPARATOR() with HB_LEGACY_LEVEL4 (after
next release). Use HB_PS() instead.
HB_OSPATHSEPARATOR() will continue to live as an xhb compatibility
function after that.

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



Пост N: 675
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 12.12.12 12:59. Заголовок: Пример для hb_hash()..


Пример для hb_hash() надо подправить
вместо
FUNCTION Main
local harr := hb_Hash( "six", 6, "eight", 8, "eleven", 11 )

надо
FUNCTION Main
local harr := hb_Hash( ["six", 6], ["eight", 8], ["eleven", 11] )

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


Пост N: 492
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 12.12.12 13:13. Заголовок: вместо HB_OSPATHSEPA..



 цитата:
вместо HB_OSPATHSEPARATOR() надо HB_PS()


Ok.


 цитата:
вместо
FUNCTION Main
local harr := hb_Hash( "six", 6, "eight", 8, "eleven", 11 )

надо
FUNCTION Main
local harr := hb_Hash( ["six", 6], ["eight", 8], ["eleven", 11] )



У меня первый вариант работает правильно, а ваш вылетает с ошибкой во время исполнения, пробовал и с Harbour 2, и с Harbour 3.2

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



Пост N: 676
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 12.12.12 13:27. Заголовок: alkresin пишет: ва..


alkresin пишет:

 цитата:
ваш вылетает с ошибкой во время исполнения, пробовал и с Harbour 2, и с Harbour 3.2

согласен, мой вариант не катит, извините.
Как альтернатива, можно еще использовать такую конструкцию

LOCAL harr := { "six" => 6, "eight" => 8, "eleven" => 11 }

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


Пост N: 505
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.12.12 10:12. Заголовок: Обновлен раздел ..


Обновлен раздел "Компиляция и линковка программы". В частности, добавлен подраздел "Как использовать динамические библиотеки ( dll, so )".

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


Пост N: 507
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.12.12 08:10. Заголовок: Добавил материалы о ..


Добавил материалы о создании и использовании p-code dll.

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




Пост N: 2492
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.12.12 09:15. Заголовок: Если можно, то укажи..


Если можно, то укажите в разделе "2.4 Hbmk2" как добавить ключ для сборки несколькими компиляторами:
под BCC и MinGw (MinGw64)
Думаю многим будет интересно...

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


Пост N: 508
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.12.12 09:40. Заголовок: Если можно, то укажи..



 цитата:
Если можно, то укажите в разделе "2.4 Hbmk2" как добавить ключ для сборки несколькими компиляторами


Хорошо, добавлю - только сам сначала выясню как.

Вообще, много чего интересного находишь, создавая документацию :)
Буквально сейчас, обдумывая разницу между p-code dll и hrb, обнаружил интересную вещь. Оказывается, функции, определенные в hrb, можно, как и в случае с p-code dll, вызывать напрямую, без предварительного получения хэндла функции. Подробности уже добавил в раздел "Работа с hrb - файлами"

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




Пост N: 2497
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.12.12 00:35. Заголовок: alkresin пишет: Хор..


alkresin пишет:

 цитата:
Хорошо, добавлю - только сам сначала выясню как.



Там в самом низу...
http://clipper.borda.ru/?1-4-0-00000738-000-0-0-1340001121


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




Пост N: 2508
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.12.12 21:45. Заголовок: alkresin пишет на св..


alkresin пишет на своем сайте:

 цитата:

14/11/2012 - Dbc - выложена новая версия 3.8 - добавлена поддержка расширенных типов данных ( F,B,Y,Z,I,2,4,8,Q,V,P,W,T,@,+,=,^ ).


Что за типы данных в базе ?
Я читал еще где-то на LetoDb, но так и забыл спросить...
Дайте описание, а то в языках Clipper/Harbour/xHarbour такого нет !

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


Пост N: 517
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.12.12 07:58. Заголовок: В Harbour/xHarbour о..


В Harbour/xHarbour они есть, вот выдержка из одного из документов на https://docs.google.com/

 цитата:

D Date 3, 4 or 8 Date
M Memo 4 or 8 Memo
+ AutoInc 4 Auto increment
= ModTime 8 Last modified date & time of this record
^ RowVers 8 Row version number; modification count of this record
@ DayTime 8 Date & Time
I Integer 1, 2, 3, 4 or 8 Signed Integer ( Width : )" },;
T Time 4 or 8 Only time (if width is 4 ) or Date & Time (if width is 8 ) (?)
V Variant 3, 4, 6 or more Variable type Field
Y Currency 8 64 bit integer with implied 4 decimal
B Double 8 Floating point / 64 bit binary



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




Пост N: 2509
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.12.12 14:28. Заголовок: alkresin пишет: В H..


alkresin пишет:

 цитата:
В Harbour/xHarbour они есть


А есть ли примеры по их использованию ?
Кто пользуется новыми типами переменных ?

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




Пост N: 2637
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 24.12.12 14:50. Заголовок: Я пользуюсь. Насчет ..


Я пользуюсь. Насчет примеров - неясно, что за примеры нужны. Создал поле - и используй его, обращайся по имени, как обычно.

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




Пост N: 58
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.12.12 15:45. Заголовок: Pasha пишет:Насчет п..


Pasha пишет:
 цитата:
Насчет примеров - неясно, что за примеры нужны


Поле + Auto increment. При EXCLUSIVE - понятно, SHARED уже не очень, а в LETO совсем не понятно как будет и стоит ли применять ?


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




Пост N: 2639
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 24.12.12 16:03. Заголовок: Последнее значение a..


Последнее значение autoinc хранится в заголовке dbf, насколько я помню, и dbfcdx его увеличивает по dbAppend()
Чтобы клиент letodb его увидел, надо после append сделать commit (если установлено FastAppend), и затем перечитать запись по dbGoto(RecNo()) или dbSkip(0)
Можно конечно доработать rdd leto, чтобы сервер после добавления возвращал не только номер новой записи, но и значения autoinc-полей. Сейчас этого нет.

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




Пост N: 60
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.12.12 16:31. Заголовок: Pasha пишет:dbfcdx е..


Pasha пишет:
 цитата:
dbfcdx его увеличивает по dbAppend()

насколько стабильно Autoincrement делается для dbAppend() нескольких клиентов, если делать FLock(), наверно будет нормально, а если не делать ?

 цитата:
Можно конечно доработать rdd leto, чтобы сервер после добавления возвращал не только номер новой записи, но и значения autoinc-полей. Сейчас этого нет.


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

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




Пост N: 2641
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 24.12.12 16:47. Заголовок: SergKis пишет: наск..


SergKis пишет:

 цитата:
насколько стабильно Autoincrement делается для dbAppend() нескольких клиентов, если делать FLock(), наверно будет нормально, а если не делать ?



Я autoinc не использую, и насчет стабильности точно не скажу.
Но мне кажется, что и без flock, т.е. по rlock, будет стабильнее, чем делать go bottom, выбирать последний ключ, и т.д, поскольку узких мест для autoinc меньше.

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


Пост N: 530
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.01.13 13:56. Заголовок: http://kresin.belgor..


http://kresin.belgorod.su/rus/hrbfaq.html обновлена - добавлено описание hb_idle... функций.

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




Пост N: 2576
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.01.13 19:20. Заголовок: SergKis пишет: Поле..


SergKis пишет:

 цитата:
Поле + Auto increment.


Дайте пример пожалуйста как это делать ?
Ни разу не видел и не знаю как сделать...

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




Пост N: 100
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.01.13 22:44. Заголовок: Andrey пишет:Дайте п..


Andrey пишет:
 цитата:
Дайте пример пожалуйста как это делать ?
Ни разу не видел и не знаю как сделать...


Аналогично, но думаю как то так: aStru := {{"R_0", "+", 7, 0}, ...}
? R_0 // nnn
dbAppend(.T.)
dbUnlock()
? R_0 // nnn+1


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


Пост N: 531
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.01.13 09:05. Заголовок: Добавлен подраздел 3..


Добавлен подраздел 3.10 INET подсистема с описанием всех hb_inet... функций.

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




Пост N: 354
Зарегистрирован: 06.02.07
ссылка на сообщение  Отправлено: 28.01.13 12:45. Заголовок: alkresin Александр, ..


alkresin Александр, может быть постепенно начать это описание перегонять в тот же Викиучебник? (там же, где я начал про Harbour - вот тут - да никто [пока] не поддержал) (даже без "изысков", без разбивки на разделы в разных страницах, одним plain-викитекстом) Или переделать нашлепанное мной - или рядом "с нуля" (под каким-то чуть иным названием)... Тогда можно было бы коллективно "по 5 копеек" править/дополнять. Или нет смысла? Если есть - могу "скелет" по уже существующему (Вашему) сделать.

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


Пост N: 532
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 29.01.13 10:39. Заголовок: Александр, может быт..



 цитата:
Александр, может быть постепенно начать это описание перегонять в тот же Викиучебник?


Перегоняйте :). Лично мне удобнее хранить/пополнять эти описания так, как сейчас, поскольку, во-первых, я могу их править в оффлайне простым текстовым редактором ( я пользуюсь Far с плагинами ) и, во-вторых, опять-таки в оффлайне использовать как справочник.
Кстати, там есть небольшая ошибка, та же, что и в Википедии ( ту статью тоже вы писали ? ):

 цитата:
Первые версии Harbour были созданы Антонио Линаресом (исп. Antonio Linares) (Испания) в 1999 году.

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

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




Пост N: 357
Зарегистрирован: 06.02.07
ссылка на сообщение  Отправлено: 29.01.13 21:12. Заголовок: alkresin пишет: ту ..


alkresin пишет:

 цитата:
ту статью тоже вы писали ?

"Ту"?.. Я писал (опять же, не "из головы", а переводя из англо-Вики, оф.сайта и еще откуда-то - возможно, в т.ч. и из вас) и в Википедии, и (практически копипастом) перенес в Викиучебник. Насчет

 цитата:
там есть небольшая ошибка

- я не историк, я только учусь :) Не тщился сходу создать "подлинную историю Harbour" - лишь сделал "заготовку" (уж что где увидел-перевел, возможно, что увидел не то); никто из лучше меня знающих предмет (или желающих "иметь русскую документацию") не поддержал хотя бы "тремя копейками правок" (не жалуюсь и не наезжаю - просто констатирую ;) взгляните в Вики-статье в "История" - кроме меня, существенного изменения не внёс никто).

Мне тоже удобнее иметь офлайн-справочник (и спокойно пользуюсь CHMами из поставки HMG - на столько-то знаний английского хватает), но дело в настоящий момент обстоит таким образом, что НЕ СУЩЕСТВУЕТ нормального, внятного онлайнового "курса молодого бойца" на РУССКОМ языке (да и офлайнового - тоже; да и "немолодого бойца" - тоже). Предположим, некий "неофит", захотевший либо перегнать клипперную прогу и добавить туда некие харборовские "навороты", либо слепить нечто на HMG, но не силён в английском - практически обречен начать задавать, например, здесь в форуме, "дурацкие чайниковские вопросы" типа "с чего начать?"; ему НЕ надо еще знать, "как скачать исходники Harbour с SVN" или еще что-то, ему нужен раздел "вот что можно сделать!" (на том же "стандартном Harbour" и "стандартном Harbour+HMG"; как первоначальная "завлекалочка"), раздел "делаем шаг за шагом", раздел "справочник", раздел "ЧаВо"... У англоязычных это более-менее есть, у испаноязычных - есть, у португало (бразило-португало) - есть, у русскоязычных - пока нет. И времени/сил лепить в одиночку ни у кого из нас, конечно, нет. Потому (в том числе), думаю, здесь активно участвующих (в т.ч. и присоединяющихся "неофитов") достаточно немного - поскольку НЕТ "учебника для 1го класса".

Ребята! Я же не сержусь и никого не "гоню пинками" википедировать! :) :) Просто "уж сколько раз твердили миру", что "вот бы кто сделал хоть какую-то русскую доку..." А проще Вики для коллективного создания подобного методом "с каждого по копейке"... если кто знает - "ткните пальцем" :)

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




Пост N: 2599
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.01.13 22:04. Заголовок: gustow пишет: разде..


gustow пишет:

 цитата:
раздел "делаем шаг за шагом"


А то что я написал для хХарбора не пойдет ?
http://clipper.borda.ru/?1-6-0-00000002-000-0-0-1355737108

Или для МиниГуи ? http://clipper.borda.ru/?1-6-0-00000003-000-0-0-1355737585

Как на Харбор переводить прогу буду, то напишу инструкцию тоже....

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




Пост N: 360
Зарегистрирован: 06.02.07
ссылка на сообщение  Отправлено: 30.01.13 06:27. Заголовок: Andrey , и это, в ча..


Andrey , и это, в частности, тоже пойти может, почему нет? Я просто зафиксировал "текущее положение на фронтах" на сегодня. Но не буду больше оффтопить в ветке - Александр, извините ;)

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


Пост N: 533
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.01.13 11:44. Заголовок: gustow пишет: никто..


gustow пишет:

 цитата:
никто из лучше меня знающих предмет (или желающих "иметь русскую документацию") не поддержал хотя бы "тремя копейками правок" (не жалуюсь и не наезжаю - просто констатирую ;)


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

 цитата:
Предположим, некий "неофит", захотевший либо перегнать клипперную прогу и добавить туда некие харборовские "навороты", либо слепить нечто на HMG, но не силён в английском - практически обречен начать задавать, например, здесь в форуме, "дурацкие чайниковские вопросы" типа "с чего начать?"; ему НЕ надо еще знать, "как скачать исходники Harbour с SVN" или еще что-то, ему нужен раздел "вот что можно сделать!"


Мне кажется, что у меня на сайте достаточно информации для "неофита", или я что-то упустил ? "Что можно сделать" - тоже есть, там несколько программ, написанных на Харборе.

 цитата:
А проще Вики для коллективного создания подобного методом "с каждого по копейке"


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

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


Пост N: 534
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.01.13 11:46. Заголовок: Добавил в "3.11 ..


Добавил в "3.11 Всякие новые функции" описание hb_token... , hb_numtohex, hb_hextonum.

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




Пост N: 363
Зарегистрирован: 06.02.07
ссылка на сообщение  Отправлено: 30.01.13 13:45. Заголовок: alkresin пишет: нуж..


alkresin пишет:

 цитата:
нужен еще и коллектив

Вот и я примерно о том же гундел ;)
alkresin пишет:

 цитата:
Интерфейс там не то, чтобы был интуитивно понятный


Ну, в общем-то да - но мне месяца (с перекурами) хватило, чтобы научиться без особых "наворотов" что-то лепить.

К Вашей инфе (на Вашем сайте), Александр, претензий не имею (кроме того, что по "технологии" именно Вам, одному, приходится - по необходимости - добавлять/обновлять/оформлять информацию). Но... нескольких "ищущих новых путей" (но слабых в инглише) отправлял туда (правда, где-то с год или раньше назад) - им было либо многое непонятно (с "неофитского" взгляда), либо много лишнего (тоже оттуда же), либо многого недоставало (и тоже оттуда же). Я же не наезжаю - представляю, как "трудновато" грамотно "введение" в достаточно новый язык сделать (особенно для привыкших "программировать", ляпая формочки в каком-то "вижуале", не более того)...

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




Пост N: 364
Зарегистрирован: 06.02.07
ссылка на сообщение  Отправлено: 30.01.13 15:13. Заголовок: alkresin Александр, ..


alkresin Александр, посмотрите "прикидку" вот тут. Содержание (пока) взял из англо-учебника - но "никто не держит нас за руку", чтобы мы не изменили это в два клика :) А начало раздела "Установка" - практически копипастом от Вас. (чтобы слепить это, понадобилось минут 20)

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


Пост N: 536
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.01.13 15:13. Заголовок: Но... нескольких ..



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


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

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


Ну, вообще-то, этот материал - не введение в новый язык, он для тех, кто уже писал на Клиппере. Для остальных, действительно, нужен для начала учебник по языку.

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




Пост N: 366
Зарегистрирован: 06.02.07
ссылка на сообщение  Отправлено: 31.01.13 12:21. Заголовок: alkresin Александр, ..


alkresin Александр, смотрели ли "прикидку" в Викиучебнике? (см. на два коммента выше) А то как-то не заметил реакции (ни в каких смыслах) ;)

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


Пост N: 539
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 31.01.13 13:06. Заголовок: Александр, смотрели ..



 цитата:
Александр, смотрели ли "прикидку" в Викиучебнике? (см. на два коммента выше) А то как-то не заметил реакции (ни в каких смыслах) ;)


То сообщение появилось пока я писал свое и я его просто не заметил.
Посмотрел "прикидку". Первое, что хочу сказать - ее бы надо, наверное, сделать частью той страницы
По содержанию - я бы сделал раздел "Основы языка" и включил бы туда подразделы "Типы данных и их описание", "Управляющие структуры", "Операторы" ( раз уж мы описываем язык, то и это надо ),"Команды" ( может, не все сразу перечислять, но объяснить, что это такое), "Функции"(то же, что и для команд). Можно здесь делать подразделы ?
Термин "парадигмы" я бы здесь не использовал. Парадигма - это не то, что написано в англоязычном оригинале, это нечто другое.
Ну и, возможно, именно для начинающих имеет смысл сделать раздел еще до описания языка ( я подумываю и у себя что-то такое сделать ) типа "Начинаем писать на Harbour". И - по шагам: скачиваем вот это и это, пишем вот такую маленькую программу и вот так компилируем, скачиваем GUI библиотеку, пишем вот это и компилируем.

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


Пост N: 540
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 31.01.13 14:08. Заголовок: gustow пишет: У анг..


gustow пишет:

 цитата:
У англоязычных это более-менее есть, у испаноязычных - есть, у португало (бразило-португало) - есть,


А ссылки можно ? Что именно имеется ввиду ?

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




Пост N: 367
Зарегистрирован: 06.02.07
ссылка на сообщение  Отправлено: 31.01.13 20:51. Заголовок: Вот именно подобную ..


Вот именно подобную структуру я и имел в виду! С одной стороны - чтобы "неофит" мог быстро и без "уходов в прерывания" создать свое первое приложение (к примеру, с помощью того же "филатовского" HMG EE пакета - типа "всё уж готово для дела, установи BCC, установи HMG и компилируй" - или такого же, не требующего особых плясок с бубном для начала работы, пакета с "просто Harbour"). С другой стороны - справочник (настройки, опции компиляторов, прочие "фокусы", команды, функции, ОС-зависимые вещи, ЧаВо и проч.).

Можно же сделать не как я сейчас сделал (у Вас взявши) - просто plain-страницей (хотя в Вики-учебнике как "предпочтительнй" рекомендуют такой подход - но уж больно здоровенная "одна страница" получится...), а именно отдельными разделами ("нужны детали? открывай соотв. раздел с подробным описанием!"). Или вообще сделать несколько отделных (ориентированных на разне цели публикаций: "Harbour для чайников"... и по нарастающей (как по квалификации читателя, так и по узости специализации - к примеру, ясно, что по тому же HMG нужна отдельная книжка... или по HWGUI). В общем, "всё как у больших" ;)

alkresin пишет:

 цитата:
А ссылки можно ? Что именно имеется ввиду ?

Ну, к примеру, тот же Clipper... Clipper... Clipper - достаточно неплохой аггрегатор ссылок на разные публикации и гайды как по миграции с Клиппера на Харбор, так и по разработке приложения "с нуля" (в последнем случае - применимо именно для "чистых" неофитов, не знающих, что вообще был когда-то какой-то Клиппер ;) ).
Массимо Бельграно (он ли? помню, что вроде итальянская фамилия... или Пьерпауло Мартинелло?.. вот сходу ссылку не найду) нашарашил здоровенную HTML-страницу по функциям Харбора (но именно как одну страницу - что не всегда есть удобно) (вот бы из нее и "передирать" кусками "по 3 копейки" постепенно коллективом в раздел "Справочник" - установив какой-то "шаблон" для описания функций [внешний вид описания, общепринятая терминология, "стандарты" перевода фраз и терминов]). Еще Harbour Language programming - тоже, конечно, пока еще "заготовка-прикидка", но кое-что интересное есть. У испаноязычных - можно глянуть линки в том же HMGforum.com (тоже, конечно, не "супер", но всё же...).

UPD: О! Нашел эту "здоровенную страницу" :) см. I semplici Tutorial della ElektroSoft

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


Пост N: 542
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 02.02.13 09:20. Заголовок: Если это все, что ес..


Если это все, что есть, то мы далеко не в худшем положении. В материалах по этим ссылкам нет того, что мы с вами, по результатам этого небольшого обсуждения, хотели бы иметь. Они обрывочны и совершенно не структуированы. Списки и описания функций представляют собой по другому отформатированные данные из harbour/doc/en и не несут ничего, что и без них можно прочитать в официальной документации.
Не сочтите за саморекламу, но, в сравнении с этим, моя страница содержит на порядок более качественный материал, какого вы больше нигде не найдете. Все малопонятные и сложные моменты, никак не прокомментированные в документации, я разбирал по исходникам и сам проверял в действии. Значительная часть функций, конечно, пока осталась за бортом - но именно по той причине, что во всем предварительно надо тщательно разбираться самому. Просто откопипастить из harbour/doc/en не вижу большого смысла.

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




Пост N: 2622
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 02.02.13 12:06. Заголовок: alkresin пишет: Не ..


alkresin пишет:

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


Да, это точно ! Спасибо БОЛЬШОЕ за вашу работу !
Мы вас очень ценим !

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


Пост N: 544
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 05.02.13 15:50. Заголовок: Добавил раздел 3.11 ..


Добавил раздел 3.11 Многопоточность. Там еще предстоит добавить общих пояснений и примеров, но уже изложен так интересующий Андрея вопрос о совместном использовании БД в многопоточном приложении.

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




Пост N: 2628
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.02.13 23:43. Заголовок: alkresin пишет: Там..


alkresin пишет:

 цитата:
Там еще предстоит добавить общих пояснений и примеров, но уже изложен так интересующий Андрея вопрос о совместном использовании БД в многопоточном приложении.


СПАСИБО БОЛЬШОЕ !
Но все таки не знаю как сделать небольшой пример по базам ....
http://clipper.borda.ru/?1-4-0-00000795-000-0-0-1356519713


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


Пост N: 553
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 08.02.13 08:30. Заголовок: В раздел 3.11 Многоп..


В раздел 3.11 Многопоточность добавлены новые примеры и пояснения.

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


Пост N: 556
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.02.13 15:38. Заголовок: В раздел 3.10 Inet п..


В раздел 3.10 Inet подсистема добавил пример использования INET функций в многопоточном ( двухпоточном ) приложении. Маленькая консольная программа, которая проверяет главную страницу этого форума на наличие обновлений :)

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



Пост N: 719
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 18.02.13 16:21. Заголовок: alkresin пишет: Мал..


alkresin пишет:

 цитата:
Маленькая консольная программа, которая проверяет главную страницу этого форума на наличие обновлений :)

спасибо за пример, уже тестирую.

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



Пост N: 720
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 18.02.13 16:24. Заголовок: Запустил прогу, напи..


Запустил прогу, написал на форум, говорит "ничего нового", нажал Ecs и получил:

Error BASE/3012 Argument error: HB_THREADJOIN
Called from HB_THREADJOIN(0)
Called from MAIN(32)

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



Пост N: 721
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 18.02.13 16:38. Заголовок: AlexMyr пишет: Erro..


AlexMyr пишет:

 цитата:
Error BASE/3012 Argument error: HB_THREADJOIN

Забыл опцию -mt, все работает. Извините.

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




Пост N: 2633
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.02.13 17:12. Заголовок: alkresin Спасибо за..


alkresin
Спасибо за примеры.
Вопрос.
 
DO WHILE .T.
hb_mutexLock( mutex1 )
cTime := Iif( !Empty( cOpt ), hb_Dtoc( Date(),cOpt ), Space(10) ) + " " + Time()
hb_mutexUnLock( mutex1 )
hb_dispOutAt( 0, MaxCol() - Len( cTime ) + 1, cTime, "GR+/N" )
hb_idleSleep( 1 )
ENDDO



Проверка на заблокированность мьютекса не нужна ?
Я вот про такой код
 
DO WHILE .T.
IF hb_mutexLock( mutex1 )
cTime := Iif( !Empty( cOpt ), hb_Dtoc( Date(),cOpt ), Space(10) ) + " " + Time()
hb_mutexUnLock( mutex1 )
hb_dispOutAt( 0, MaxCol() - Len( cTime ) + 1, cTime, "GR+/N" )
ENDIF
hb_idleSleep( 1 )
ENDDO



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




Пост N: 2684
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.02.13 17:44. Заголовок: alkresin Спасибо бо..


alkresin
Спасибо большое за пример !
Прямо то что нужно !
Побольше таких примеров....


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


Пост N: 557
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.02.13 17:48. Заголовок: В данном случае в эт..


В данном случае в этом нет необходимости, так как
1) параллельный поток блокирует mutex на очень короткое время
2) поток, который выполняет этот код, все равно не делает больше ничего полезного, так что, будь даже потенциальная задержка большой, мы бы ничего не выиграли.

Может, вы забыли, что hb_mutexLock( mutex1 ) не просто блокирует mutex, но останавливает выполнение текущего потока до тех пор, пока ему не удастся это сделать ( т.е., пока этот mutex не будет разблокирован другим потоком, если он был им заблокирован ).

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




Пост N: 2634
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.02.13 17:49. Заголовок: alkresin пишет: Мож..


alkresin пишет:

 цитата:
Может, вы забыли


Да точно , упустил этот момент.

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




Пост N: 2687
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.02.13 02:52. Заголовок: alkresin пишет: Мал..


alkresin пишет:

 цитата:
Маленькая консольная программа, которая проверяет главную страницу этого форума на наличие обновлений :)



Отрубаем интернет, запускаем прогу, F5, программа пишет - "ничего нового".
Правда иногда вверху пишет "сбой"... Через раз...
Как бы правильно повесить ALERT("Нет ИНТЕРНЕТА !") ?


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


Пост N: 558
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.02.13 08:45. Заголовок: Нажимать F5, пока не..


Нажимать F5, пока не появилось в углу сообщение о наличии обновлений, большого смысла нет.
Сообщение "Сбой" выскакивает как раз после каждой неудачной попытки соединения. Если нужна дополнительная информация о причинах сбоя, можно сделать еще одну раздляемую потоками переменную, куда один поток будет записывать текст, возвращаемый hb_inetErrorDesc(), другой - по F5 выводить этот текст.


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




Пост N: 2689
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.02.13 12:14. Заголовок: alkresin пишет: Ес..


alkresin пишет:

 цитата:
Если нужна дополнительная информация о причинах сбоя


Да нет, не нужна. Просто проверить, есть ИНЕТ или нет.
У Григория есть специальный пример на эту тему: MiniGUI\SAMPLES\Advanced\INET_CHECKER
А просто средствами Харбора (функции) есть ?
lInet := hb_inetInit()
Возвращает .T. при включенном и отключенном интернете.
Harbour 3.2.0dev (Rev. 18721)

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



Пост N: 734
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 27.02.13 13:45. Заголовок: В документации указа..


В документации указано:


 цитата:

А строковые константы можно объявлять, как в C, используя литерал e"...":

Local e"Helow\r\nWorld \x21\041\x21\000abcdefgh"



при компиляции ошибка Error E0030 Syntax error "syntax error at 'Helow

указать какую-то переменную
Local str1 := e"Helow\r\nWorld \x21\041\x21\000abcdefgh"

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


Пост N: 562
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 27.02.13 14:23. Заголовок: А, ну да, конечно, н..


А, ну да, конечно, надо исправить.

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


Пост N: 572
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.03.13 19:10. Заголовок: http://www.kresin.ru/hrbfaq.html


На днях переехал на новый домен и новый хостинг, теперь это http://www.kresin.ru, а "Harbour для начинающих" - http://www.kresin.ru/hrbfaq.html.

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


Пост N: 575
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.03.13 18:03. Заголовок: Добавил новую страни..


Добавил новую страницу: Harbour - шаг за шагом - примерно то, о чем мы здесь говорили пару месяцев назад. Что еще можно сюда добавить ?

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




Пост N: 2910
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.03.13 19:21. Заголовок: alkresin Для первог..


alkresin
Для первого старта более чем достаточно.


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


Пост N: 852
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 31.03.13 13:22. Заголовок: Александр, видимо пр..


Александр, видимо придется "Шаг за шагом" подправить в связи с переходом на Git.

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



Пост N: 801
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 31.03.13 16:33. Заголовок: C git тянем исходник..


C git тянем исходники, чтобы самим собрать harbour, а в "Шаг за шагом" скачиваем уже готовый дистрибутив harbour готовый к использованию.

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


Пост N: 853
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 31.03.13 16:46. Заголовок: Да, но с течением вр..


Да, но с течением времени те готовые дистрибутивы будут уже далеко не up-to-date. Решать автору, надо или нет.

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



Пост N: 802
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 31.03.13 16:53. Заголовок: На то они и Nightly ..


На то они и Nightly binary чтобы быть всегда up-to-date.

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


Пост N: 854
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 31.03.13 17:05. Заголовок: Вы уж простите меня,..


Вы уж простите меня, что спорю, но в только что скачанном мной архиве Changelog.txt оканчивается вот этим:
2013-03-18 19:03 UTC+0100 Viktor Szakats (harbour syenar.net) 
* doc/en/*.txt
* doc cleanups

Вот я и сделал вывод, что эти архивы не обновляются.

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



Пост N: 803
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 31.03.13 17:30. Заголовок: PSP пишет: Вот я и ..


PSP пишет:

 цитата:
Вот я и сделал вывод, что эти архивы не обновляются.

Для большинства пользователей лучше скачивать стабильную версию harbour, что и предлагаю указать в "Шаг за шагом".

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


Пост N: 576
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 31.03.13 18:35. Заголовок: AlexMyr пишет: Для ..


AlexMyr пишет:

 цитата:
Для большинства пользователей лучше скачивать стабильную версию harbour, что и предлагаю указать в "Шаг за шагом".


Сложный вопрос, я думал об этом и выбрал nightly по следующей причине. Стабильная версия - это 3.0 от июля 2011 года. Сейчас 3.2, с тех пор было множество изменений, в том числе и таких, из-за которых, возможно, при обновлении версии придется что-то менять в программах и опциях того же hbmk. Хотя, может, вы и правы.

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


Пост N: 855
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 31.03.13 18:45. Заголовок: Было слишком много и..


Было слишком много изменений с 3.0 до нынешних пор.
3.0 нельзя рекомендовать, как основу, имхо.
Может быть ночные сборки снова будут обновляться ежесуточно...

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



Пост N: 804
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 31.03.13 22:29. Заголовок: PSP пишет: Может б..


PSP пишет:

 цитата:
Может быть ночные сборки снова будут обновляться ежесуточно...

Будут, настроят скрипты и будут, НО ночные это нестабильные сборки и рекомендовать их новичкам, мы ведь о новичках говорим, нельзя.
PSP пишет:

 цитата:
Было слишком много изменений с 3.0 до нынешних пор. 3.0 нельзя рекомендовать, как основу, имхо.

почему же? это все таки оф. релиз, хоть и 2011 года. Много изменений? Вопрос к Александру - насколько помню, еще до не давнего времени, Вы работали на старых версиях harbour и hwgui, а сейчас?

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


Пост N: 577
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 01.04.13 08:32. Заголовок: AlexMyr пишет: Вопр..


AlexMyr пишет:

 цитата:
Вопрос к Александру - насколько помню, еще до не давнего времени, Вы работали на старых версиях harbour и hwgui, а сейчас?


На работе для Windows использую Harbour 2 от июня 2010 - чтобы не заморачиваться с последствиями Unicode сборки для Win98 ( у нас кое-где она еще стоит ). Но я не новичок и обновиться до 3.2 для меня не проблема.
Полностью согласен со всеми возражениями против ночных сборок для новичков - может, еще пара постов, и вы меня убедите окончательно :).


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



Пост N: 805
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 01.04.13 08:56. Заголовок: Хорошо, изменений мн..


Хорошо, изменений много, но о них упоминается только в changelog, т.е. для новичка будет сложно определить что же кардинально изменилось с предыдущего стабильного релиза. Посмотрим в doc/oldnews.txt и увидим для версии 3.0.0 до 30 строк описания изменений с версии 2.0.0 и это за два года, т.е. новичок может подумать что проект вовсе не развивается, хотя на самом деле работы проделано много. Вывод - основы harbour можно изучать и на стабильной версии. И еще по hbmk2 - основное использование это hbmk2 file.prg (но это конечно тривиально), а все опции могут не понадобится никогда даже и для профи.

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



Пост N: 806
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 01.04.13 13:10. Заголовок: И еще один нюанс, Ni..


И еще один нюанс, Nightly binary только для win, в этом случае будут вопросы у тех кто под linux и не только, а значит качать Current release.

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


Пост N: 578
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 01.04.13 15:25. Заголовок: AlexMyr пишет: Nigh..


AlexMyr пишет:

 цитата:
Nightly binary только для win, в этом случае будут вопросы у тех кто под linux и не только


Ну, вообще-то, обсуждаеиый Harbour - шаг за шагом сделан пока для Windows пользователей, для Linux еще предстоит это сделать.

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


Пост N: 582
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 08.04.13 15:57. Заголовок: Обновлен Harbour для..


Обновлен Harbour для начинающих - добавлен раздел 4. Дополнительные библиотеки с подразделами 4.1 Обзор и 4.2 GUI.

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


Пост N: 592
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 15.04.13 11:00. Заголовок: Изменил-таки Harbour..


Изменил-таки Harbour - шаг за шагом, теперь за основу взята стабильная версия 3.0

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



Пост N: 57
Зарегистрирован: 15.12.09
ссылка на сообщение  Отправлено: 15.04.13 11:30. Заголовок: Стоит ли смотреть в ..


Стоит ли смотреть в сторону 3.0 для "дважды начинающего" или уж сесть и разобраться с текущим состоянием?
Что такого очень вкусного можно потерять оставаясь на 3.0?
p.s. вопрос от человека не когда не стремящегося к новизне в ущерб стабильности, например в линуксе дистрибутивы на пакетной базе ubuntu 10.04 меня устраивают на все 100% как например XP и прочее для многих http://www.viterminal.ru/blog/page/vi1cwinxp#cut

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


Пост N: 594
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 15.04.13 11:47. Заголовок: pureproft пишет: Чт..


pureproft пишет:

 цитата:
Что такого очень вкусного можно потерять оставаясь на 3.0?


Принципиальных, знаковых изменений не припомню, хотя, может, что-то упустил.
Проблема с Nightly builds простая - никто не гарантирует, что "начинающий", скачав его в "неудачный" день, получит работающий продукт.

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


Пост N: 683
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.06.13 15:59. Заголовок: Harbour для начинающ..


Harbour для начинающих, 3.2 Некоторые языковые расширения дополнен информацией о расширенных кодоблоках. Рекомендую почитать, там указывается на очень интересную деталь ( реализацию замыканий ), на что, мне кажется, никто еще не обращал внимания.

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




Пост N: 2903
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 26.06.13 16:22. Заголовок: alkresin пишет: Рек..


alkresin пишет:

 цитата:
Рекомендую почитать, там указывается на очень интересную деталь ( реализацию замыканий ), на что, мне кажется, никто еще не обращал внимания.



Так эти замыкания имеются и в клиппере, правда, их так не принято называть. Я еще 20 с лишним лет назад использовал функции вроде:

Function C4Block(n)
Return {|a| a[4][n]}

переменная n остается жить вне функции C4Block, и, таким образом, возвращаемый ею блок кода является замыканием

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


Пост N: 684
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.06.13 17:36. Заголовок: Pasha пишет: Так эт..


Pasha пишет:

 цитата:
Так эти замыкания имеются и в клиппере, правда, их так не принято называть


Совершенно верно, я так там и написал. Разница в том, что кодоблок теперь может быть достаточно большим фрагментом кода, полноценной функцией, включающей любые языковые средства и это дает новые возможности по использованию замыканий ( в Javascript это один из основных инструментов ).

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


Пост N: 685
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 26.06.13 18:36. Заголовок: Скажем так, из-за ог..


Скажем так, из-за ограниченности возможностей кодоблоков этой особенности не уделяли особого внимания.

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



Пост N: 895
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 27.06.13 09:46. Заголовок: Насколько я понял пр..


Насколько я понял про замыкание, то получается, что пример closure можно написать след. образом:

static nSec 

Function Main

Local b1 := {|p1|
Local tmp := nSec
IF p1 != Nil
nSec := p1
ENDIF
Return tmp
}
nSec := Seconds()

? Eval( b1 )

? "Press any key"
inkey(0)

? Eval( b1,Seconds() )

? "Press any key"
inkey(0)

? Eval( b1 )
?

Return Nil


т.е. грубо это использование static переменных, но видимых только в пределах блока кода.
Или все намного сложнее?

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




Пост N: 2904
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 27.06.13 10:16. Заголовок: AlexMyr пишет: т.е...


AlexMyr пишет:

 цитата:
т.е. грубо это использование static переменных, но видимых только в пределах блока кода.
Или все намного сложнее?



Не только static, можно использовать и local-переменные. В клиппере/харборе в каждой переменной есть счетчик ее использования. Для local-переменной функции он равен 1. Если переменная используется еще и в блоках кода, этот счетчик инкрементируется. Когда функция завершается, или блок кода уничтожается, счетчик декрементируется. Когда значение счетчика станет равным нулю, переменная будет уничтожена.

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




Пост N: 2905
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 27.06.13 10:18. Заголовок: alkresin пишет: Ска..


alkresin пишет:

 цитата:
Скажем так, из-за ограниченности возможностей кодоблоков этой особенности не уделяли особого внимания.



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

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


Пост N: 686
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 27.06.13 11:25. Заголовок: AlexMyr пишет: т.е...


AlexMyr пишет:

 цитата:
т.е. грубо это использование static переменных, но видимых только в пределах блока кода.


Не совсем. Дело в том, что у каждого экземпляра кодоблока ( если вы запустили функцию Closure() из моего примера несколько раз ) будет свой набор этих переменных ( тех, что определены в Closure() как Local ), т.е. этот экземпляр чем-то похож на объект, вот только по именам нельзя обращаться извне к тем переменным. А в Javascript, кстати, можно - поэтому там эта штука активно используется вместо объектов, в ряде случаев ( есть определенные нюансы ) это бывает удобнее.

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


Пост N: 720
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.11.13 15:35. Заголовок: Добавил JSON - функц..


Добавил JSON - функции, hb_Random...(), и еще по мелочи.

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



Пост N: 73
Зарегистрирован: 14.01.09
ссылка на сообщение  Отправлено: 13.12.13 09:21. Заголовок: Александр, спасибо з..


Александр, спасибо за труд!
много интересного узнал о старом добром Харборе. Кстати, весьма полезно, что сразу есть ссылки на скачку и инструкции , как получить работающий комплект Харбор+HWGUI.

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

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


Пост N: 750
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 13.12.13 11:42. Заголовок: Про Андроид ничего н..


Про Андроид ничего не могу сказать, для меня эта тема не актуальна, у меня нет ни смартфона, ни планшета - и я не планирую их заводить. Вроде, были сообщения в developers list и здесь на эту тему...
Вебсервисами занимался, вот тут об этом шла речь. Давно собираюсь сделать страничку на эту тему у себя на сайте.

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




Пост N: 3834
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.02.14 11:21. Заголовок: alkresin пишет: Воз..


alkresin пишет:

 цитата:
Возможно, создам попозже новую страницу - что-то типа "Harbour для продолжающих" :), там надо будет подробно описать систему расширения (связь с С) и то, как писать оболочки для вызовов разных API, Windows API в том числе


Ждем с нетерпением

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




Пост N: 3233
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.02.14 20:26. Заголовок: Dima пишет: Ждем с ..


Dima пишет:

 цитата:
Ждем с нетерпением


Поддерживаю !

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


Пост N: 815
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 24.10.14 13:47. Заголовок: Обновил раздел 3.6 ..


Обновил раздел 3.6 Работа с hrb - файлами:

Добавлено описание hb_hrbGetFunList(), дополнено описание hb_hrbLoad() - новые параметры.

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


Пост N: 836
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 27.01.15 10:50. Заголовок: Обновлен раздел 3.12..


Обновлен раздел 3.12 Всякие новые функции:

Добавлены краткие описания семейства hb_FName...()

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





Пост N: 4
Зарегистрирован: 18.06.15
ссылка на сообщение  Отправлено: 24.06.15 08:31. Заголовок: Уважаемый модератор ..


Уважаемый модератор "alkresin" - огромное спасибо за документацию. Это лучшее из всего что удалось отыскать по xHarbour на русском языке.
Одна проблема - нет возможности при работе находиться постоянно в интернете. Нет ли возможности скачать данную документацию в PDF формате ...?


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




Пост N: 4955
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 24.06.15 08:57. Заголовок: Alex_Cher В браузер..


Alex_Cher
В браузере Файл - Сохранить как и сохраняем целиком всю страницу куда нужно. Смотрим локально.

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





Пост N: 335
Зарегистрирован: 16.12.08
ссылка на сообщение  Отправлено: 20.01.16 22:08. Заголовок: Новый сайт для изуче..


Новый сайт для изучения Harbour + HMG

A Beginners Guide to Programming with Harbour and HMG

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




Пост N: 1233
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.10.16 07:48. Заголовок: alkresin Сломалось ..


alkresin
Сломалось на сайте http://www.kresin.ru/ "Статьи" -> "Harbour для начинающих" -> 404 ...
Вход с "Главной" по строке
23/08/2016 - Дополнен раздел Harbour для начинающих, 3.3 Классы и объекты - добавлены несколько функций.
проходит

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


Пост N: 1043
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.10.16 09:14. Заголовок: SergKis пишет: Слом..


SergKis пишет:

 цитата:
Сломалось на сайте http://www.kresin.ru/ "Статьи" -> "Harbour для начинающих" -> 404 ...


Спасибо за информацию.
В самом деле пропал файл с сайта. Переписал по новой.


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


Пост N: 1045
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 15.11.16 11:16. Заголовок: Дополнен раздел Допо..


Дополнен раздел Дополнительные библиотеки - обновлен список, добавлен подраздел о hbziparc.

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




Пост N: 5173
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.11.16 11:43. Заголовок: Классное описание ! ..


Классное описание ! Спасибо за описание !
Только сделайте пожалуйста ссылки на эти библиотеки, чтобы всем было понятно, о каких библиотеках идёт речь.
Minigui - свободно распространяемая библиотека, в отличие от остальных, основана на использовании массивов, а не классов, но с помощью препроцессора предлагает ООП-подобный синтаксис, отличающийся от ООП-синтаксиса, принятого в Harbour.

Я так понял МиниГуи - это несколько библиотек (где слово MiniGui, кстати говоря очень часто встречаемое в библиотеках):
1) Григория Филатова: Harbour MiniGUI Extended Edition - http://www.hmgextended.com/download.html
2) Roberto Lopez: HMG xBase Development System For Windows - http://harbourminigui.googlepages.com


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


Пост N: 1046
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 15.11.16 12:32. Заголовок: Сделал...


Сделал.

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




Пост N: 1035
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 15.11.16 13:14. Заголовок: alkresin пишет: Сде..


alkresin пишет:

 цитата:
Сделал.


Есть еще и библиотека ooHG, полностью совместимая по синтаксису с МиниГуи, но основанная на использовании классов.
Это противоречит описанию, которое дано другим диалектам библиотеки МиниГуи
Возможно ли дополнить Ваше описание

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


Пост N: 1047
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 15.11.16 14:09. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Это противоречит описанию, которое дано другим диалектам библиотеки МиниГуи


Ну так помещу ее отдельным пунктом.

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




Пост N: 1036
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 15.11.16 14:23. Заголовок: alkresin пишет: пом..


alkresin пишет:

 цитата:
помещу ее отдельным пунктом


Благодарю за сверхбыструю реакцию

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


Пост N: 1050
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.11.16 14:57. Заголовок: Дополнен раздел Допо..


Дополнен раздел Дополнительные библиотеки - добавлены подразделы о hbbz2, hbbz2io, hbgzio.

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




Пост N: 6162
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.11.16 18:45. Заголовок: alkresin Спасибо за..


alkresin
Спасибо за труд !
Простой вопрос. А не могли бы ,вот эту всю документацию конвертнуть в формат CHM ,
если это конечно не сложно.
Если нужна в этом какая то помощь , я готов.



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


Пост N: 1051
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 01.12.16 11:30. Заголовок: Могу, htm2chm справи..


Могу, htm2chm справится, наверное. Надо только разобраться, как там разделы сделать.

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





Пост N: 329
Зарегистрирован: 12.11.06
ссылка на сообщение  Отправлено: 01.12.16 11:53. Заголовок: alkresin огромное сп..


alkresin огромное спасибо за Ваш труд!

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


Пост N: 1052
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 02.12.16 11:49. Заголовок: На главную страницу ..


На главную страницу Harbour для начинающих выложил ссылку на chm файл.

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



Пост N: 197
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 02.12.16 13:44. Заголовок: После скачивания при..


После скачивания при попытке открыть выдает информацию

Переход на веб-страницу отменен

Попробуйте сделать следующее:
Повторите ввод адреса.



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




Пост N: 6165
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 02.12.16 13:59. Заголовок: nick_mi На файле - ..


nick_mi
На файле - свойства-разблокировать и все будет норм

alkresin
Большое спасибо за CHM !!!

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



Пост N: 198
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 02.12.16 14:25. Заголовок: Dima пишет: На файл..


Dima пишет:

 цитата:
На файле - свойства-разблокировать и все будет норм


Спасибо помогло

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


Пост N: 1053
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 02.12.16 14:31. Заголовок: Упаковал его в zip, ..


Упаковал его в zip, чтобы не было этих заморочек с блокировкой.

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


Пост N: 1054
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 14.12.16 12:56. Заголовок: Добавлена информация..


Добавлена информация по File IO API (hb_vf...() ): http://www.kresin.ru/hrbfaq_3.html#Doc12, обновлен chm - файл.

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




Пост N: 5246
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.12.16 14:37. Заголовок: alkresin пишет: обн..


alkresin пишет:

 цитата:
обновлен chm - файл.



Спасибо БОЛЬШОЕ за вашу работу !
А откуда хелпер можно скачать ?


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


Пост N: 1055
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 14.12.16 16:50. Заголовок: Andrey пишет: А отк..


Andrey пишет:

 цитата:
А откуда хелпер можно скачать ?


В смысле chm ? С http://www.kresin.ru/hrbfaq.html, там в самом начале.

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




Пост N: 5247
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.12.16 00:49. Заголовок: alkresin пишет: там..


alkresin пишет:

 цитата:
там в самом начале.



Спасибо, то что нужно !

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


Пост N: 1328
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 27.07.19 10:20. Заголовок: Добавил подраздел пр..


Добавил подраздел про HiPer-SEEK индексы:
http://www.kresin.ru/hrbfaq_3.html#Doc13_14

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


Пост N: 1431
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 30.09.20 11:39. Заголовок: В подраздел строковы..


В подраздел строковых функций http://www.kresin.ru/hrbfaq_3.html#Doc13_4 добавил hb_strIsUtf8(), hb_strReplace(), hb_strShrink() - только сегодня их обраружил и был приятно удивлен. Особенно понравилась hb_strReplace()ю

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




Пост N: 7001
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.07.21 10:47. Заголовок: Здравствуйте. Очень..


Здравствуйте.
Очень мало документации по переменным времени.
Можете сделать отдельный раздел у себя в справке ?
Чтобы было в одном месте.
 
tDtm := HB_DATETIME()
? HB_TSTOSTR( tDtm ) // 2021-07-19 00:28:52.946 "C"
? HB_TTOC( tDtm ) // 19.07.2021 00:28:52.946 "C"
? HB_TTOD( tDtm ) // 19.07.2021 "D"
? HB_TTON( tDtm ) // 2459415.02 "N"
? HB_TTOS( tDtm ) // 20210719002852946 "C"
cDtm := HB_TSTOSTR( tDtm )
? HB_STRTOTS( cDtm ) // 2021-07-19 00:28:52.946 "T"
? HB_CToT(cDtm) // 00:28:52.946 "T"

cTm1 := cTm2 := ""
? tDtm := HB_DATETIME() // 2021-07-19 00:28:52.949 "T"
? tUtc := hb_TSToUTC( tDtm ) // 2021-07-18 21:28:52.949 "T"
HB_TTOD( tDtm, @cTm1, "hh:mm:ss.fff" )
HB_TTOD( tUtc, @cTm2, "hh:mm:ss" )
? cTm1 // 00:28:52.949 "C"
? cTm2 // 21:28:52 "C"


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




Пост N: 1708
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 20.07.21 11:59. Заголовок: Andrey пишет: Очень..


Andrey пишет:

 цитата:
Очень мало документации по переменным времени.
Можете сделать отдельный раздел у себя в справке ?
Чтобы было в одном месте


тогда тут дублировать весь хелп по харбуру придется. Зачем ? достаточно где есть
https://github.com/Petewg/harbour-core/wiki/hb_T

Более того в ChangeLog.txt по Harbour эти функции прекрасно документированы
 
* harbour/source/rtl/dateshb.c
+ added new .prg functions to mange date and timestamp values:
HB_DATETIME() -> <tTimeStamp>
HB_CTOD( <cDate> [, <cDateFormat> ] ) -> <dDate>
HB_DTOC( <dDate> [, <cDateFormat> ] ) -> <cDate>
HB_NTOT( <nValue> ) -> <tTimeStamp>
HB_TTON( <tTimeStamp> ) -> <nValue>
HB_TTOC( <tTimeStamp>, [ <cDateFormat> ] [, <cTimeFormat> ] ) ->
<cTimeStamp>
HB_CTOT( <cTimeStamp>, [ <cDateFormat> ] [, <cTimeFormat> ] ) ->
<tTimeStamp>
HB_TTOS( <tTimeStamp> ) -> <cYYYYMMDDHHMMSSFFF>
HB_STOT( <cDateTime> ) -> <tTimeStamp>
<cDateTime> should be in one of the above form:
- "YYYYMMDDHHMMSSFFF"
- "YYYYMMDDHHMMSSFF"
- "YYYYMMDDHHMMSSF"
- "YYYYMMDDHHMMSS"
- "YYYYMMDDHHMM"
- "YYYYMMDDHH"
- "YYYYMMDD"
- "HHMMSSFFF"
- "HHMMSSF"
- "HHMMSS"
- "HHMM"
- "HH"
Important is number of digits.




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




Пост N: 7002
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.07.21 12:22. Заголовок: Haz пишет: Более то..


Haz пишет:

 цитата:
Более того в ChangeLog.txt по Harbour эти функции прекрасно документированы


Блин, а я искал по всему инету, вместо того чтобы первоисточник посмотреть...
И поиск правильно нужно делать, я искал "HARBOUR hh:mm:ss"

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




Пост N: 7374
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.05.23 18:22. Заголовок: На сайте у вас есть:..


На сайте у вас есть:
3.13.6 Управление запуском процессов 
nResult := hb_ProcessRun( cCommand, [cStdIn], [@cStdOut], [@cStdErr], [lDetach] )
handle := hb_ProcessOpen( cCommand, [cStdIn], [@cStdOut], [@cStdErr], [lDetach] )
nResult := hb_ProcessValue( handle, [lWait] )
nResult := hb_ProcessClose( handle, lGentle )

А можно более подробнее дать параметры ?
Я использую то что здесь на форуме давали:
   hPID := hb_processOpen( cRun + " " + cParam,,,,.F., @hProcess) 

Может и неправильно...
nResult := hb_ProcessClose( handle, lGentle ) - возвращает логическую переменную ! Не понял почему ?

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


Пост N: 1494
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.05.23 09:45. Заголовок: Описаний нигде нет, ..


Описаний нигде нет, разобраться можно только по исходникам и примерам применения.
handle := hb_ProcessOpen( cCommand, [cStdIn], [@cStdOut], [@cStdErr], [lDetach] )
Здесь cCommand - сама команда, cStdIn - то, что для этой команды вы бы ввели с клавиатуры, cStdOut и cStdErr - в эти переменные записывается вывод запускаемой программы, если он направлен в стандартные потоки stdout, stderr,
lDetach - чтобы запустить процесс и не ждать его завершения, "отвязать" от своей программы,
@hProcess - сюда записывается идентификатор процесса.

hb_ProcessClose() возвращает результат - удалось ли нормально завершить процесс.

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




Пост N: 7375
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.05.23 11:24. Заголовок: alkresin пишет: hb_..


alkresin пишет:

 цитата:
hb_ProcessClose() возвращает результат - удалось ли нормально завершить процесс.


Это я понял, просто наверное nResult нужно поменять на lResult !
А то получается, что ожидаешь число (N), и пишешь сразу в коде HB_NtoS(nResult) и получаешь пустоту....

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


Пост N: 1495
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.05.23 12:48. Заголовок: А... Ну да, надо буд..


А... Ну да, надо будет исправить

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




Пост N: 7377
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.05.23 13:55. Заголовок: Ещё вопрос по вашей ..


Ещё вопрос по вашей документации.
Можно ли разместить отдельный пример работы с потоком с одной базой данных ?
Не знаю как сделать у себя.
Базу открываю монопольно, запускаются несколько потоков с РАЗНЫМИ RECNO(), нужно записать в базу по этим RECNO() что-то
и потом завершить поток.

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


Пост N: 1496
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.05.23 15:45. Заголовок: Не получится. В доку..


Не получится. В документации написано, что workarea - локальные ресурсы потока, т.е., они не наследуются потоком.
Для проверки написал вот это:
Скрытый текст


и оно не работает, потому что поток "не видит" открытую родителем базу.
Да, вообще говоря, такой режим работы не очень эффективен.
Если бы это работало, то надо было бы расставлять мьютексы:

hb_mutexLock( mutex1 )
dbgoto( nRec )
field->MYFIELD := ...
hb_mutexUnLock( mutex1 )

чтобы между dbgoto() и изменением записи другой поток не передвинул указатель записи в другое место. Так что вряд ли это получится быстрее, чем в одном потоке.

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




Пост N: 7378
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.05.23 16:46. Заголовок: Спасибо, понял ! :s..


Спасибо, понял !
А если открывать базу тогда в многопользовательском режиме ?
Или вообще заново открывать базу в этом потоке, а потом закрывать.
Будет тогда работать ?
Мне не быстрота нужна, а независимость потока для записи в базу.
Т.е. что то сделали в потоке и записали в базу.
А в это время юзер может передвигаться по базе в основном потоке.

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


Пост N: 1497
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 18.05.23 19:52. Заголовок: Да, базу надо открыв..


Да, базу надо открывать в потоке в shared режиме, будет работать.

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


Пост N: 1640
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 18.05.23 20:28. Заголовок: Andrey пишет: что т..


Andrey пишет:

 цитата:
что то сделали в потоке и записали в базу.
А в это время юзер может передвигаться по базе в основном потоке


Нужно как-то отслеживать изменения. Иначе юзер может их и не увидеть.

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




Пост N: 7379
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 18.05.23 20:58. Заголовок: PSP пишет: Нужно ка..


PSP пишет:

 цитата:
Нужно как-то отслеживать изменения. Иначе юзер может их и не увидеть.


Ну можно сделать Public nPubUpdateBase := 0 и из потока присваивать 1 при нужных условиях.
А в главном потоке следить за этой переменной и делать Refresh базы если nPubUpdateBase == 1
Только как это реализовывать я не знаю ...
Нужно как то блокировать переменную M->nPubUpdateBase ?

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




Пост N: 1934
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 19.05.23 08:10. Заголовок: Andrey пишет: Ну мо..


Andrey пишет:

 цитата:
Ну можно сделать Public nPubUpdateBase := 0 и из потока присваивать 1 при нужных условиях.


Поток используется чтобы не прерывать работу в основном процессе. Базы открываются в каждом потоке в режиме совместного доступа и логика точно такая же как и при работе с базой нескольких пользователей.
Естественно в рамках работы в одной программе у нас есть вся информация о действиях "второго" пользователя и можно организовать хитрые рефреши если изменились записи из активного окна бровса, но на практике не заморачиваемся и все как при работе многопользовательской среде..
Если открывать базу в монопольном режиме, то eе нужно перемещать в zero space и забирать оттуда потоком при необходимости ( не забывая возвращать ) . Пока не забрали - алиас в потоке не увидим.
У Александра все очень доступно написано о принципах работы с базой в многопоточке, никакие примеры не нужны.
При монопольном доступе:
Открыл базу и сразу в переместил в зеро.

 
#xcommand UNLOCK WORKAREA [] => hb_dbDetach( )
#xcommand LOCK WORKAREA => hb_dbRequest( , .T.,, .T. )


При необходимости забрал из зеро, поработал и вернул. Вот и вся хитрость.
При многопользовательском:
Все тоже как будто работает ещё другой пользователь. Можно в разных потоках открывать с одним и тем же алиасом, все равно он будет локальный и виден только в потоке ( как и все прочие установки RDD )
Ранее в xharbour потоком наследовались не только паблик переменные но и рабочие области, это приводило к тому, что приходилось вешать мютексы и запоминать установки RDD в рабочей области для их корректного восстановления.
Позже и считаю правильным, наследование рабочей области убрали.

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




Пост N: 7386
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.05.23 21:32. Заголовок: В МиниГуи есть глоба..


В МиниГуи есть глобальные переменные:
   App.Cargo := oHmgData() 
(App.Cargo):nTimerSec := 5
(App.Cargo):aClose := {}
(App.Cargo):cFileDbf := GetStartUpFolder() + "\test.dbf"
(App.Cargo):cAlias := "MyTest"

И ещё можно делать на окно контейнер с нужными переменными:
   DEFINE WINDOW wMain ; 
.....
This.Cargo := oHmgData() // for the window we create an object without variables (conditionally empty)
This.Cargo:lRefresh := .F.
nRecno := (cAls)->Lastrec()
This.Cargo:oBrw := oBrw // положить объект TBROWSE на форму
This.Cargo:aBrw := ARRAY(nRecno)
AFILL( This.Cargo:aBrw, 0 )

Если я запускаю поток:
   hb_threadDetach( hb_threadStart( HB_THREAD_INHERIT_MEMVARS, @RunExternal(), aFile, oWnd ) ) 

То эти переменные доступны в потоке.
Вопрос такой, если нужно записать в потоке допустим в
  oWnd:Cargo:aBrw[25] := hPid или  This.Cargo:lRefresh := .T.   или       
AADD( (App.Cargo):aClose , {хендл окна, hPid, } )

НУЖНО ли делать блокировку этих переменных ?
Или лучше использовать обычные PUBLIC переменные ?
Или делать через класс TThrData (доступ в потоках к переменным идет с блокировками) из МиниГуи ?

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




Пост N: 4280
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.05.23 06:55. Заголовок: Andrey пишет НУЖНО л..


Andrey пишет
 цитата:
НУЖНО ли делать блокировку этих переменных ?


Делай так (только используй h_objects.prg, в нем THmgData и TThrData max совмещены)
 
FUNCTION oThrData()
RETURN TThrData():New()
тогда
App.Cargo := oThrData()

(App.Cargo):nTimerSec := 5
(App.Cargo):aClose := {}
(App.Cargo):cFileDbf := GetStartUpFolder() + "\test.dbf"
(App.Cargo):cAlias := "MyTest"
...
DEFINE WINDOW wMain ;
.....
This.Cargo := oThrData()
// for the window we create an object without variables (conditionally empty)
This.Cargo:lRefresh := .F.
nRecno := (cAls)->Lastrec()
This.Cargo:oBrw := oBrw // положить объект TBROWSE на форму
This.Cargo:aBrw := ARRAY(nRecno)
AFILL( This.Cargo:aBrw, 0 )

тогда и к этим переменным App.Cargo, This.Cargo доступ будет с блокировками в потоках, не путать с oBrw := This.Cargo:oBrw, тут обычный доступ. Можно делать свою переменную для потоков PUBLIC oThread := oThrData() и работать в потоках через нее. Управлять окнами, тсб можно через сообщения окну (по уст. событиям)

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


Пост N: 1509
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 02.06.23 14:58. Заголовок: Обновил Harbour для ..


Обновил Harbour для начинающих - часть III - добавил раздел 3.13 Интернационализация (hbi18n)

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

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