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


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


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

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


постоянный участник




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

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