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




Пост N:1786
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:12.06.11 04:05.Заголовок:Как "заморозить" выполнение программы ?


Всем привет.
Подскажите как можно остановить (заморозить) выполнение программы до выполнения определенного события в другой программе ?
Т.е. я из своей программы на хХарборе (терминалка) запускаю допустим программу "Скачивания из инета" на МиниГуи.
Терминалку на хХарборе нужно "заморозить" до конца скачивания ! Иначе ЮЗВЕР будет тыкать мышкой раньше времени....
После того как скачался файл нужно вернуться обратно в терминалку на хХарборе !

Можно конечно сделать "семафорный файл" после получения файла из инета, а в хХарборе проверять каждую минуту есть такой файл или нет.
Но это можно было делать и на Клипере (проверку файла).
А что нам может предложить хХарбор ?



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





Пост N:49
Зарегистрирован:18.02.11
ссылка на сообщение  Отправлено:12.06.11 20:09.Заголовок:Andrey пишет: А чт..


Andrey пишет:

 цитата:

А что нам может предложить хХарбор ?


Я использую для таких вещей скриптовый язык AutoIt3.
Запускаем прогу на МиниГуи (из нее запуск AutoIt3) и делаем терминальное окно hide:
WinSetState("myprogram.exe", "", @SW_HIDE).
При завершению проги на МиниГуи (из нее запуск AutoIt3) и делаем:
WinSetState("myprogram.exe", "", @SW_SHOW)

На Harbor не знаю как это сделать, возможно гуру подскажут.



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



Пост N:124
Зарегистрирован:05.06.07
ссылка на сообщение  Отправлено:21.06.11 03:30.Заголовок:WAITRUN..


WAITRUN

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




Пост N:1795
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:22.06.11 00:25.Заголовок:SADSTAR2 пишет: WAI..


SADSTAR2 пишет:

 цитата:
WAITRUN


Нет такой функции в хХарборе !

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


Пост N:513
Зарегистрирован:25.12.07
ссылка на сообщение  Отправлено:22.06.11 00:55.Заголовок:Andrey пишет: Всем ..


Andrey пишет:

 цитата:
Всем привет.
Подскажите как можно остановить (заморозить) выполнение программы до выполнения определенного события в другой программе ?



Вообще-то была такая тема http://clipper.b.qip.ru/?1-4-0-00000327-000-20-0

Там WaitForSingleObject() ждал окончания другого процесса, но WaitForSingleObject()/WaitForMultipleObjects() могут "ждать" много разных событий и т.д

Единственное, чтобы всем этим манипулировать, надо знать в некоторой степени С... Как сделать тоже самое только Харбором - не знаю.



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



Пост N:125
Зарегистрирован:05.06.07
ссылка на сообщение  Отправлено:22.06.11 01:51.Заголовок:Andrey пишет: Нет т..


Andrey пишет:

 цитата:
Нет такой функции в хХарборе !


может это поможет
http://lists.harbour-project.org/pipermail/harbour-users/2008-December/000051.html

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




Пост N:229
Зарегистрирован:11.02.10
ссылка на сообщение  Отправлено:22.06.11 10:22.Заголовок:Andrey пишет: Нет т..


Andrey пишет:

 цитата:
Нет такой функции в хХарборе


Зато такая функция есть в библиотеке минигуи
Скрытый текст


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




Пост N:1796
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:22.06.11 11:34.Заголовок:gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Зато такая функция есть в библиотеке минигуи



А как прикрутить ?
В смысле, какие include в заголовках включить ?

#pragma BEGINDUMP

#include <???.h>

#pragma ENDDUMP



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




Пост N:1859
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:19.08.11 00:32.Заголовок:Возвращаюсь к текуще..


Возвращаюсь к текущему вопросу, только для ShellExecute .

Urri пишет:

 цитата:
Подскажите, а можно ли затормозить выполнение программы до того момента, пока то, что вызывалось ShellExecute,
завершит свою работу?



Мне тоже нужно подождать пока ShellExecute выполнит работу, ну и выключить комп потом или продолжит что-то делать.




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


Пост N:576
Зарегистрирован:27.01.07
ссылка на сообщение  Отправлено:19.08.11 08:34.Заголовок:Вот в этой теме было..

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




Пост N:1860
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:19.08.11 11:43.Заголовок:PSP пишет: Вот в эт..


PSP пишет:

 цитата:
Вот в этой теме было: http://clipper.borda.ru/?1-4-0-00000327-000-10001-0-1250159714


Да читал я там до этого.

Только там конечного результата не было ! Что конкретно использовать ?
WAITRUN( cRun )
EXECANDWAIT() - какие параметры передавать ?



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




Пост N:1861
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:19.08.11 12:13.Заголовок:Сделал тестовую прог..


Разобрался.
Сделал тестовую программу. Обе функции работают.
Кому интересно - выкладываю: http://files.mail.ru/B95OVE




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




Пост N:1862
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:19.08.11 12:57.Заголовок:Хорошую вещь сделал ..


Хорошую вещь сделал Pasha - функцию EXECANDWAIT в http://clipper.borda.ru/?1-4-0-00000327-000-10001-0-1250159714
Только сейчас оценил.
Можно вызвать через батник Notepad или WinWord и пока не завершишь работу в них, программа "заморожена" !!!
Спасибо БОЛЬШОЕ Pasha !

Пример здесь: http://files.mail.ru/MYGRX9

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




Пост N:2040
Зарегистрирован:23.05.05
ссылка на сообщение  Отправлено:19.08.11 13:10.Заголовок:Andrey пишет: Хорош..


Andrey пишет:

 цитата:
Хорошую вещь сделал Pasha - функцию EXECANDWAIT



Только я ее не делал, а механически перевел с паскаля на С

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




Пост N:1864
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:19.08.11 14:00.Заголовок:Pasha пишет: Только..


Pasha пишет:

 цитата:
Только я ее не делал, а механически перевел с паскаля на С



Все равно БОЛЬШОЕ СПАСИБО ! Никто другой же не сделал !!!

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




Пост N:1865
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:20.08.11 14:24.Заголовок:Столкнулся с проблем..


Столкнулся с проблемой.
При использовании терминала GTWVT - нет вывода на экран запущенного батника через функцию EXECANDWAIT()
На GTWIN - все команды батника отображаются в окне задачи.
Пример тут: http://files.mail.ru/TAU7FT
Там в батнике идет разархивация архива 7z, с обработкой ошибки. Нужно подправить пути и добавить любой архив 7z.

Вопрос к знатокам: можно ли сделать еще доп.параметр "показа/скрытия" вывода на экран для GTWVT ?
Или вывод в другом окне ?


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




Пост N:2069
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:26.02.12 01:25.Заголовок:Нужно сделать теперь..


Нужно сделать теперь другую задачу.
Из МиниГуи вызывать с ожиданием терминалку на хХарборе !
Очень хотелось сделать попроще.

WAITRUN() не подошел. Вообще не показывает запущенную терминалку (gtwin или gtwvt) !
В процессах сидит, на экране нет ! Такая же беда как на хХарборе !
Описания в ХЕЛПЕ по МиниГуи нет, искал WAITRUN() по исходникам....
И о чудо - нашел WAITRUNTERM() для терминалки ! Работает !!!
Пишу, может кому пригодиться, чтоб не искали в ДОКЕ !


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



Пост N:20
Зарегистрирован:19.10.05
ссылка на сообщение  Отправлено:31.01.14 17:24.Заголовок:xHarbour Compiler bu..


Пришлось изменять старые программы, не переписаннные в GUI.
xHarbour Compiler build 1.2.1 + GTWVT-terminal

После вызова WAITRUNTERM( не восстанавливается экран после выхода из внешней программы).

Например, вызов

nRc := WaitRunTerm("Wordpad.exe")

WAITRUNTERM

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



Либо подскажите, пожалуйста, где что не так в EXECANDWAIT для такой связки( не вызывается внешняя программа) :

пример вызов
nRc := EXECANDWAIT ("Wordpad.exe")
EXECANDWAIT
Скрытый текст




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




Пост N:3798
Зарегистрирован:17.05.05
ссылка на сообщение  Отправлено:31.01.14 17:50.Заголовок:Avf пишет: EXECAND..


Avf пишет:

 цитата:
EXECANDWAIT ("Wordpad.exe")


а если путь указать к Wordpad.exe

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



Пост N:21
Зарегистрирован:19.10.05
ссылка на сообщение  Отправлено:31.01.14 17:59.Заголовок:Wordpad в той же дир..


Wordpad в той же директории что и программа ( это просто пример )

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




Пост N:3799
Зарегистрирован:17.05.05
ссылка на сообщение  Отправлено:31.01.14 19:23.Заголовок:Avf Harbour 3.2 про..


Avf
Harbour 3.2 проверил работает нормально

Исходник
 
proc main
EXECANDWAIT("notepad.exe")

return

#pragma BEGINDUMP

#include <windows.h>
#include "hbapi.h"
#include "hbvm.h"
#include "hbwinuni.h"

HB_FUNC( EXECANDWAIT )
{
void * hProg;
HB_SIZE nLen;
LPCTSTR lpProg = HB_PARSTR( 1, &hProg, &nLen );

DWORD dwResult = 0xFFFFFFFF;

STARTUPINFO si;
PROCESS_INFORMATION proc;

memset( &si, 0, sizeof(si) );
si.cb = sizeof( si );
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = (WORD) hb_parnldef( 2, SW_SHOWDEFAULT );

if( CreateProcess( NULL,
HB_STRUNSHARE( &hProg, lpProg, nLen ), /* Command line (Unicode version needs an non-const buffer) */
NULL, NULL, FALSE, CREATE_NO_WINDOW | NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &proc ) )
{
hb_vmUnlock();

WaitForInputIdle( proc.hProcess, INFINITE );
if( WaitForSingleObject( proc.hProcess, INFINITE ) == WAIT_OBJECT_0 )
{
if( ! GetExitCodeProcess( proc.hProcess, &dwResult ) )
dwResult = 0xFFFFFFFF;
}

CloseHandle( proc.hThread );
CloseHandle( proc.hProcess );

hb_vmLock();
}

hb_retnint( dwResult );

hb_strfree( hProg );
}

#pragma ENDDUMP


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




Пост N:3222
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:31.01.14 23:55.Заголовок:Avf пишет: Пришлось..


Avf пишет:

 цитата:
Пришлось изменять старые программы, не переписаннные в GUI.
xHarbour Compiler build 1.2.1


Попробуй 1.2.3 - в предыдущем ошибок много...

Avf пишет:

 цитата:
Либо подскажите, пожалуйста, где что не так в EXECANDWAIT для такой связки( не вызывается внешняя программа) :


Она вызывается, просто на экране не отображается. Читай выше - я столкнулся с этим.

Avf пишет:

 цитата:
После вызова WAITRUNTERM( не восстанавливается экран после выхода из внешней программы).


Сделай проще:
SAVE SCREEN
WAITRUNTERM(cFile)
RESTORE SCREEN


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



Пост N:22
Зарегистрирован:19.10.05
ссылка на сообщение  Отправлено:06.02.14 15:07.Заголовок:Неделю отсутствовал...


Вариант с WAITRUNTERM работает на XHarbour

EXECANDWAIT, приведенный выше для Harbour, для ХHarbour должен выглядеть как-то иначе.


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




Пост N:5744
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:02.03.18 18:42.Заголовок:Andrey пишет: Хорош..


Andrey пишет:

 цитата:
Хорошую вещь сделал Pasha - функцию EXECANDWAIT в http://clipper.borda.ru/?1-4-0-00000327-000-10001-0-1250159714
Только сейчас оценил.
Можно вызвать через батник Notepad или WinWord и пока не завершишь работу в них, программа "заморожена" !!!



Программа на терминалке хХарбора 1.2.3
Делаю показ надписи и вызываю программу на МиниГуи:
@ 10,10 SAY "Загружаю модуль ХХХ !" 
EXECANDWAIT(CurDrive()+":"+DirName()+"\XXX-MiniGui.exe")

Как можно сделать замену надписи в терминалке через 10-15 сек на другую ?
@ 10,10 SAY "Ожидаю закрытия модуля ХХХ !"


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




Пост N:6741
Зарегистрирован:17.05.05
ссылка на сообщение  Отправлено:02.03.18 19:16.Заголовок:На вскидку... 1. Пот..


На вскидку...
1. Поток
2. FT_OnTick
3. HB_IdleAdd


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




Пост N:5745
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:02.03.18 21:03.Заголовок:Dima пишет: 2. FT_O..


Dima пишет:

 цитата:
2. FT_OnTick
3. HB_IdleAdd



Не работал с этим. Подскажи пожалуйста как это работает ?

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


Пост N:1385
Зарегистрирован:27.01.07
ссылка на сообщение  Отправлено:02.03.18 21:21.Заголовок:Может просто написат..


Может просто написать: "Запущено внешнее приложение XXX. Чтобы продолжить, закройте его", а?))

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




Пост N:5747
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:02.03.18 21:40.Заголовок:PSP пишет: Может пр..


PSP пишет:

 цитата:
Может просто написать: "Запущено внешнее приложение XXX. Чтобы продолжить, закройте его", а?))


Пока прога на МиниГуи загрузится... Антивирусник его постоянно проверяет, проходит секунд 10.
Пользователь тупо пытается нажать ещё раз и раз на кнопку. Из-за этого и вывесил сообщение.
Твоя надпись будет нервировать неподготовленного пользователя.

Конечно в МиниГуи приложение можно после запуска отправить терминалке сообщение как в примере:
* Передача сообщений между приложениями/процессами при помощи сообщения WM_COPYDATA.
Но для простой вещи это перебор...
Нужно просто через 10-15 секунд изменить надпись.


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



Пост N:560
Зарегистрирован:17.06.10
ссылка на сообщение  Отправлено:02.03.18 23:40.Заголовок:а таймер незя ?..


а таймер незя ?

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




Пост N:5748
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:03.03.18 00:25.Заголовок:fil пишет: а таймер..


fil пишет:

 цитата:
а таймер незя ?



А как в хХарборе делать таймер ?
Я уже не помню как делать. В Клипере что-то в СТ было, а как сейчас делать не знаю.

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




Пост N:6742
Зарегистрирован:17.05.05
ссылка на сообщение  Отправлено:03.03.18 09:30.Заголовок:Andrey пишет: А как..


Andrey пишет:

 цитата:
А как в хХарборе делать таймер ?


http://clipper.borda.ru/?1-4-0-00001192-000-0-0-1498420920
Пост 1539

По Ft_ontick
FT_OnTick({|| Mytest() },200)
@ 10,10 SAY "Загружаю модуль ХХХ !"
EXECANDWAIT(CurDrive()+":"+DirName()+"\XXX-MiniGui.exe")
FT_OnTick()

Func Mytest()
@ 10,10 SAY "Ожидаю закрытия модуля ХХХ !"
return nil

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


Пост N:1206
Зарегистрирован:20.02.11
ссылка на сообщение  Отправлено:03.03.18 11:40.Заголовок:Andrey пишет: Польз..


Andrey пишет:

 цитата:
Пользователь тупо пытается нажать ещё раз и раз на кнопку. Из-за этого и вывесил сообщение


Проще кнопку задисаблить после нажатия, и сообщение что запущено внешнее приложение Х...
А при завешении этой Х.. - раздисаблить и убрать сообщение


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



Пост N:1771
Зарегистрирован:17.02.12
ссылка на сообщение  Отправлено:03.03.18 11:51.Заголовок:Haz :sm36: сохран..


Haz

сохранил экран\сделал новый с крупным письмом типа "Ж Д И Т Е ...", потом все воссстановил.
Все время так делаю. Пользователь не такой тупой, все понимает, пусть и не с первого раза.

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




Пост N:6743
Зарегистрирован:17.05.05
ссылка на сообщение  Отправлено:03.03.18 12:12.Заголовок:Можно еще "верту..


Можно еще "вертушку" повесить , пока работает внешнее приложение Х , что бы юзер не подумал что прога висит

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




Пост N:5749
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:03.03.18 15:01.Заголовок:Haz пишет: Проще кн..


Haz пишет:

 цитата:
Проще кнопку задисаблить после нажатия, и сообщение что запущено внешнее приложение Х...
А при завешении этой Х.. - раздисаблить и убрать сообщение


Нет у меня такого на хХарборе.

Dima Спасибо !

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


Пост N:1207
Зарегистрирован:20.02.11
ссылка на сообщение  Отправлено:03.03.18 15:09.Заголовок:Andrey пишет: Нет у..


Andrey пишет:

 цитата:
Нет у меня такого на хХарборе


Не верю (с).
Но раз нет, так нет и искать не будем среди множества вариантов.

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




Пост N:6744
Зарегистрирован:17.05.05
ссылка на сообщение  Отправлено:03.03.18 15:22.Заголовок:Haz пишет: Не верю ..


Haz пишет:

 цитата:
Не верю (с).


+1

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




Пост N:6745
Зарегистрирован:17.05.05
ссылка на сообщение  Отправлено:03.03.18 16:20.Заголовок:Hbnf :sm38: ..


Hbnf

для иксов Libnf

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




Пост N:6746
Зарегистрирован:17.05.05
ссылка на сообщение  Отправлено:03.03.18 16:30.Заголовок:чего ж нет если есть..


чего ж нет если есть в xharbour\contrib\libnf\ontick.c

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




Пост N:6747
Зарегистрирован:17.05.05
ссылка на сообщение  Отправлено:03.03.18 17:08.Заголовок:Попробуй портировать..


Попробуй портировать из Harbour
Сырец
Скрытый текст



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




Пост N:6748
Зарегистрирован:17.05.05
ссылка на сообщение  Отправлено:03.03.18 17:24.Заголовок:Andrey пишет: Я дум..


Andrey пишет:

 цитата:
Я думаю, что не пойдёт из за:


убери THREAD , думаю не смертельно

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




Пост N:6749
Зарегистрирован:17.05.05
ссылка на сообщение  Отправлено:03.03.18 17:31.Заголовок:Andrey пишет: А то ..


Andrey пишет:

 цитата:
А то мусорница начинается, потом форум читать трудно будет.


Не мусори

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




Пост N:5759
Зарегистрирован:12.09.06
ссылка на сообщение  Отправлено:03.03.18 18:18.Заголовок:SergKis пишет: сохр..


SergKis пишет:

 цитата:
сохранил экран\сделал новый с крупным письмом типа "Ж Д И Т Е ...", потом все воссстановил.
Все время так делаю. Пользователь не такой тупой, все понимает, пусть и не с первого раза.



Сделал для юзера "Ж Д И Т Е ..."
cRunExe := M->SetPath + "MiniGui-module.exe " + cParam
EXECANDWAIT(cRunExe)
После старта модуля на МиниГуи терминалка висит и сообщение Программа (не отвечает) !

Как это убрать ?
Может можно как то повесить показ таймера через каждую секунду или две ?

Пробовал сделать как в Пост N: 3833
http://clipper.borda.ru/?1-4-0-00000954-000-0-0-1392306838

Все равно прога висит... Юзер по не знанию может прогу на терминалке крестиком закрыть...



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



Пост N:1772
Зарегистрирован:17.02.12
ссылка на сообщение  Отправлено:03.03.18 18:47.Заголовок:Andrey ты запускаеш..


Andrey
ты запускаешь execandwait, т.е. терминалка должна висеть до завершения минигуи.
Определись чего хочешь ?
Хочешь, что то делать, делай с idle, пример есть в TEST каталоге, посканируй.


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



Пост N:1773
Зарегистрирован:17.02.12
ссылка на сообщение  Отправлено:03.03.18 18:50.Заголовок:Andrey пишет Юзер по..


Andrey пишет
 цитата:
Юзер по не знанию может прогу на терминалке крестиком закрыть...


У себя крестик закрываю наглухо (что бы не было желания нажимать). Выход только по меню или кнопкап, т.е. где разрешено.

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

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