Форум
Написать нам
Страница 1 из 3123»
Форум MMB » Другие разделы » Мир программирования » Delphi (ну давайте!)
Delphi
SowerДата: Воскресенье, 22 Февраля 2009, 09:01 | Сообщение # 1
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
Самый бедный раздел форума! Мне его жаль! Давайте раскачаем тему про delphi чтоли, а то есть же люди у нас, которые шарят!

Вот вобщет тема темы biggrin

Есть у меня такие мыслишки:

Что, если сделать в делфи программку для конструкций mmb скрипта для работы с некоторыми плагинами! Т.е. есть там плагин RichEdit, TabPanel... чтобы избавиться от нудного написания кода, можно взять эту программку, где есть список всех функций и кода к ним, ты вводишь нужные данные, и в memo появляется текст кода! Вопрос только в том, что нужен чел, который возьмется конструировать, я потому и пишу, что сам не имею времени, да и желания собсвенно из-за некоторых обстоятельств, ну хотябы кто-то собрал бы всю нужную инф. про самые известные плагины...

 
Alex3AДата: Воскресенье, 22 Февраля 2009, 12:06 | Сообщение # 2
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (Grand)
Что, если сделать в делфи программку для конструкций mmb скрипта для работы с некоторыми плагинами!

У меня к некоторым плагинам идет скриптмейкер, в нем перечень функций, их описание и генератор скрипта.
Естественно формирует только обращения к функциям плагина
Можно конечно унифицировать работу с плагинами, смотри тут.
 
SowerДата: Понедельник, 09 Марта 2009, 09:59 | Сообщение # 3
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
Да и недавно выклал для TabPanel конструктор скрипта.

Так может кто откликница на предложение?!:!:!

 
toizyДата: Понедельник, 09 Марта 2009, 10:25 | Сообщение # 4
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
А зачем? Всё это отлично пишется руками.

Жизнь оказалась не такой уж и забавной, как поначалу...
 
SowerДата: Понедельник, 09 Марта 2009, 10:31 | Сообщение # 5
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
Quote (toizy)
А зачем? Всё это отлично пишется руками.

Как зачем? Софт для MMB должен расширяться!
 
toizyДата: Понедельник, 09 Марта 2009, 10:36 | Сообщение # 6
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Ну если есть желание, пиши...

Добавлено (09 Март 2009, 10:36)
---------------------------------------------
От оффсайта были потуги написать такой софт. В старых сдк даже предлагалось включать текстовую информацию о функциях, чтобы утилита могла брать описания функций прямо из плагина. Но эта идея заглохла. Да и если бы я документировал каждую функцию, например, UnicodeRTFEdit, то файл раздуло бы а я умом бы тронулся. Тут хелп нормально дописать кайфа нет, а тут какие-то описания в плагин вставлять... ваащщще

Добавлено (09 Март 2009, 10:36)
---------------------------------------------
Не нужно это, поверь


Жизнь оказалась не такой уж и забавной, как поначалу...
 
SowerДата: Понедельник, 09 Марта 2009, 11:09 | Сообщение # 7
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
Quote (toizy)
Не нужно это, поверь

Поверю...

Можно в этой теме спросить:

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

 
toizyДата: Понедельник, 09 Марта 2009, 11:14 | Сообщение # 8
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Ну не знаю...Конструктор сайтов вроде бы не очень простая задача

Жизнь оказалась не такой уж и забавной, как поначалу...
 
LoveprogrammingДата: Среда, 26 Августа 2009, 12:32 | Сообщение # 9
Новый участник
Группа: Пользователи
Сообщений: 6
Репутация: 0
Награды: 0
Статус: Offline
У меня раньше была delphi 7, я её очень любил но мой братишка взял и удалил её!
Теперь где её искать :'( ?
 
СергейДата: Среда, 26 Августа 2009, 13:09 | Сообщение # 10
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
Quote (Loveprogramming)
Теперь где её искать
Это вопрос риторический или вам нужна ссылка?!


Сообщение отредактировал sp3d - Среда, 26 Августа 2009, 13:12
 
LoveprogrammingДата: Среда, 26 Августа 2009, 14:00 | Сообщение # 11
Новый участник
Группа: Пользователи
Сообщений: 6
Репутация: 0
Награды: 0
Статус: Offline
Ссылка
 
BodiДата: Среда, 26 Августа 2009, 14:02 | Сообщение # 12
Поднаторевший
Группа: Проверенные
Сообщений: 78
Репутация: 7
Награды: 1
Статус: Offline
Quote (Loveprogramming)
Ссылка

Тогда вы обратились не по адресу,
вам сюда: http://www.google.ru/
 
СергейДата: Среда, 26 Августа 2009, 14:03 | Сообщение # 13
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
Quote (Loveprogramming)
Ссылка
А что поиск отменили?!
 
