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


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


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

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


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




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

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