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

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


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

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU
(Тестовый режим)

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

Выпуск № 51
от 25.02.2005, 14:20

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


Вопрос № 17208: Привет Всем!!КАк можно узнать что играется в winampe(нужно чтобы название песни вставлялось в чат..или хотябы копировалось в в буфер обмена) ? Ядумаю, надо брать заголовок окна плеера...Как? Если есть, то скиньте на мыло пример пожалста!!!Спасибо!!!<...
Вопрос № 17221: Здравствуйте, Эксперты! Вот возникла такая задача: есть форма на которой расположен StringGrid, в котором есть какие-то данные, весь он не помещается - есть полосы прокрутки. Мне надо сохранить в виде изображения всё, что находится в StringGrid.Пробо...
Вопрос № 17230: Доброго всем времени суток! Возникла проблема: есть программа, которая создает некие записи типа record с кучей полей. Для вывода на печать использую стандартный EXCEL. Любая информация спокойно встает в нужную ячейку кроме графики (формат JPEG)....
Вопрос № 17242: Здраствуйте Эксперты. В моей программе есть процедура которая на входе получает два массива чисел, выполняет построковое сложение (x1+y1=z1, x2+y2=z2....) и выводит результат в мемо. Данную процедуру я использую одновременно в трех потоках. Так вот м...

Вопрос № 17208
Привет Всем!!КАк можно узнать что играется в winampe(нужно чтобы название песни вставлялось в чат..или хотябы копировалось в в буфер обмена) ? Ядумаю, надо брать заголовок окна плеера...Как? Если есть, то скиньте на мыло пример пожалста!!!Спасибо!!!
Отправлен: 19.02.2005, 15:11
Вопрос задал: *RC*Formatter (статус: Посетитель)
Всего ответов отправлено: 2

Отвечает: CJ
Здравствуйте, *RC*Formatter!
Используй функции GetDC и FindWindow.
Ответ отправил: CJ (статус: Студент)
Отправлен: 19.02.2005, 19:11

Отвечает: John Freeman
Здравствуйте, *RC*Formatter!
Можно ещё проще, с помощью gen_np например или gen_dde
Ответ отправил: John Freeman (статус: Специалист)
Отправлен: 19.02.2005, 19:16


Вопрос № 17221
Здравствуйте, Эксперты! Вот возникла такая задача: есть форма на которой расположен StringGrid, в котором есть какие-то данные, весь он не помещается - есть полосы прокрутки. Мне надо сохранить в виде изображения всё, что находится в StringGrid.Пробовал через канву, но сохраняется только видимая часть. Пожалуйста подкиньте идею.
В приложении мой вариант с канвой

Приложение:

Отправлен: 19.02.2005, 20:11
Вопрос задал: boss (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: Sh-st
Здравствуйте, boss!
Попробовал и через CopyRect-результат тот же.
Могу порекомендовать следующее: пройтись по всем ячейкам и вручную все нарисовать. (берем ячейку смотрим:если она фиксированная-один цветб,если нет-другой;рисуем на bitmap'e текст ячейки). Вообщем всё вручную.
Ответ отправил: Sh-st (статус: 1-ый класс)
Отправлен: 19.02.2005, 20:48

Отвечает: Bob Johnson
Здравствуйте, boss!
Попробуй перед сохранением сделать stringgrid невидимым, увеличить его размеры до таких, чтобы все помещалось без скроллбаров, отрисовать его, сохранить файл, вернуть прежние размеры и сделать его снова видимым.
Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 19.02.2005, 21:50

Отвечает: Гриценко Юрий Алексеевич
Здравствуйте, boss!
Напрямую ты этого никак не сделаешь, т.к. невидимая часть автоматически отсекается при прорисовке. Единственный явный выход выгребать данные из грида и самому рисовать на битмап!
Ответ отправил: Гриценко Юрий Алексеевич (статус: 2-ой класс)
Отправлен: 22.02.2005, 21:56


Вопрос № 17230
Доброго всем времени суток!
Возникла проблема: есть программа, которая создает некие записи типа record с кучей полей. Для вывода на печать использую стандартный EXCEL. Любая информация спокойно встает в нужную ячейку кроме графики (формат JPEG). Можно ли в принципе отправить из Дельфи в EXCEL графику и поставить ее (если можно) в нужное место листа. Если да, то как это сотворить или где подглядеть.
С уважением, Марков Андрей.
Отправлен: 20.02.2005, 01:13
Вопрос задал: Марков Андрей (статус: Посетитель)
Всего ответов отправлено: 2

Отвечает: Гриценко Юрий Алексеевич
Здравствуйте, Марков Андрей!
А зачем пользовать эксель для печати? Сам печататай что тебе надо и как тебе надо из кода программы!
Ответ отправил: Гриценко Юрий Алексеевич (статус: 2-ой класс)
Отправлен: 22.02.2005, 22:00

Отвечает: sir henry
Здравствуйте, Марков Андрей!
Не совсем уверен, но может быть Вам подойдет метод:
expression.AddPicture(FileName, LinkToFile, SaveWithDocument, Left, Top, Width, Height)
В справке по VBA есть пример:
Set myDocument = Worksheets(1)
myDocument.Shapes.AddPicture(
"c:microsoft officeclipartmusic.bmp", _
True, True, 100, 100, 70, 70);
Также у Worksheet есть метод Paste, т.е. вставка чего-либо из клипборда:
Worksheet.Paste(диапазон_куда_вставлять, обычно_False);
Если не указывать диапазон, то вставляется в текущую (активную) ячейку.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 23.02.2005, 07:28


Вопрос № 17242
Здраствуйте Эксперты. В моей программе есть процедура которая на входе получает два массива чисел, выполняет построковое сложение (x1+y1=z1, x2+y2=z2....) и выводит результат в мемо. Данную процедуру я использую одновременно в трех потоках. Так вот меня интересует возможно ли использовать одну процедуру во всех потоках, если да то не перемешаются ли результаты сложения, или для каждого потока нужно писать отдельную проц.
С уважением.
Отправлен: 20.02.2005, 13:29
Вопрос задал: Ярослав (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: Boriss
Здравствуйте, Ярослав!
Конечно могут мешать, но все будет зависеть от реализации. Общим правилом является: для каждого потока готовьте свою копию данных. Иначе, Вы не сможете использовать всю мощь их (они, или кто-то еще, должны следить за возможным проявлением деятельности каждого ... А сколько их таких может быть?)
То есть, решение - класс. Процедуры одинаковые, но разные ...
По-моему, очень понятно выразился .... ;))
Ответ отправил: Boriss (статус: Профессионал)
Отправлен: 21.02.2005, 09:29
Оценка за ответ: 5

Отвечает: Bob Johnson
Здравствуйте, Ярослав!
Конечно возможно. Надо только обращать внимание на:
1. Использование глобальных переменных (они будут общими во всех потоках и может потребоваться синхронизировать доступ к ним с пом-ю каких-либо дополнительных средств.
2. Вызов каких-либо внешних процедур, например, TMemo::Add (или что там). Вызовы надо делать из того потока, который отвечает за UI. Это возможно реализовать с помощью отправки сообщений или методом Synchronize.
Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 22.02.2005, 01:40
Оценка за ответ: 5

Отвечает: Гриценко Юрий Алексеевич
Здравствуйте, Ярослав!
Нет, ничего не перемешается, только если ты не используешь глобальных переменных, а передаёш массивы в функцию(не говори мне, что ты не умеешь передавать параметры при создании нового потока).
Ответ отправил: Гриценко Юрий Алексеевич (статус: 2-ой класс)
Отправлен: 22.02.2005, 21:53


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

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

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

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

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


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


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


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Отписаться

В избранное