Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2012.02.26;
Скачать: [xml.tar.bz2];

Вниз

Вывод сообщения на экран   Найти похожие ветки 

 
я   (2011-11-08 17:29) [0]

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

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


 
я   (2011-11-08 17:32) [1]

пробовал делать объект Label и рисовать его на форме, но вариант не удался, поэтому хотелось бы сразу перейти к более универсальному варианту. В момент исполнения программы ее главная форма не является активным окном и ее вообще может быть не видно. А сообщения хотелось бы видеть поверх всех окон.


 
Dennis I. Komarov ©   (2011-11-08 17:57) [2]

Ну сделай свое окно (форму), и показывай его немодально... В него засунуть можно, все что угодно


 
Омлет ©   (2011-11-08 18:05) [3]

Сообщения в трее выводи.


 
sniknik ©   (2011-11-08 18:16) [4]

> как всплывающая подсказка
и? почему как? ее саму и выводи.


 
Jeer ©   (2011-11-08 20:01) [5]

Десктоп - щикарное место для баловства :)

А по делу - генерить на событие в программе окно вывода, туда и пихать вывод, либо статически вывесить окошко с аналогичным фукционалом.


 
я   (2011-11-08 20:21) [6]


> и? почему как? ее саму и выводи.


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


 
Dennis I. Komarov ©   (2011-11-08 20:33) [7]


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

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


 
Jeer ©   (2011-11-08 20:33) [8]

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

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


 
Dennis I. Komarov ©   (2011-11-08 20:43) [9]


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

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


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

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


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


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


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


 
Rouse_ ©   (2011-11-08 21:05) [12]

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


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

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


 
Inovet ©   (2011-11-08 21:25) [14]

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

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


 
Dennis I. Komarov ©   (2011-11-08 21:34) [15]


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

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


 
Loginov Dmitry ©   (2011-11-08 21:45) [16]


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


TListBox?


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

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


 
Rouse_ ©   (2011-11-08 21:56) [18]


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

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


 
DVM ©   (2011-11-08 22:04) [19]

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


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


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

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


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


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


:facePalm:


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


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


 
MonoLife ©   (2011-11-09 06:37) [23]

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


 
sniknik ©   (2011-11-09 07:57) [24]

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

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

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


 
MonoLife ©   (2011-11-09 09:17) [25]


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

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


 
я   (2011-11-09 10:11) [26]

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


 
я   (2011-11-09 10:17) [27]


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


Может просто я знаю что я делаю?


 
sniknik ©   (2011-11-09 10:47) [28]

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

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


 
Cobalt ©   (2011-11-09 17:22) [29]

Второй монитор решит проблему отца русской демократии.


 
я   (2011-11-10 21:42) [30]


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


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

форма это порнография.


 
sniknik ©   (2011-11-10 23:04) [31]

> ну ты же тоже не знаешь этот вопрос.
а еще я на слабо не "ведусь" с первого класса... но только что мы все обо мне да обо мне. нужно то тебе.

> чтобы прога в в пределах окна которой он выводится не зарисовывала его обратно
удачи. в свете
> форма это порнография
она тебе ой как понадобится.


 
Dennis I. Komarov ©   (2011-11-10 23:43) [32]


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

осталось понять, что же этот код делает...


 
Германн ©   (2011-11-11 01:05) [33]


> я   (09.11.11 10:17) [27]
>
>
> > может рано взялся за это дело?
>
>
> Может просто я знаю что я делаю?
>

Если знаешь, то задавай правильные вопросы!


 
я   (2011-11-11 03:41) [34]


> Если знаешь, то задавай правильные вопросы!


Я именно их и задал. Я сказал - я видел в скриптовом языке как в любое место в том числе и в окно любой программы выводится сообщение - как сделать? что тут неправильного?

Господин СникНик каждый раз приходит со своей мега системой воспитания тру программистов, много флудит и мало полезного говорит. Я не студент и не пол года программирую, но программирую в очень других средах. Возникла задача, не для работы, не для школы, не для зачета и не для лабораторной работы. А для меня, пришлось под нее осваивать делфи в том числе. И интернет использую я в качестве справочника и не вижу никакого смысла вдоль и поперек изучать то, что мне нахрен не нужно. Потому что нужно мне это ровно настолько насколько требует задача. Так что не надо тут строить из себя умного, потому как выглядит это очень глупо на самом деле. Может перед студентами так выпендриваться и нормуль, но было бы гораздо больше толку от этого ресурса, если бы тут была куча примеров - набрал в поисковике, нашел сделал чего хотел и дальше пошел. А вместо этого тут куча флуда благодаря вот таким товарищам типа СникНика.

Можно подумать что я не догадался сам до того что он озвучил в своих умных советах. Вопрос был как раз в том КАК это сделать, а не ЧТО сделать.

Этот раздел называется "ДЛЯ НАЧИНАЮЩИХ". Но создается впечатление что сюда толпами собираются те кому нужно срочно поднять самооценку, а не помочь кому то.


 
я   (2011-11-11 03:43) [35]


> осталось понять, что же этот код делает...


Еще один господин пришедший поржать не в тему. Я прекрасно знаю что этот код делает.


 
я   (2011-11-11 03:46) [36]

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


 
sniknik ©   (2011-11-11 09:39) [37]

так бы и говорил - "нужен код для копипаста". а то - > "Куда копать? Что курить?"
разговор был бы другой (не думаю, что он тебе больше понравился, но другой).


 
Dennis I. Komarov ©   (2011-11-11 09:45) [38]


> Я прекрасно знаю что этот код делает.

И что же?

> и люди которым вообще то нужно удваивать ввп и у которых
> нет времени на ваш флуд.

наймите программиста


 
Anatoly Podgoretsky ©   (2011-11-11 10:55) [39]

> я  (11.11.2011 03:46:36)  [36]

Уже удваивали и это слово давно стало ругательным.


 
Anatoly Podgoretsky ©   (2011-11-11 10:58) [40]


> наймите программиста

Вот тогда точно придется удваивать.


 
я   (2011-11-11 11:39) [41]

нет слов, одни маты. Форум скабрезных старушек.


 
DiamondShark ©   (2011-11-11 11:39) [42]


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

А с какой радости ты решил, что если твоё приложение не на переднем плане, то кому-то будут интересны какие-то твои "сообщения"?


 
Dennis I. Komarov ©   (2011-11-11 13:10) [43]


> я   (11.11.11 11:39) [41]

Голословная болтология... По факту ни разу не ответил. Можешь и дальше хотеть странного...


 
sniknik ©   (2011-11-11 13:36) [44]

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

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

ну, типа так.


 
MsGuns ©   (2011-11-11 14:14) [45]

TStatusBar не для этого разве ?
Ну и не забывать при обновлении текста в его панелях делать апдэйт бару


 
имя   (2011-11-11 15:35) [46]

Удалено модератором



Страницы: 1 2 вся ветка

Форум: "Начинающим";
Текущий архив: 2012.02.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.005 c
2-1321092811
nick_delphi2010
2011-11-12 14:13
2012.02.26
Проблема с дебагером в Delphi 2010


2-1321607338
TeaNick
2011-11-18 13:08
2012.02.26
Проверка принадлежности перечислимому типу.


15-1321002130
Mserrrer
2011-11-11 13:02
2012.02.26
Вопрос по карта (google maps)


15-1320485519
RDen
2011-11-05 12:31
2012.02.26
Свернуть все окна в Win XP


2-1320762578
я
2011-11-08 17:29
2012.02.26
Вывод сообщения на экран





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский