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

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


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

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

Выпуск № 829
от 03.06.2007, 20:05

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


Вопрос № 88999: Доброго временни суток, уважаемые эксперты. Возникает ошибка ассинхронной работы сокета в моем приложении "Asynchronous socket error 10049". Как с ней бороться? Вроде делаю все правильно. Дело в том, что работают одновременно 4 сокета (4 в ...
Вопрос № 89001: Уважаемые эксперты, мне нужна Ваша помощь. Работаю с базой данных MS Access с помощью SQL запросов. И здесь возникла проблема. У меня есть поле, где указывается день рождения человека. Раньше с этим полем я работал через SQL, обращаясь к нему через п...
Вопрос № 89079: Здравствуйте, уважаемые эксперты! Как мне написать программу в Delphi, которая стартовала бы вместе с запуском любого exe-файла...
Вопрос № 89081: у меня есть программа шифровка дешифровка текста как сделать чтоб можна было отсортировать буквы какие саме больше встречаются и показать ето на графику и сравнить график шифрованого и дешифрованого текста!...
Вопрос № 89152: Как отправить сообщение "WM_LBUTTONDOWN" окну находящемуся под курсором мышки и в именно ту точку...

Вопрос № 88.999
Доброго временни суток, уважаемые эксперты. Возникает ошибка ассинхронной работы сокета в моем приложении "Asynchronous socket error 10049". Как с ней бороться? Вроде делаю все правильно. Дело в том, что работают одновременно 4 сокета (4 в клиентском приложении и 4 на серверном). Порты разумеется разные и друг другу не мешают. Первые 3 сокета работают отлично, а при подключении 4-го возникает эта ошибка, хотя обработчики событий такие же как у предыдкщих 3-х сокетов. Как быть?
Отправлен: 28.05.2007, 19:46
Вопрос задал: Ренат Байрамгулов (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 13)

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

Ошибка 10049 - Cannot find Host -- может быть вы просто забыли прописать хост/адрес в сокете? Или указали его с ошибкой?
Ответ отправил: PGM (статус: 7-ой класс)
Ответ отправлен: 29.05.2007, 23:00
Оценка за ответ: 4
Комментарий оценки:
дело в том, что соединение успешно проходит, а также передача сообщения. ошибка возникает позже.


Вопрос № 89.001
Уважаемые эксперты, мне нужна Ваша помощь. Работаю с базой данных MS Access с помощью SQL запросов. И здесь возникла проблема. У меня есть поле, где указывается день рождения человека. Раньше с этим полем я работал через SQL, обращаясь к нему через параметры. И все было в порядке. Но теперь мне нужно сформировать новый запрос, в котором параметры не выйдет использовать, однако почему-то возникает ошибка (то есть я не знаю как представить дату в том запросе). Если представляю как строка - ошибка, если просто запишу дату после = - также ошибка. Подскажите как правильно.

И еще один вопрос. В зависимости от условия генерируется абсолютно разный SQL запрос, но в нем может попасться поле, например улицы, которое является числовым (это номера записей из другой таблицы, где перечисленные названия улиц). И вот мне нужно заменить такое поле LookUp полем. Как его создать в запросе, который не меняется, я знаю. Но как такое поле создать, когда SQL запрос изменяется? Я могу узнать, что какое-то поле в запросе является таким, как например поле Улицы, но как его заменить на LookUp поле. Буду очень благодарным за содержательный и быстрый ответ.
Отправлен: 28.05.2007, 20:26
Вопрос задал: Bohdan (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: Кэр Лаэда
Здравствуйте, Bohdan!

По поводу первого вопроса попробуйте так, для удобства привожу полный запрос со всеми скобками и кавычками которые были в Delphi, но в данном случае вам должно быть интересно место

dzd.dt_vvod<'''+FormatDateTime('mm.dd.yy',DTPstart.DateTime)+''' ) '

т.е. смысл в том что при представлении даты в запросе нужно ее брать в кавычки в итоге чтобы в строку добавить кавычку нужно написать 2 кавычки а третья для закрытия строки в общем смотрите сами (все кавычки в запросе одинарные двойных нету !!!!!!)

Приложение:

Ответ отправил: Кэр Лаэда (статус: 6-ой класс)
Ответ отправлен: 29.05.2007, 10:09

Отвечает: ВладимирР.
Здравствуйте, Bohdan!
По первому вопросу:
Если в таблице Table1 есть поле MyDate типа Date/Time, то запрос

SELECT Table1.*
FROM Table1
WHERE DateValue(Table1.MyDate) = DateValue("21.11.2006");

вернет выборку для заданной даты, причем какие разделители использовать - точки или слеши - всё равно.
Тогда в Delphi вместо фиксированной даты нужно подставить результат работы функции FormatDateTime, например так (считаю, что в переменной MyDate (тип TDateTime) записана дата):

ADOQuery1.SQL.Text :=
Format('SELECT Table1.* FROM Table1 WHERE DateValue(Table1.MyDate) = DateValue(''%s'');', [FormatDateTime('dd/mm/yyyy', MyDate)]);
Ответ отправил: ВладимирР. (статус: 1-ый класс)
Ответ отправлен: 29.05.2007, 11:01


Вопрос № 89.079
Здравствуйте, уважаемые эксперты! Как мне написать программу в Delphi, которая стартовала бы вместе с запуском любого exe-файла
Отправлен: 29.05.2007, 12:00
Вопрос задал: Shell (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Кэр Лаэда
Здравствуйте, Shell!

Дело в том что сама по себе программа не может стартовать, для того чтобы она стартовала нужно чтобы кто то ее запустил. Т.е. вам нужно две программы, одна может быть сервисом или резидентом которая стартует вместе с операционной системой и отслеживает запуск процессов, и как только запуск процесса происходит то ваша резидентная программа запускает вашу основную программу.
Ответ отправил: Кэр Лаэда (статус: 6-ой класс)
Ответ отправлен: 29.05.2007, 12:11

Отвечает: Овчинников Николай Владиславович
Здравствуйте, Shell!
Можно написать по принципу вируса. Заражать EXE файлы. А проявления вируса запускаем нужную ПРОГУ!

Приложение:

Ответ отправил: Овчинников Николай Владиславович (статус: 1-ый класс)
Ответ отправлен: 29.05.2007, 12:25
Оценка за ответ: 5

Отвечает: DimonSoft
Здравствуйте, Shell!

Вот такой знаменитый вариант из справочника...

8. Registry Shell Spawning

[HKEY_CLASSES_ROOTexefileshellopencommand] @="%1" %*
[HKEY_CLASSES_ROOTcomfileshellopencommand] @="%1" %*
[HKEY_CLASSES_ROOTatfileshellopencommand] @="%1" %*
[HKEY_CLASSES_ROOThtafileShellOpenCommand] @="%1" %* [HKEY_CLASSES_ROOTpiffileshellopencommand] @="%1" %*

[HKEY_LOCAL_MACHINESoftwareCLASSESatfileshellopencommand] @="%1" %*
[HKEY_LOCAL_MACHINESoftwareCLASSEScomfileshellopencommand] @="%1" %*
[HKEY_LOCAL_MACHINESoftwareCLASSESexefileshellopencommand] @="%1" %*
[HKEY_LOCAL_MACHINESoftwareCLASSEShtafileShellOpenCommand] @= "%1" %*
[HKEY_LOCAL_MACHINESoftwareCLASSESpiffileshellopencommand] @="%1" %*

Эти ключи должны иметь значения типа <"%1" %*>, если изменить на <server.exe "%1 %*">, то server.exe будет выполняться КАЖДЫЙ РАЗ, когда выполняется exe/pif/com/bat/hta файл.

Известен также как Unkown Starting Method и используется Subseven.
Ответ отправил: DimonSoft (статус: 2-ой класс)
Ответ отправлен: 29.05.2007, 17:39


Вопрос № 89.081
у меня есть программа шифровка дешифровка текста как сделать чтоб можна было отсортировать буквы какие саме больше встречаются и показать ето на графику и сравнить график шифрованого и дешифрованого текста!
Отправлен: 29.05.2007, 12:16
Вопрос задал: Коваленко Дмитро Олександрович (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Примак Руслан Николаевич
Здравствуйте, Корсун Олександр Григорович!

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

Если набор символов больше данный пример нетрудно доработать - важна идея ;)

Приложение:

Ответ отправил: Примак Руслан Николаевич (статус: 2-ой класс)
Ответ отправлен: 29.05.2007, 13:36
Оценка за ответ: 3


Вопрос № 89.152
Как отправить сообщение "WM_LBUTTONDOWN" окну находящемуся под курсором мышки и в именно ту точку
Отправлен: 29.05.2007, 19:40
Вопрос задал: SergiK (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Melamed
Здравствуйте, SergiK!
Используй API функцию mouse_event. Вызов для эмитации события WM_LBUTTONDOWN смотри в приложении

Приложение:

Ответ отправил: Melamed (статус: Студент)
Ответ отправлен: 29.05.2007, 21:55


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное