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

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


Информационный Канал Subscribe.Ru

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

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

Выпуск № 146
от 08.06.2005, 16:10

Администратор:Калашников О.А.
В номере:Вопросов: 8, Ответов: 22


Вопрос № 21678: Здравствуйте! Как сделать следующее: выводить полупрозрачную надпись периодически через 1/100 секунды поверх всех окон? GetDC(0)+TextOut() не подходит, т.к. надпись затирается если открыть какое нибудь окно. Нужно, чтобы надпись мерцала и была полупр...
Вопрос № 21679: Пытаюсь сделать простой метод шифрования, как мне подсказали. Программа компилируется, но запись с Edit(ов) и чтение не происходит Подскажите в чем ошибка...
Вопрос № 21690: Сделал локальный чат. Сейчас работаю над его интерфейсом. Хочу сделать на стороне клиента что-то вроде поля для отображения всех сообщений, но мне необходимо поле, которое могло бы отображать текст и СМАЙЛИКИ. Я знаю, что сущ-ет множество различ...
Вопрос № 21691: Мир вам, уважаемые эксперты. Может кто сталкивался с такой задачей: нужно надергать из установки Delphi файлов, чтоб проект можно было откомпилить на любом компе прямо с флешки (не устанавливая на него Delphi). Как я понимаю собственно компил...
Вопрос № 21694: гДПЮБЯРБСРЕ! сЯРЮМЮБКХБЮЧ Delphi 8. сЯРЮМНБХК РПЕАСЕЛШИ ХМЯРЮККЪРНПНЛ Microsoft.NET Framework SDK. ю РЕОЕПЭ ХМЯРЮККЪРНП РПЕАСЕР, ВРНАШ АШК ЕЫё СЯРЮМНБКЕМ Microsoft Visual J#.NET v.1.1. ю ЩРН ВРН ГЮ ГБЕПЭ Х ЦДЕ ЕЦН ЛНФМН БГЪРЭ ? ...
Вопрос № 21696: Доброе время суток, уважаемые! Очень надеюсь на вашу помощь! Нужен реальный пример реализации реляционной БД, таблицы в dbf формате. Очень нужно!!! Пробовал искать в книгах и инете, но везде почему-то примеры с Paradox :-( к тому же мелкими кусками, ...
Вопрос № 21708: Здравствуйте уважаемые. Вопрос задаю и в разделе для С++. Так что не удивляйтесь, если кто обслуживает оба раздела. Вопрос к вам такой - есть некая прога. Я получаю дескриптор на главное меню и могу в него вставить свой пункт. Но КАК сделать ...
Вопрос № 21713: Дополнение к вопросу 21708 (по поводу обработки меню). Я не корректно задал вопрос. Мне нужно обрабатывать своей прогой пункт в меню ЧУЖОЙ проги....

Вопрос № 21.678
Здравствуйте! Как сделать следующее: выводить полупрозрачную надпись периодически через 1/100 секунды поверх всех окон? GetDC(0)+TextOut() не подходит, т.к. надпись затирается если открыть какое нибудь окно. Нужно, чтобы надпись мерцала и была полупрозрачной и это должно работать во всех Windows.
Отправлен: 02.06.2005, 17:45
Вопрос задала: Lauer (статус: Посетитель)
Всего ответов отправлено: 1

Отвечает: sir henry
Здравствуйте, Lauer!
Вы слишком много хотите от надписи. :)
Во-первых это должна быть не надпись, а полупрозрачное окно с надписью, а во-вторых, Windows должна поддерживать прозрачность окна, в третьих, окно должно быть модальным по отношению к системе, чтобы оно было поверх ВСЕХ окон.
А отчего такое время - 1/100 секунды? Инерция человеческого глаза всего 1/10 (или около того) секунды, поэтому делать время меньше смысла нет. Т.е. с таким временем Вы мерцания просто не увидите. Для наглядности сделайте у своего монитора (если он ЭЛТ) частоту вертикальной развертки (обновление экрана) 60 Гц и 100 Гц (100 Гц - это как раз 1/100 секунды) и посмотрите на изображение. При 60 Гц мерцание уже заметно, но все равно изображение практически непрерывное, а вот при 100 Гц не видно вообще никакого мерцания (кстати при 75 Гц тоже уже не видно, разве что краем глаза).
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 03.06.2005, 06:58


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

Приложение:

Отправлен: 02.06.2005, 17:48
Вопрос задала: Алексей (статус: Посетитель)
Всего ответов отправлено: 4

Отвечает: X
Здравствуйте, Комов!
Извини, я тебе оказываеться функции неправильно написал, и что-то даже не проверил.
Вот правильные:

