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


Пост N: 1552
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 05.12.23 14:33. Заголовок: HwBuilder


Сделал утилиту для сборки программ типа hbmk: http://www.kresin.ru/hwbuilder.html.
Поначалу - для HwGUI, а потом увидел, что можно и для других GUI использовать, в том числе для Minigui (проверил - работает), и для консольных программ.
Hbmk не устраивал, потому что надо много дополнительных вещей указывать каждый раз для GUI и потому что он не всегда корректно определяет пути к компиляторам (в HwBuider они однозначно прописываются в ini). Собственно, я им и не пользовался, а bat'ники и sh-скрипты надоело писать каждый раз.

На сайте - бинарники. Исходники - в комплекте HwGUI (пока на SVN).

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 28 , стр: 1 2 All [только новые]


moderator




Пост N: 2226
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 05.12.23 17:41. Заголовок: alkresin пишет: мож..


alkresin пишет:

 цитата:
можно и для других GUI использовать


Попробовал собрать простой проект для Минигуи в качестве примера.
Исполняемый файл собрался, но совершенно не понятно, как подключить свои ресурсы в программу, поскольку при сборке используется только фиксированный RC-файл с манифестом из папки image.

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




Пост N: 7629
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.12.23 18:28. Заголовок: У меня много rc-файл..


У меня много rc-файлов в проекте, 35 штук.
В связи с ограничениями в BCC 5.50 на большие .res пришлось делать кучу RC-файлов.
Да так и осталось.
Так что при сборке нужно бы это предусматривать.
Resource\Ab4win.rc 
Resource\Ab4win_cnf.rc
Resource\Ab4win0.rc
Resource\Ab4win1.rc
....


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




Пост N: 7888
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 05.12.23 18:57. Заголовок: alkresin Александр ..


alkresin
Александр а есть зеркало сайта http://www.kresin.ru а то у нас
зачем то заблочили этот сайт ?

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


Пост N: 1553
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 06.12.23 10:02. Заголовок: По rc-файлам надо по..


По rc-файлам надо подумать. Я сам их не использую, в частности - потому что они только на Windows работают, поэтому как-то упустил этот момент.

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


Пост N: 1554
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 06.12.23 10:03. Заголовок: Dima пишет: Алексан..


Dima пишет:

 цитата:
Александр а есть зеркало сайта http://www.kresin.ru а то у нас
зачем то заблочили этот сайт ?


Нет зеркала. И давно заблокировали? Он просто не отзывается или сообщение какое-то?

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




Пост N: 4142
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 06.12.23 11:12. Заголовок: Сейчас все друг друг..


Сейчас все друг друга блокируют. Забейте
Нас к примеру блокирует гугл:

03. That’s an error.

Your client does not have permission to get URL / from this server. That’s all we know.

Причем не всех провайдеров, с мобильного интернета пускает. Иногда мы блокируем гугл
Для блокировок есть vpn.

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


Пост N: 1555
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 06.12.23 14:42. Заголовок: Обновил Windows бина..


Обновил Windows бинарники на сайте - решена проблема с файлами ресурсов.
Теперь их можно добавлять в любом количестве в список файлов вместе с prg в файле проекта или в командной строке.

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




Пост N: 7889
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.12.23 15:51. Заголовок: Pasha пишет: Для бл..


Pasha пишет:

 цитата:
Для блокировок есть vpn.


+ TOR

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




Пост N: 2227
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 06.12.23 18:46. Заголовок: alkresin пишет: реш..


alkresin пишет:

 цитата:
решена проблема с файлами ресурсов


Спасибо.
Удалось подключить ресурсные файлы Миингуи при сборке тестового примера.
Полный лог-файл сборки hwbuild.log см. ниже:
Скрытый текст

Но выявилась другая проблема:
при сборке библиотеки утилита tlib просит добавить параметр /P32 в эту строку исходника hwb.prg

 цитата:
"{path}\tlib /P32 {out} {objs}", ;



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


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


gfilatov2002 пишет:

 цитата:
при сборке библиотеки утилита tlib просит добавить параметр /P32


Хм... У меня с bcc5 - не требует, hwgui нормально собирается. Добавлю сегодня флаги для сборки библиотеки, строчку соответствующую в ini.

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


Пост N: 1557
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 07.12.23 14:06. Заголовок: Обновил Windows бина..


Обновил Windows бинарники на сайте.
Свои флаги для сборки библиотеки теперь можно указать в ini, например:

[C_COMPILER]
id=bcc
...
def_libflags=/P32

или непосредственно в файле проекта:

{bcc}def_libflags=/P32

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




Пост N: 7641
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.12.23 14:07. Заголовок: Можно ли вашу утилит..


Можно ли вашу утилиту использовать для сборки МиниГуи под VisualC ?
Вот такой Demo.hbp
Скрытый текст


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


Пост N: 1562
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.12.23 15:59. Заголовок: Можно. Главное - все..


Можно.
Главное - все правильно прописать в hwbuild.ini. Я использовал вот такой для minigui:

Скрытый текст


Для msvc нужна примерно такая секция:
Скрытый текст


Чтобы правильно прописать все эти строчки, прочитайте внимательно http://www.kresin.ru/notes/index.php?b=blog&n=32.

Что касается файла проекта - он немного, но не сильно, отличается от hbp. Логика построения такая же, см. http://www.kresin.ru/notes/index.php?b=blog&n=33

В вашем случае будет что-то вроде:

makemode=on
libs=TsbViewer hbmemio
prgflags=-w2 -es1
objpath=obj
outname=Demo_timer

*.prg
srcpath=Resource
*.rc

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




Пост N: 4470
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.12.23 16:40. Заголовок: alkresin пишет harb..


alkresin пишет
 цитата:
[HARBOUR]
harbour_path=c:\softools\minigui\harbour
harbour_bin_path=c:\softools\minigui\harbour\bin
harbour_include_path=c:\softools\minigui\harbour\include
def_flags=-n -q
libs=dll gtgui hbcplr hbrtl hbvm hblang hbcpage hbmacro hbrdd hbhsx rddntx rddcdx rddfpt hbsix hbcommon hbdebug hbpp hbpcre hbct hbmisc hbtip hbvpdf hbwin xhb bostaurus hbprinter miniprint socket hbhpdf libhpdf png hbzlib

[GUILIB]
id=minigui
path=c:\softools\minigui
inc_path=c:\softools\minigui\include
lib_path=c:\softools\minigui\lib
libs=minigui GraphPlus miniprint2 winreport tsbrowse propgrid

[C_COMPILER]
id=bcc
bin_path=c:\borland\bcc582\bin
harbour_lib_path=c:\softools\minigui\harbour\lib
def_flags=-c -d -w -O2

[VIEW]
font=Courier New,24


А так можно ?
в среде запуска стоит
SET HMG=c:\softools\minigui
SET HMG_BCC=c:\borland\bcc58
...
тогда
 
[HARBOUR]
harbour_path=%HMG%\harbour
harbour_bin_path=%HMG%\harbour\bin
harbour_include_path=%HMG%\harbour\include
...

[GUILIB]
id=minigui
path=%HMG%
inc_path=%HMG%\include
lib_path=%HMG%\lib
libs=minigui GraphPlus miniprint2 winreport tsbrowse propgrid

[C_COMPILER]
id=bcc
bin_path=%HMG_BCC%\bin
harbour_lib_path=%HMG%\harbour\lib
def_flags=-c -d -w -O2

[VIEW]
font=Courier New,24

и вставить, расширить список lib, prg, obj из внешних файлов, например командой
libs = ...
#include .\my_lib.txt
...
#include .\my_prg.txt
...
#include .\my_obj.txt
У меня своя программа ведения проектов и она формирует списки динамически по потребностям для сборки bat файлом, т.е. есть постоянные lib, obj + динамически сформированные, prg списки форм. только от времени модификаций

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


Пост N: 1563
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 19.12.23 20:46. Заголовок: SergKis пишет: SET ..


SergKis пишет:

 цитата:
SET HMG=c:\softools\minigui
...
[HARBOUR]
harbour_path=%HMG%\harbour
...



Хорошая идея, сделаю.


 цитата:
#include .\my_lib.txt
...
#include .\my_prg.txt



Имеете ввиду, в файле проекта?

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




Пост N: 4471
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.12.23 21:51. Заголовок: alkresin пишет Имеет..


alkresin пишет
 цитата:
Имеете ввиду, в файле проекта?


Да. Сейчас для 1 бат файла сборки на несколько проектов из программы создаются списки prg, obj, lib для компиляции, постоянные obj для конкретной сборки (берутся из ini описания проектов моей программы), сборка может формировать lib (в ini могут указываться др. lib только этого проекта) и ее так же надо подключать, т.е. кроме постоянных в ini прописанных, есть динамические подключения.
Файл настройки ini программы ведания проектов, как есть из проекта с FireBird (3-и проекта)
Скрытый текст


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


Пост N: 1564
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.12.23 11:11. Заголовок: Можно будет сделать...


Можно будет сделать. "#", правда, используется для комментариев, поэтому лучше будет @<имя файла> - можно будет использовать это и в файле проекта, и в командной строке.

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




Пост N: 4472
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.12.23 13:19. Заголовок: alkresin пишет font..


alkresin пишет
 цитата:
[VIEW]
font=Courier New,24


Это секция просмотра ошибок, правильно понимаю ?
Можно ли сделать запуск своего (bat, exe) просмотра ? У меня в проекте можно запустить (определяет bat файл сборки) ключ Notepad=... или свою программу с разбором протокола и перехода по строкам ошибок в редактирование для правки. Можно обойтись и блокировкой показа вашего view с возвратом Errorlevel HwBuilder

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


Пост N: 1565
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.12.23 15:57. Заголовок: Это для GUI интерфей..


Это для GUI интерфейса программы.
hwbc выводит все в консоль, hwb - в окно, где можно смотреть результаты сборки в полном и сокращенном виде, сохранить..
Кроме того, если запустить hwb без параметров или с файлом проекта и опцией -Open, открывается окно проекта, где можно его отредактировать, запустить на сборку с выбранными параметрами ( компилятором и пр. ).

> Можно ли сделать запуск своего (bat, exe) просмотра ?

Можно.

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


Пост N: 1566
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 20.12.23 16:11. Заголовок: Обновил бинарники на..


Обновил бинарники на сайте, теперь это версия 1.5

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

harbour_bin_path=%HB_PATH%\bin
или
harbour_bin_path=$HB_PATH\bin

В командной строке и в файле проекта можно включить содержимое других файлов с помощью конструкции @<file>.
Если файл указан без пути к нему, программа ищет его сначала в текущем каталоге, а потом - в каталоге, где находится исполняемый файл hwb/hwbc.

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




Пост N: 4473
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.12.23 11:31. Заголовок: alkresin пишет Обнов..


alkresin пишет
 цитата:
Обновил бинарники на сайте, теперь это версия 1.5


Что то не оч. понимаю, как реализовать на hwBuilder схему работы cmd файла из ini проекта, указанного выше
CmdComp=_hb_.cmd Его содержимое Скрытый текст

т.е. моя прогр. ведения проектов (пояснение к содержимому cmd)
0. создает переменные среды _hbSets.cmd для тек. проекта Скрытый текст

1. создает список prg для сборки, сравнивая дату, время prg и obj (после сборки дату, время от prg ставим obj), компиляция идет по одному prg -> obj, при ошибке процесс прерывается. Список создается созданием файла %C%\%PO%.tmp, где %PO% имя prg\obj для команды for %%d in ( %C%\*.tmp ) Do Call %0 O %%d
2. создает файл со списком всех obj исключая prg\obj, содержащий Main
3. по этому списку создается lib тек. проекта
4. из ini создается файл списка используемых либ + полученная lib тек. проекта
5. в итоге собираем из obj, содержащий Main + lib + res модуль
6. при ошибке -> запуск модуля просмотра протокола с возможностью правки prg

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


Пост N: 1567
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 21.12.23 13:24. Заголовок: > 0. создает пер..


> 0. создает переменные среды _hbSets.cmd для тек. проекта

Поскольку эти переменные используются дальше в вашей системе сборки, то при использовании hwbuilder в таком виде они не понадобятся.
Некоторые из них заменяются аналогами в файле проекта: srcpath - путь к исходникам (его можно указывать несколько раз и после каждого - соответствующую группу файлов), outpath - где поместить результат, outname - имя собранного файла, objpath - путь к obj (там же будут лежать и .c, получившиеся в результате компиляции prg).

> 1. создает список prg для сборки, сравнивая дату, время prg и obj (после сборки дату, время от prg ставим obj), компиляция идет по одному prg -> obj, при ошибке процесс прерывается. Список создается созданием файла %C%\%PO%.tmp, где %PO% имя prg\obj для команды for %%d in ( %C%\*.tmp ) Do Call %0 O %%d
> 2. создает файл со списком всех obj исключая prg\obj, содержащий Main

Все это делает сам hwbuilder, если задан makemode=on, сверяет даты создания prg, c, obj, компилирует только те, что надо.

> 3. по этому списку создается lib тек. проекта
> 4. из ini создается файл списка используемых либ + полученная lib тек. проекта

Не понял, зачем создавать промежуточную lib, почему не собрать exe прямо из obj. Но, если надо, это можно сделать, указав в файле проекта 2 подпроекта (:project). В первом создать lib, во втором - указать эту lib в строке libs=...

> 5. в итоге собираем из obj, содержащий Main + lib + res модуль

Это то, чем и занимается hwbuilder

> 6. при ошибке -> запуск модуля просмотра протокола с возможностью правки prg

hwbc, как я писал, просто выводит результат в консоль ( или в файл, если в командной строке указать >result.txt.
hwb запускает свой модуль просмотра.

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




Пост N: 4474
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.12.23 14:00. Заголовок: alkresin пишет Не по..


alkresin пишет
 цитата:
Не понял, зачем создавать промежуточную lib, почему не собрать exe прямо из obj


1. это упрощает сборку проектов под любым компилятором, т.е. все сводится к схеме main.obj+lib+res
2. в большом, связанном проекте (к примеру, допустим, что в представленном выше ini проекты связаны) lib 1-го используется во 2-м, а в 3-м используются обе lib из 1,2 проектов + своя и + имеем 3-и рабочих модуля. Любая из этих lib может использоваться в других проектах (др. ini)

 цитата:
hwb запускает свой модуль просмотра.


как запустить свой ? В cmd файле выше это строки
rem ---------------------- Start Notepad for error view 
:Notepad
%BK%\BIN\prj.exe /r .\%OCMD% %NINI% %NSEC% *
rem Start %NPAD% .\%OCMD%
goto e


 цитата:
Но, если надо, это можно сделать, указав в файле проекта 2 подпроекта (:project). В первом создать lib, во втором - указать эту lib в строке libs=...


т.е. делаем два запуска последовательно
hwb.exe <1.hwprj> <options>
if errorlevel 1 goto err
hwb.exe <2.hwprj> <options>
if errorlevel 1 goto err
или как то иначе ?

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


Пост N: 1568
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 21.12.23 14:10. Заголовок: > как запустить ..


> как запустить свой ?

Будет в следующей версии сегодня-завтра.

> т.е. делаем два запуска последовательно ...

Нет, только один. Эти подпроекты находятся в одном hwprj и выполняются последовательно при одном запуске. Выше объявления подпроекта указываются опции, общие для всех подпроектов.

makemode=on
objpath=obj

:project mylib

outpath=...
outname=...
srcpath=...
...
:project myexe

libs=...
outname=...
srcpath=...
...

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




Пост N: 4475
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.12.23 14:32. Заголовок: alkresin пишет Нет, ..


alkresin пишет
 цитата:
Нет, только один. Эти подпроекты находятся в одном hwprj и выполняются последовательно при одном запуске.


Вот оно как, Михалыч !(с) Из описания на сайте этого не понял. Спасибо за пояснения.
А как с обработкой ошибок во время выполнения последовательного процесса ? т.е. ошибки файла проекта hwprj + сборки
Как с синтаксисом ?
libs=
...
...
или
libs=...
libs=...
libs=...
или
libs=@<file.txt>
или
libs=
@<file.txt>

так можно задавать ?

Не понял как задать список конкретных obj для сборки lib ? Сейчас есть файл такой Скрытый текст

т.е. выполнить команду lib.exe /OUT:%C%\%PP%.lib @%W%\o_%PP%.txt > nul

 цитата:
libs дополнительные библиотеки, указываются через пробел и без расширений


Без расширений это не есть хорошо. Сейчас для сборки в bat файлах идут с расширениями, а это надо править у себя ..., т.к. @<file> для применения все с расширениями obj и lib. Надо бы и так и так задавть\обрабатывать. Сейчас файл такой по содержанию
\BK19\OBJ\ErrSysHMG_.obj .\C\_ealarm.obj \BK19\OBJ\MapFile.obj kernel32.lib user32.lib ... legacy_stdio_definitions.lib xhb.lib hbpcre.lib .\C\_ealarm.lib

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


Пост N: 1569
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 21.12.23 15:55. Заголовок: > А как с обрабо..


> А как с обработкой ошибок

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

> Как с синтаксисом ?

libs=lib1 lib2 ...
или
@mylibs.txt
а в mylibs.txt - "libs=lib1 lib2 ..."

> как задать список конкретных obj для сборки lib

target=lib
...
.\C\letofunc.obj
.\C\listfunc.obj
.\C\setsdata.obj
.\C\tsb_xml2xls.obj

"target=lib" является признаком, по которому hwbuilder будет собирать именно библиотеку, а не exe. Он сам выполнит нужную команду, в зависимости от С компилятора.

> Без расширений это не есть хорошо

Дело в том, что у разных компиляторов - разные расширения, а один файл проекта может использоваться с разными компиляторами. Юольше того, у mingw, например, ставится lib перед именем библиотеки.

> ... kernel32.lib user32.lib

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

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


Пост N: 1570
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 21.12.23 16:18. Заголовок: Выложил новую версию..


Выложил новую версию, 1.6
Появились строчки в ini, секции [VIEW]:

; Прогресс-бар включен
progressbar=On
; внешняя программа для просмотра результатов сборки
extview=

В секции для компилятора добавил строчку

def_syslibs=...

Там программа автоматом проставит системные библиотеки, подключаемые при сборке - этот список можно отредактировать.
Обновлен прогрессбар - вместо стандартного сделал свой, из DRAWN.

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




Пост N: 4476
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.12.23 16:51. Заголовок: alkresin пишет libs=..


alkresin пишет
 цитата:
libs=lib1 lib2 ...
или
@mylibs.txt
а в mylibs.txt - "libs=lib1 lib2 ..."


т.е. libs=@mylibs.txt нельзя и libs=@my.txt
где my.txt = "\BK19\OBJ\ErrSysHMG_.obj .\C\_ealarm.obj \BK19\OBJ\MapFile.obj .\C\_ealarm.lib"
тоже, ok!

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


Думал обойдусь заменой вызова в cmd файле, т.е. _hb_.cmd такой (хотел подменить вызов не трогая программу)
@if exist \BK19\BIN\hb19.cmd Call \BK19\BIN\hb19.cmd %1 %2 %3 %4 %5 %6 %7 %8
но не получится.Остаюсь на своих bat, cmd файлах, править разные версии своих программ ведения проектов (работают программы), от hb 2.0 с bcc55, vc2008,9,2017,2019 и заменить на новое - не реально, да и смысла нет, т.к. сейчас все везде одинаково. Для тек. hmg, мне достаточно, то что есть в поставке.
Спасибо за объяснения

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

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