Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 776
от 10.04.2007, 14:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 460, Экспертов: 94
В номере:Вопросов: 8, Ответов: 18


Вопрос № 81047: Уважаемые эксперты, у меня такой вопрос. Каким образом зная дескриптор окна послать ему команду. К примеру каким образом можно заставить Эксплорер обновить страницу (отослав ему команду обновления страницы тоесть F5). Буду рад любой помощи. Спасибо ...
Вопрос № 81065: Здравствуйте! У меня к вам небольшой вопросю Помогите мне, пожалуйста. В Delpi 5 есть компоненты TServerSocket и TClientSocket, но в Delphi 2005 или 7 их нету, на замене TTcpClient и TTcpServer, кажись, хотя нету только визуально, такие типы остались...
Вопрос № 81103: Уважаемые эксперты, подскажите как получить картинку клиента на компе сервера. Примерный код (см. приложение)не работает. Спасибо....
Вопрос № 81108: Здравствуйте. Подскажите пожалуйста как при закрытии модального окна перевести фокус на поле Edit главной формы. Желательно пример....
Вопрос № 81114: Здраствуйте! У меня вот такие вопросы: 1) Нужно чтобы программа не отображалась Диспетчере задач Windows XP. 2)В программе используется следующее: alphablend:=true; for i:=1 to 252 do alphablendvalue:=i; как сделать чтобы это ...
Вопрос № 81147: Помогите плз соединить turbo delphi с firebird, никак не получается....
Вопрос № 81149: Подскажите, пожалуйста, каким образом можно организовать выполнение только одного экземпляра приложения единовременно. При чем приложение после запуска выполняет ShowWindow(handle, SW_HIDE) и ShowWindow(application.handle, SW_HIDE). Пробовал чего-то ...
Вопрос № 81151: Добрый день уважаемые эксперты. Появилась у меня проблема. Сидел работал никого не трогал, Delphi открыта. Неожиданно перегружается компутер. После загрузки запускаю Delphi и вижу такую штуку когда запускаю программу на выпо...