Приложение:

Ответ отправил: X (статус: 5-ый класс)
Отправлен: 02.06.2005, 18:29

Отвечает: streetcat
Здравствуйте, Комов!
возможно, ошибка в функции дешифрации, попробуй:

Приложение:

---------
WinERROR: Keyboard not detected. Press Enter to continue

Ответ отправил: streetcat (статус: 5-ый класс)
Отправлен: 02.06.2005, 21:08

Отвечает: sir henry
Здравствуйте, Комов!
По видимому Вы не поняли, что такое строка (string).
String - это массив символов, где первый символ начинается с 1, а не с нуля. Вот в этом и ошибка.
Что такое 'Width, Height' и т.п.? Программа должна об этом сама догадываться. Не лучше ли прямо указать, к какому компоненту они относятся?
Что значит "... запись...чтение не происходит"? Т.е. в Edit1.Text строка есть, а в файле ini, в строке Enter, текста уже нет? Или нет самой строки Enter? Или нет вообще файла ini?
По самому алгоритму ничего не скажу - на любителя. :)
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 03.06.2005, 07:10

Отвечает: Ерёмин Андрей
Здравствуйте, Комов!
Работоспособность кода не проверял, но вот что вижу сразу:
1. У Вас всё не работает из-за того, что функции shifr и deshifr возвращают нулевые строки. В переменной res у Вас появляется зашифрованный/расшифрованный текст. Ну а потом его куда? Нужно ведь ещё дописать: Result:=res; Тогда функции будут возвращать значения. При загрузке и чтении ошибок быть не должно.
2. Индексы символов в переменных типа string начинаются с 1, а не с 0.
Ответ отправил: Ерёмин Андрей (статус: 5-ый класс)
Отправлен: 03.06.2005, 08:41
Оценка за ответ: 4
Комментарий оценки:
Спасибо за показанную ошибку и объяснение


Вопрос № 21.690
Сделал локальный чат. Сейчас работаю над его интерфейсом.
Хочу сделать на стороне клиента что-то вроде поля для отображения всех сообщений, но мне необходимо поле, которое могло бы отображать текст и СМАЙЛИКИ. Я знаю, что сущ-ет множество различных дополнительных компонентов. Но как возможно это сделать с помощью стандартных средств Delphi и WinApi? В идеале должно получится что-то вроде поля RichEdit с возможность отображения картинок.
Отправлен: 02.06.2005, 22:28
Вопрос задала: andrey (статус: Посетитель)
Всего ответов отправлено: 6

Отвечает: Jadd
Здравствуйте, andrey!
Да не что-то вроде, а именно RichEdit. Там есть метод для вставки объектов отличных от текста. Это то, что нужно для втсавки картинки. А еще можно попробовать то же самое, но из набора RxLib.
---------
Hakuna matata
Ответ отправил: Jadd (статус: 6-ой класс)
Отправлен: 02.06.2005, 22:35

Отвечает: Ерёмин Андрей
Здравствуйте, andrey!
Как правило, в подобных программах используют обычный HTML-viewer. Можно взять TWebBrowser и динамически формировать html-страницу, которую и загружать в этот WebBrowser. Картинки вставлять, как обычно - через <img src="..."> и можно использовать различные стили шрифта (<font>), фона (background) и т.д. Думаю, это самый простой вариант. Насчёт вставки картинок в RichEdit - если я не ошибаюсь, у него есть функция InsertControl (как-то так она называется) - можно попробовать с помощью неё.
Ответ отправил: Ерёмин Андрей (статус: 5-ый класс)
Отправлен: 03.06.2005, 09:22

Отвечает: Rusland
Здравствуйте, andrey!
По-моему проще использовать TWebBrowser
Ответ отправил: Rusland (статус: 4-ый класс)
Отправлен: 03.06.2005, 09:31

Отвечает: John Freeman
Здравствуйте, andrey!
Продолжая тему TextOut...
То же самое для графики называется BitBlt, только пихать надо в WindowProc для данного окна чтобы перерисовывалось корректно.
А вообще совет с HTML легче
---------
Время надирать задницы и жевать жвачку. Чёрт, но у меня кончилась жвачка!!!
Ответ отправил: John Freeman (статус: Профессор)
Отправлен: 03.06.2005, 13:48

Отвечает: Delphin
Здравствуйте, andrey!
Круче RxRichEdit у вас ничего не получится кроме его самого. Он немного увеличивает (2-3 кб ) размер программы. А вставлять картинки можно во все. Советую почитать http://delphiworld.narod.ru. Качни там сразу все ищи поиском. Советую!
---------
Ищу сервис пак для школы ^)))
Ответ отправил: Delphin (статус: 4-ый класс)
Отправлен: 04.06.2005, 13:40

Отвечает: Мурник Роман
Здравствуйте, andrey!
Мне кажется, целесообразнее всего сделать это HTML страницей, в делфи есть такой компонент. Появится возможность вставлять не только обычные ккартинки, но и GIF. И богатые возможности по форматированию и оформлению.
Ответ отправил: Мурник Роман (статус: 1-ый класс)
Отправлен: 07.06.2005, 00:41


Вопрос № 21.691
Мир вам, уважаемые эксперты.
Может кто сталкивался с такой задачей: нужно надергать из установки Delphi файлов, чтоб проект можно было откомпилить на любом компе прямо с флешки (не устанавливая на него Delphi).
Как я понимаю собственно компилятором в дельфи является файл dcc32.exe, нужны ли ему какие-нибудь файлы для работы ? (библиотеки там, или модули); в общем, как можно откомпилить программу без IDE ?
P.S. Извините, не успел отправить ответы на предыдущий вопрос (21194). БОЛЬШОЕ спасибо всем ответившим!
Отправлен: 02.06.2005, 23:14
Вопрос задала: Лука (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: sir henry
Здравствуйте, Лука!
Без проблем. Кроме компилятора Вам нужен будет каталог LIB с модулями для компилятора (в этот же каталог можно и сам компилятор кинуть, чтобы пути не прописывать).
Компилировать можно так:
DCC32 ваш_файл.dpr
Если чего-то не хватит, он Вам сообщение выкинет. :)
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 03.06.2005, 07:20
Оценка за ответ: 5

Отвечает: Ерёмин Андрей
Здравствуйте, Лука!
На практике не пробовал, но для компиляции, по идее, потребуется сам компилятор (dcc32.exe), модули, которые нужно скомпилировать и все модули, на которые ссылается компилируемый модуль, т.е. Windows, SysUtils, Controls, Forms, Messages и т.д. Думаю, так должно сработать.
Ответ отправил: Ерёмин Андрей (статус: 5-ый класс)
Отправлен: 03.06.2005, 09:22
Оценка за ответ: 5

Отвечает: Delphin
Здравствуйте, Лука!
К сожелению Delphi компилятор не поместится не на 1 не на две не на 5 дискет.
Дело в том что ему нужны многие модули (System.pas, windows.pas и еще кучу ) для компиляции программы конечно если это не Dos программа. Кстати ты можешь порыца в инете и поискать компиляторы. Удачи!
---------
Ищу сервис пак для школы ^)))
Ответ отправил: Delphin (статус: 4-ый класс)
Отправлен: 04.06.2005, 13:37
Оценка за ответ: 4


Вопрос № 21.694
гДПЮБЯРБСРЕ!
сЯРЮМЮБКХБЮЧ Delphi 8. сЯРЮМНБХК РПЕАСЕЛШИ ХМЯРЮККЪРНПНЛ Microsoft.NET Framework SDK. ю РЕОЕПЭ ХМЯРЮККЪРНП РПЕАСЕР, ВРНАШ АШК ЕЫё СЯРЮМНБКЕМ Microsoft Visual J#.NET v.1.1. ю ЩРН ВРН ГЮ ГБЕПЭ Х ЦДЕ ЕЦН ЛНФМН БГЪРЭ ?
Отправлен: 03.06.2005, 03:42
Вопрос задала: Валеев С.А. (статус: Посетитель)
Всего ответов отправлено: 2

Отвечает: sir henry
Здравствуйте, Валеев С.А.!
Это все должно быть на диске с дистрибутивом. Посмотрите внимательно.
Я восьмерку не устанавливал, а ставил Delphi2005, там это все точно есть.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 03.06.2005, 07:26

Отвечает: John Freeman
Здравствуйте, Валеев С.А.!
Там же, на диске с Delphi8
---------
Время надирать задницы и жевать жвачку. Чёрт, но у меня кончилась жвачка!!!
Ответ отправил: John Freeman (статус: Профессор)
Отправлен: 03.06.2005, 13:49


Вопрос № 21.696
Доброе время суток, уважаемые! Очень надеюсь на вашу помощь! Нужен реальный пример реализации реляционной БД, таблицы в dbf формате. Очень нужно!!! Пробовал искать в книгах и инете, но везде почему-то примеры с Paradox :-( к тому же мелкими кусками, типа, вот так делается вот это, а так это... хотелось бы посмотреть на реальный проект целиком.
Отправлен: 03.06.2005, 04:46
Вопрос задала: Shaman_forever (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: sir henry
Здравствуйте, Shaman_forever!
В составе Дельфи поставляется куча примеро, в том числе и dbf базы. Посмотрите внимательно. Так же ничего Вам не мешает заменить парадоксовские таблицы dbf-овскими. Принцип работы тот же самый, один к одному. Абсолютно без разницы.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 03.06.2005, 07:34

Отвечает: Jadd
Здравствуйте, Shaman_forever!
Дык а что там делать-то? Меняем таблицы с парадокса на dbf. Делаем индексы для полей, по которым свяжем их. А адльше в программе связываем таблицы по этим ключевым полям. В свойствах TTable есть указатель на Мастер-таблицу. Правда такого рода связи реляционными можно назвать лишь частично, но тем не менее при выборе записи в главной таблице, в подчиненной таблице произойдет отбор значений по ключевому полю. Кстати, в примерах к дельфи есть такого рода приложения - нужно лишь посмотреть.
---------
Hakuna matata
Ответ отправил: Jadd (статус: 6-ой класс)
Отправлен: 03.06.2005, 09:36

Отвечает: Denisss
Здравствуйте, Shaman_forever!
Очень рекомендую: http://sourceforge.net/projects/tdbf/
из плюсов могу сказать, что Вы не будете зависеть от BDE, т.е. Вам не придется его устанавливать.
Из минусов: программка возрастет ~ на 300 Кб - но это не такой уж и минус - для серьезного приложения не жалко :)
Там же есть и примеры работы с dbf таблицами.
Ответ отправил: Denisss (статус: 3-ий класс)
Отправлен: 03.06.2005, 16:51


Вопрос № 21.708
Здравствуйте уважаемые.
Вопрос задаю и в разделе для С++. Так что не удивляйтесь, если кто обслуживает оба раздела.
Вопрос к вам такой - есть некая прога. Я получаю дескриптор на главное меню и могу в него вставить свой пункт. Но КАК сделать свой обработчик этого пункта?
Отправлен: 03.06.2005, 11:48
Вопрос задала: Voituk Alexander (статус: 7-ой класс)
Всего ответов отправлено: 1

Отвечает: sir henry
Здравствуйте, Voituk Alexander!
Ну, допустим, событию OnClick пункта присваиваете свою процедуру. И все.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 03.06.2005, 13:00
Оценка за ответ: 2
Комментарий оценки:
Я не корректно задал вопрос. Это НЕ МОЯ прога а чужая, а я хочу в своей проге обрабатывать чужое меню


Вопрос № 21.713
Дополнение к вопросу 21708 (по поводу обработки меню).
Я не корректно задал вопрос. Мне нужно обрабатывать своей прогой пункт в меню ЧУЖОЙ проги.
Отправлен: 03.06.2005, 13:57
Вопрос задала: Voituk Alexander (статус: 7-ой класс)
Всего ответов отправлено: 2

Отвечает: Асоков Александр Иванович
Здравствуйте, Voituk Alexander!
Ну это делается спомощью стандартных функций winApi
Туда в ходит несколько функций одработки меню но это не главное чтобы работать с меню проги из другой программы сперва получи hendel т.е идонтификатор Этого окна, спомошью которого ты получиш упровление к программе
Hendel можно получать различными способами в зависимости от признака окна
(имеет фокус,Свёрнуто, отыскать по заголовку окна)
для этого используй набор Api -функции
---------
Программируйте всё что возможно запрограммировать
Ответ отправил: Асоков Александр Иванович (статус: 1-ый класс)
Отправлен: 03.06.2005, 14:24
Оценка за ответ: 2
Комментарий оценки:
Да хендл то я получил и могу всячески настраивать внешний вид меню, но вот обрабатывать события :(

Отвечает: John Freeman
Здравствуйте, Voituk Alexander!
Как обычно - смотришь где свободное место в чужом адресном пространстве или подключаешь к чужому процессу свой DLL с кодом, а потом ставишь обработчик на твой DLL или на нужный адрес с помощью функций:
ModifyMenu,AppendMenuItem... Короче так можно лишь внешний вид поменять(скрыть там,текст изменить,иконку, etc...)
ИМЕННО НАЖАТИЕ ловится через WindowsProc, так что модифицировать надо WindowProc , что сложно, либо тоже его заменять своим в DLL , что сильно долго.
---------
Время надирать задницы и жевать жвачку. Чёрт, но у меня кончилась жвачка!!!
Ответ отправил: John Freeman (статус: Профессор)
Отправлен: 03.06.2005, 14:34
Оценка за ответ: 5


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

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

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

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

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


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


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Отписаться
Вспомнить пароль

В избранное