Вопрос № 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
Отправлен: 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