Вопрос № 81.047
Уважаемые эксперты, у меня такой вопрос. Каким образом зная дескриптор окна послать ему команду. К примеру каким образом можно заставить Эксплорер обновить страницу (отослав ему команду обновления страницы тоесть F5). Буду рад любой помощи. Спасибо
Отправлен: 04.04.2007, 15:19
Вопрос задал: Andrey Dergilov (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: PGM
Здравствуйте, Andrey Dergilov!

Есть общесистемный команды для окна (восстановить, минимизировать, закрыть) - их можно посылать таким образом (FH - изветсный нам дескриптор):

SendMessage(FH,WM_SYSCOMMAND, SC_CLOSE, FH);

Но ваш случай под этот вариант не подходит (разве что только отрассировать Spy-программой и посмотреть какое событие шлется окну), я бы использовал в таком варианте нажатие клавиш, например так

SetFocus(FH);
keybd_event(VK_F5, 0, KEYEVENTF_KEYDOWN, 0);
keybd_event(VK_F5, 0, KEYEVENTF_KEYUP, 0);

Ответ отправил: PGM (статус: 3-ий класс)
Ответ отправлен: 05.04.2007, 15:06
Оценка за ответ: 4
Комментарий оценки:
Спасибо буду искать варианты


Вопрос № 81.065
Здравствуйте! У меня к вам небольшой вопросю Помогите мне, пожалуйста. В Delpi 5 есть компоненты TServerSocket и TClientSocket, но в Delphi 2005 или 7 их нету, на замене TTcpClient и TTcpServer, кажись, хотя нету только визуально, такие типы остались в библиотеке. И вот подскажите, пожалуйста, как в 7 или 2005 Delphi их использовать(TServerSocket и TClientSocket).
Заранее благодарен.
Отправлен: 04.04.2007, 17:03
Вопрос задал: Necromancer (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Gh0stik
Здравствуйте, Necromancer!

Этот вопрос неоднократно обсуждался, но все-таки...

Компоненты в Delphi7 остались - просто они не установлены!!!
Чтобы их установить необходимо:
Меню ComponentInstallPackagesв окне нажать кнопку Add... и в папке %Delphi%Bin находим файл dclsockets70.bpl, после нажимаем "Открыть" (где %Delphi% - папка в которой установлен Delphi).

И у Вас - на вкладке Internet появяться компоненты TServerSocket и TClientSocket.

Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 04.04.2007, 17:18
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо. Очень признателен за раскарытый ответ.

Отвечает: Ерёмин Андрей
Здравствуйте, Necromancer!
---
Начиная в D7 эти компоненты не устанавливаются автоматически. Файл dclsockets70.bpl надо устанавливать руками (находится в DelphiBin) Component->Install Packeges-Add указать файл dclsockets70.bpl. После установки компоненты появятся на вкладке Internet.
---
Источник
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на Delphi. Помощь, советы, обмен опытом.
ICQ: 286867644
----
Ответ отправлен: 04.04.2007, 17:18
Оценка за ответ: 5
Комментарий оценки:
Спасибо. Буду знать, а то б мучался.

Отвечает: Pavel Maltsev
Здравствуйте, Necromancer!

Components->Install Packages->Add...

Укажите dclsockets100.bpl из директории Bin где установлена Delphi
Ответ отправил: Pavel Maltsev (статус: 3-ий класс)
Ответ отправлен: 04.04.2007, 17:20
Оценка за ответ: 5
Комментарий оценки:
Спасибо. Буду ставить.

Отвечает: василий1
Здравствуйте, Necromancer!
в папке bin есть файл dclsockets70.bpl установите его и (TServerSocket и TClientSocket) появятся
Ответ отправил: василий1 (статус: 2-ой класс)
Ответ отправлен: 05.04.2007, 11:41
Оценка за ответ: 5
Комментарий оценки:
Спасибо большее за ответ.


Вопрос № 81.103
Уважаемые эксперты, подскажите как получить картинку клиента на компе сервера.
Примерный код (см. приложение)не работает.
Спасибо.

Приложение:

Отправлен: 04.04.2007, 22:44
Вопрос задал: Ренат Байрамгулов (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: PGM
Здравствуйте, Ренат Байрамгулов!

Возникли все те же вопросы, что и в предыдущем ответе.
Кроме того я вообще не нашел в коде Сервера - где чтение из сокета? Какой смысл что-то грузить из SMS, если он только что создан и чист как слеза?
Ответ отправил: PGM (статус: 3-ий класс)
Ответ отправлен: 05.04.2007, 15:18
Оценка за ответ: 3
Комментарий оценки:
Вопрос был поставлен иначе:"Подскажите как получить картинку клиента на компе сервера."


Вопрос № 81.108
Здравствуйте.
Подскажите пожалуйста как при закрытии модального окна перевести фокус на поле Edit главной формы. Желательно пример.
Отправлен: 04.04.2007, 23:28
Вопрос задал: Шмаров Сергей (статус: 3-ий класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Gh0stik
Здравствуйте, Шмаров Сергей!

Просто обработаете событие закрытия модальной формы и переведите фокус на нужный компонент.

Например так:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
form1.edit1.setfocus;
end;


Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 04.04.2007, 23:35

Отвечает: Melamed
Здравствуйте, Шмаров Сергей!

Добаволю к предыдущему ответу свой вариант кода

Приложение:

Ответ отправил: Melamed (статус: 10-ый класс)
Ответ отправлен: 05.04.2007, 00:38

Отвечает: Химяк Виктор Васильевич
Здравствуйте, Шмаров Сергей!
ActiveControl:=Edit1;
Ответ отправил: Химяк Виктор Васильевич (статус: 4-ый класс)
Ответ отправлен: 06.04.2007, 00:03


Вопрос № 81.114
Здраствуйте!
У меня вот такие вопросы:
1) Нужно чтобы программа не отображалась Диспетчере задач Windows XP.
2)В программе используется следующее:
alphablend:=true;
for i:=1 to 252 do alphablendvalue:=i;
как сделать чтобы это работало не только по Windows XP, но и под 2000, Me и остальные - проверял не работает.
Если вдруг есть компонент у меня (Delphi 2006!).
Отправлен: 05.04.2007, 00:28
Вопрос задал: Овчинников Николай Владиславович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Уваров Андрей Александрович
Здравствуйте, Овчинников Николай Владиславович!
1) 2 варианта: 1) Писать сервис Windows. 2) Перехватывать доступ к API функциям списка процессов. Но будет ругаться антивирус сразу. Я так понял вы пишите что-то не хорошее. Если так уж нужно то могу выслать исходник примера. Ну или сами найдите.
2) В Win ME,98 небудет работать никак! Дело в том что поддержка прозрачности появилась только в 2000 Windows. Под 2000 вроде все работает нормально, но могу ошибиться. Компонент не нужен, это функция shell32.dll...
---------
Обращаться в ICQ: 66550088 (Ally) или E-Mail: AvePassion@GMail.Com
Ответ отправил: Уваров Андрей Александрович (статус: Студент)
Ответ отправлен: 05.04.2007, 12:08
Оценка за ответ: 5
Комментарий оценки:
Спасибо за объяснения

Отвечает: Troyan
Здравствуйте, Овчинников Николай Владиславович!
В приложении код, который нужно поставить на событие TTimer. Тогда открыть диспетчер задач не получиться

Приложение:

---------
Цени законы своего сердца, иди на обгон! Будь человеком, не запачкай свою совесть!

Ответ отправил: Troyan (статус: 9-ый класс)
Ответ отправлен: 05.04.2007, 13:20
Оценка за ответ: 5
Комментарий оценки:
Да это то что нужно!!!


Вопрос № 81.147
Помогите плз соединить turbo delphi с firebird, никак не получается.
Отправлен: 05.04.2007, 11:43
Вопрос задал: Negruzzi Cristian (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Архангельский Андрей Германович
Здравствуйте, Negruzzi Cristian!

И не получится!
Компоненты DBExpress хоть и позволяют подключится к FB, но они не имеют двунаправленных курсоров поэтому к ним нельзя подключить, например, DBGrid.
А в таком случае они бесполезны.
Я имел на эту тему переписку в Алексеем Ковязиным (GodeGear) - он сказал, что это решение фирмы и для использования компонентнов IBX нужно покупать лицензию (хотя бы минимальную)
---------
Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО
Ответ отправил: Архангельский Андрей Германович (статус: Специалист)
Ответ отправлен: 05.04.2007, 11:52

Отвечает: Melamed
Здравствуйте, Negruzzi Cristian!
Так как Firebrid является клоном сервера Borland InterBase, то с ним можно работать с помощью IBxxx. Данные компоненты находяться на вкладке InterBase.
Ответ отправил: Melamed (статус: 10-ый класс)
Ответ отправлен: 05.04.2007, 12:07

Отвечает: Sosedov
Здравствуйте, Negruzzi Cristian!

1. Разместите на форме компонент IBDatabase, заполните свойства DatabaseName и Params.
2. Разместите компонент IBTransaction, заполните свойство DefaultDatabase.
3. Разместите компонент IBQuery, заполните свойства Database, Transaction, SQL.
4. Разместите компонент DataSource, заполните свойство DataSet именем компонента из п.3.
5. Разместите DBGrid, заполните свойство DataSource именем компонента из п.4.

После присвоения свойства Active компонентов п.п. 2, 3 значению True в DBGrid появятся записи, соответствующие строке SQL.

Удачи!
Ответ отправил: Sosedov (статус: 1-ый класс)
Ответ отправлен: 05.04.2007, 13:22


Вопрос № 81.149
Подскажите, пожалуйста, каким образом можно организовать выполнение только одного экземпляра приложения единовременно. При чем приложение после запуска выполняет ShowWindow(handle, SW_HIDE) и ShowWindow(application.handle, SW_HIDE). Пробовал чего-то добиться с помощью поиска потока этого приложения, но во-первых при запуске 2ого экземпляра получается 2ой покок с таким же именем (а ищу по имени), а во-вторых не знаю чего делать дальше с полученным указателем на поток приложения.
Отправлен: 05.04.2007, 11:59
Вопрос задал: Null (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Архангельский Андрей Германович
Здравствуйте, Null!

В прикрепленном файле пример из книги Ксавье Патчеко "Дельфи 5. Руководство разработчика", глава 13 (т.1 стр.578)

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.
---------
Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО

Ответ отправил: Архангельский Андрей Германович (статус: Специалист)
Ответ отправлен: 05.04.2007, 12:09
Оценка за ответ: 5
Комментарий оценки:
Спасибо, очень оперативно и доступно.

Отвечает: Крылов Александр Владимирович
Здравствуйте, Null!
Следуший код следует поместить в файл проекта, например Project1.dpr

добавить в секцию uses модуль Windows

var
HM: THandle;
function Check: boolean;
begin
HM := OpenMutex(MUTEX_ALL_ACCESS, false, 'MyOwnMutex');
Result := (HM <> 0);
if HM = 0 then
HM := CreateMutex(nil, false, 'MyOwnMutex');
end;
begin
if Check then Exit;
Application.Initialize;
Application.CreateForm(TLogIn, LogIn);
...
end.
Ответ отправил: Крылов Александр Владимирович (статус: 2-ой класс)
Ответ отправлен: 05.04.2007, 12:25
Оценка за ответ: 5


Вопрос № 81.151
Добрый день уважаемые эксперты.
Появилась у меня проблема.

Сидел работал никого не трогал, Delphi открыта.
Неожиданно перегружается компутер.
После загрузки запускаю Delphi и вижу такую штуку когда
запускаю программу на выполнение (F9) вместо программы появляется окно debagger CPU.
Программа компилится создается exe файл но не запускается из под Delphi

Переустановка Delphi6 не помогает.

Может, кто подскажет, в чем дело и как быть.

Заранее благодарен Алексеев А.В.
Отправлен: 05.04.2007, 12:17
Вопрос задал: Алексеев Александр Владимирович (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: xackera
Здравствуйте, Алексеев Александр Владимирович!
Возможно переустановка Delphi решит Вашу проблему

Добавил эксперт sir henry:
Вы бы хоть вопрос до конца дочитали! Из-за невнимательности ответ полностью лишен смысла.

Ответ отправил: xackera (статус: 2-ой класс)
Ответ отправлен: 05.04.2007, 12:27
Оценка за ответ: 1
Комментарий оценки:
Не, уже делал.

Отвечает: PGM
Здравствуйте, Алексеев Александр Владимирович!

Один из вариантов, который может помочь - сделать не компиляцию, а полный Build - дело в том, что при аварийном завершении работы - часто разрушаются файлы на диске (не успевает записать, или пишет не то), а при компиляции используются DCU вашего проекта, которые могут быть повреждены (а иногда и повреждаются и DFM & PAS). У меня такое случалось и помогало (если конечно есть архивная копия).
Ответ отправил: PGM (статус: 3-ий класс)
Ответ отправлен: 05.04.2007, 15:24


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.47 от 06.04.2007
Яндекс Rambler's Top100

В избранное