LoveprogrammingДата: Среда, 26 Августа 2009, 14:05 | Сообщение # 14
Новый участник
Группа: Пользователи
Сообщений: 6
Репутация: 0
Награды: 0
Статус: Offline
Одни платные :(
 
СергейДата: Среда, 26 Августа 2009, 14:05 | Сообщение # 15
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
вот результат за 0,26сек
для супер ленивых сюда
там с версии 1 и до 10
 
DEMBELДата: Среда, 26 Августа 2009, 14:06 | Сообщение # 16
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
Видимо отменили...



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
СергейДата: Среда, 26 Августа 2009, 14:06 | Сообщение # 17
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
Quote (Loveprogramming)
Одни платные
Вы ошиблись, здесь не варез
 
DEMBELДата: Среда, 26 Августа 2009, 14:07 | Сообщение # 18
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
вот тебе прям с DepositFiles + лекарство... И че так сложно было?



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62


Сообщение отредактировал DEMBEL - Среда, 26 Августа 2009, 14:08
 
СергейДата: Среда, 26 Августа 2009, 14:12 | Сообщение # 19
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
А если вам надо бесплатную версию, то качайте Turbo Delphi с оффсайта, он бесплатен, я оттуда качал весит около - 300мб и бесплатно
 
LoveprogrammingДата: Среда, 26 Августа 2009, 14:17 | Сообщение # 20
Новый участник
Группа: Пользователи
Сообщений: 6
Репутация: 0
Награды: 0
Статус: Offline
спс
 
СергейДата: Воскресенье, 23 Мая 2010, 19:43 | Сообщение # 21
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
Делферы поможите мне...
Изучаю делфи, ну и попутно делаю для дела службу.
Суть такая, мне надо останвить службу после того как она запустит приложение.
Гугл дает примеры создания и запуска, но про останову ничего не нарыл, вот код:
если надо какой файл из проекта то напишите, а то я незнаю что надо...

Добавлено (23 Май 2010, 19:43)
---------------------------------------------
походу надо было новую тему сделать, Админы если не трудно перенесите

Сообщение отредактировал Сергей - Воскресенье, 23 Мая 2010, 19:34
 
PeterДата: Воскресенье, 23 Мая 2010, 20:20 | Сообщение # 22
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline
Никогда не имел дел со службами, а потому... :(
Вот здесь есть материал по "службам".
По-моему этого вполне достаточно.
Или попробуем дожидаться Алекса, т.к. он в этих делах рубит.


Никто не может вернуться в прошлое и изменить свой старт.
Но каждый может стартовать сейчас и изменить свой финиш!
 
СергейДата: Воскресенье, 23 Мая 2010, 20:31 | Сообщение # 23
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
Quote (Peter)
Вот здесь есть материал по "службам".
да, это первый материал который я читал, но там не сказано как выключить
 
PeterДата: Воскресенье, 23 Мая 2010, 20:51 | Сообщение # 24
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline
Ну, не знаю...
Я не вдавался в подробности, но по-моему там есть всё необходимое:
Quote
OnExecute, OnStart, OnStop, OnPause, OnContinue - остальные события можно разделить на две группы: OnExecute и все остальные :) Связано это с типом работы. Вы можете реализовать работу службы двумя способами.

Вариант первый: стартует служба, вы начинаете что-то делать, время от времени уведомляя систему о своём состоянии, потом служба останавливается.

Вариант второй: стартует служба, создаёт рабочие потоки. По уведомлению от системы потоки останавливаются и служба выключается.

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

Итак, событие OnExecute реализует первый вариант: вы просто вписываете весь код службы в OnExecute, не забывая время от времени вызывать ReportStatus для уведомления системы о своём состоянии (если вы будете выполнять работу длительное время) и ServiceThread.ProcessRequests - для получения от системы сообщений. ServiceThread.ProcessRequests можно рассматривать как аналог Application.ProcessMessages для обычных приложений. При приёме сообщений будут генерироваться соответствующие события: OnStop, OnPause или OnContinue. При возникновении событий вы можете каким-то образом уведомлять код в OnExecute (или использовать для этого изменение состояния службы). Как только вы выходите из OnExecute - служба остановилась. Заметим, что если вы сами вышли из OnExecute, то событие OnStop не генерируется. Т.е. это событие возникает, только если его кто-то прислал.

"Наша служба и опасна и трудна"...

Добавлено (23 Май 2010, 20:49)
---------------------------------------------
Пардон, не докопипастил...

Quote
Для второго варианта реализации вы не должны назначать обработчик OnExecute, но обязаны реализовать, как минимум, OnStart и OnStop. В первом обработчике вы запускаете рабочие потоки службы, а в OnStop - останавливаете. Дополнительно вы можете реализовать OnPause и OnContinue, если ваша служба должна уметь приостанавливаться. Служба будет остановлена, только когда она перейдёт в состояние csStopped. Обычно это бывает после успешного завершения OnStop.

Итак, обычно для реализации минимальной службы требуется написать обработчики OnStart/OnStop и/или OnExecute.

Добавлено (23 Май 2010, 20:51)
---------------------------------------------
Блин, мне ещё не хватает службы начинать изучать.
:)


Никто не может вернуться в прошлое и изменить свой старт.
Но каждый может стартовать сейчас и изменить свой финиш!


Сообщение отредактировал Peter - Воскресенье, 23 Мая 2010, 20:46
 
СергейДата: Воскресенье, 23 Мая 2010, 20:51 | Сообщение # 25
Необукер
Группа: Проверенные
Сообщений: 858
Репутация: 64
Награды: 22
Статус: Offline
Quote (Peter)
но по-моему там есть всё необходимое:
это не то, или я не смог разобратся :D
ладно придется через батник останвливать :(

Добавлено (23 Май 2010, 20:51)
---------------------------------------------

Quote (Peter)
Блин, мне ещё не хватает службы начинать изучать.

:D thumbs_up
 
PeterДата: Воскресенье, 23 Мая 2010, 21:10 | Сообщение # 26
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline
Quote (Сергей)
ладно придется через батник останвливать

Алекса надо подождать.
Думаю, он все растолкует!
:)

Добавлено (23 Май 2010, 21:10)
---------------------------------------------
Согласно дэлфийской справке:

Quote
When the OnExecute event handler finishes, the service thread terminates.

Т.е. после "срабатывания" события OnExecute, служба останавливается.
Если это так, то все что нужно сделать это прописАть:
Code
ShellExecute(0, 'open', Patchapp, nil, nil, SW_SHOWNORMAL);//SW_HIDE

в событии OnExecute TControlSP3D.

Хотя, возможно я чего-то и недопонимаю, т.к. ни бум-бум в этих "службах"....
scratch


Никто не может вернуться в прошлое и изменить свой старт.
Но каждый может стартовать сейчас и изменить свой финиш!
 
toizyДата: Воскресенье, 23 Мая 2010, 22:20 | Сообщение # 27
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Выполнение сервиса происходит в OnExecute. Программа же запускается в OnCreate. Все что нужно, это оставить OnExecute пустым. Обычно в OnExecute запускают бесконечный цикл, таким образом, сервис выполняется постоянно. Когда OnExecute отработает, сервис остаётся инсталлированным, но уже не выполняется.

Добавлено (23 Май 2010, 22:17)
---------------------------------------------
Вообще, не люблю делфийскую обёртку сервиса. Ограничивает сильно.

Добавлено (23 Май 2010, 22:20)
---------------------------------------------
Кстати, по ссылке, данной Peter, всё есть.


Жизнь оказалась не такой уж и забавной, как поначалу...
 
Alex3AДата: Воскресенье, 23 Мая 2010, 22:25 | Сообщение # 28
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
1 Служба на то и служба что бы все время быть загруженной, иначе она наф ненужна.
Останавливать службу есть необходимость или при деинсталяции софта ее пользующего,
либо для ее замены на иную версию, иначе просто не удастся переписать файл.
Что она вообще у тебя делает, и нужно вообще использовать службу для этих целей?
OnExecute основная процедура, служба постоянно что то делает, скажем ожидает, когото
чегото, когда кто то что то появилось служба делает то что ей предписано.
При завершении процедуры OnExecute сервис останавливается.
Судя по приведенному фрагменту она вообще не запускается.
Если твой файл присутствует в момент запуска службы она его запускает и останавливается, если файла нет -просто останавливается итого ты написал просто извращенно усложненный бат файл :D
 
toizyДата: Воскресенье, 23 Мая 2010, 22:25 | Сообщение # 29
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
Сергей, а какова задача сервиса?

Жизнь оказалась не такой уж и забавной, как поначалу...
 
Alex3AДата: Воскресенье, 23 Мая 2010, 22:51 | Сообщение # 30
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Ладно, не буду наводить тень на плетень, все что делает сервис делается в пределах
процедуры OnExecute то би весь твой код должен быть там. Функция OnExecute выполняется
один раз, следовательно что бы она сразу же и не закончилась нужно организовать цикл
While not Terminated do
begin
ServiceThread.ProcessRequests(True);
..................
end;
когда попадет сюда сервис остановится

Добавлено (23 Май 2010, 22:47)
---------------------------------------------

Quote (toizy)
Вообще, не люблю делфийскую обёртку сервиса. Ограничивает сильно.

Аналогично!
Quote (toizy)
Выполнение сервиса.....

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

Добавлено (23 Май 2010, 22:51)
---------------------------------------------

Quote (toizy)
Обычно в OnExecute запускают бесконечный цикл

Ну не совсем бесконечный, если так то только терминате помогет, а он работает не лучшим образом, и используется только в критических ситуациях.
 
Форум MMB » Другие разделы » Мир программирования » Delphi (ну давайте!)
Страница 1 из 3123»
Поиск: