Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вывод сообщения на экран


Страницы:   1 2 3

я ©   (2011-11-08 17:29:00) 

Необходимо  для понимания того, чем занята программа в данный момент выводить, по ходу ее работы, сообщения на экран. Т.е. MsgBox не подходит, т.к. на его сообщения нужно реагировать, а мне нужно чтобы они просто были и не прерывали работу программы, т.е. просто рамка с текстом, как всплывающая подсказка (видел в скриптовом языке функцию которая как раз так делала).

Куда копать? Что курить?


я   (2011-11-09 10:11:00) [21]

фокус должен быть у окна чужого приложения, без этого просто не будет работать моя программа. То что я пытаюсь сделать я уже видел, значит это возможно. К тому же это еще и удобно. Наверное всплывающие из трея подсказки тоже бы сгодились, но кто ж говорит то как это делается. А вывод на рабочий стол перекрывается всякими окнами. Так что вывод в окно приложения оптимальный вариант. Кроме того эти коменты в идеале останутся там навсегда, поэтому дебагер не лучший вариант.


MonoLife   (2011-11-09 09:17:00) [22]


> место подвигу в жизни всегда должно быть...

стар я для подвигов, а вот я- не стар)


sniknik   (2011-11-09 07:57:00) [23]

что за беспомощность в элементарном, при декларированном "моя программа совершает манипуляции с чужой программой"...
манипуляции с чужой программой гораздо сложнее чем простой вывод в окно/хинт "поверх всего".

может рано взялся за это дело?

> почему нельзя в свое окно, которое поверх всех окон?
ну а как тогда сложности преодолевать? место подвигу в жизни всегда должно быть...


MonoLife   (2011-11-09 06:37:00) [24]

> я
почему нельзя в свое окно, которое поверх всех окон?


я   (2011-11-09 05:46:00) [25]


procedure WriteDC(HWN: HWND;s: string);
var c: TCanvas;
begin
 c := TCanvas.Create;
 c.Brush.Color := clBlack;
 c.Font.color := clWhite;
 c.Font.name := 'Fixedsys';
 c.Handle := GetDC(GetDesktopWindow);
 c.TextOut(100, 100, s);
 c.free;
end;


TextOut(GetWindowDC(GetDesktopWindow),100,100,'Thom',4);

Вообщем нашел 2 способа выводить на рабочий стол.  Попробовал сделать, чтобы вывод был в окно стороннего приложения. В лучшем случае оно появляется на чуть чуть и тут же исчезает. Хотя в другом скриптовом языке была функция, которая выводила без проблемм в окно этого приложения. Вообщем потом еще поищу может найду как все таки в само приложение выводить. От местных экспертов по данному вопросу я так понимаю ничего кроме сарказма  не удастся выведать.


я   (2011-11-09 04:34:00) [26]


> да куда уж радостней...


:facePalm:


Германн   (2011-11-08 23:02:00) [27]


> пробовал делать объект Label и рисовать его на форме, но
> вариант не удался

Интересно почему/чем не удался?


DVM   (2011-11-08 22:04:00) [28]

Я с некоторых пор стал поклонником идеологии логгирования Log4xxx. Есть даже реализации для делфи Log4D и Log4Delphi. Правда проекты заброшенные. На основе них была сделана своя система логгирования. Легким движением руки (изменением конфигурационного файла) можно заставить программу логгировать куда угодно (файлы, консоль, сеть, евентлог, OutputDebugString или все сразу и много) и как угодно (уровни логгирования, форматирование, фильтры и т.д.)


Rouse_   (2011-11-08 21:56:00) [29]


> я   (08.11.11 21:17) [13]
>
> ах да и в лог бы не хотелось, идея в том, чтобы видеть в
> реальном времени.

Ну так я ж тебе и сказал DebugViewer и смотришь все в реальном времени...


_Юрий   (2011-11-08 21:46:00) [30]

можно окно консоли открыть и туда выводить


Loginov Dmitry   (2011-11-08 21:45:00) [31]


> чтобы видеть в реальном времени.


TListBox?


Dennis I. Komarov   (2011-11-08 21:34:00) [32]


> а поподробней? ссылке на что нибудь в этом роде был бы рад.

да куда уж радостней...


Inovet   (2011-11-08 21:25:00) [33]

> [13] я   (08.11.11 21:17)
> ах да и в лог бы не хотелось, идея в том, чтобы видеть в
> реальном времени.

В ФАРе откроешь вьювером лог, и он будет сам прокручиваться при добавлении строк.


я   (2011-11-08 21:17:00) [34]

ах да и в лог бы не хотелось, идея в том, чтобы видеть в реальном времени.


Rouse_   (2011-11-08 21:05:00) [35]

OutputDebugString + DebugViewer вполне достаточно, и не надо будет мусорить на экране...


я   (2011-11-08 21:04:00) [36]


> Да как душе больше ндра... Хоть в трей, хоть в лог, хоть
> в окно, хоть по UDP кричи...


а поподробней? ссылке на что нибудь в этом роде был бы рад.


я   (2011-11-08 21:03:00) [37]

моя программа совершает манипуляции с чужой программой. Мне нужно знать в каком месте кода находится в каждый момент моя программа, что серьезно бы упростило ее отладку. Что происходит внутри чужой мне все равно.


Dennis I. Komarov   (2011-11-08 20:43:00) [38]


> Jeer ©   (08.11.11 20:33) [8]

да его, просто на него уже забили и запустили косынку :)


Jeer   (2011-11-08 20:33:00) [39]

Если это не твоя программа, то существуют методы мониторинга приложения - обращения к интересующим ресурсам ( cpu, memory, диск, файл, реестр, сеть и т.п.).
Определись, чего желаешь мониторить и ищи методы.

Если это твоя программа - найми программиста или изложи понятнее свои вопросы.


Dennis I. Komarov   (2011-11-08 20:33:00) [40]


> вот и спрашиваю.

Да как душе больше ндра... Хоть в трей, хоть в лог, хоть в окно, хоть по UDP кричи...


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо