Вопрос № 78903: Здравствуйте, уважаемые эксперты. У меня возник вопрос, внешне похожий на распространённый, но немного отличающийся.
Мне нужно убрать заголовок окна с панели задач, но при этом оставить окно видимым.
Поиски в Интернете ответа пока не дали. ...Вопрос № 78914: Здраствуйте!
Скажите пожалуйста,что это за ошибка:
Project Project2.exe raised exception class EIBClientError with message 'Cannot refresh row.(No refresh query)'.Process stoped...
Вылетает при вызове метода Refresh компоненты IBQuery.<br...Вопрос № 78940: Уважаемые эксперты!
Озадачился я "нуждой" написать такой код, который:
1) запустив приложение например: winamp.exe (или любое чужое с помощю процедуры CreateProcess или более подходящей на ваш выбор)
2) начал бы следить за тем ...Вопрос № 78946: Здравствуйте, уважаемые эксперты! Подскажите пожалуйста, существует ли способ реализации АОН-а средствами Delphi? Если есть, то будте добры, с примерами.
Огромное спасибо!...Вопрос № 78959: Как соединить Turbo delphi + Firebird ?...Вопрос № 78980: Здрасвтвуйте уважаемые эксперты.
Скачал книгу М.Фленов "Библия для програмиста в среде Delphi",но нехвает двух глав 20и21.Может у вас есть эти главы или ссылки где можно их качнуть отдельно.
И еще посовейту литературу для начинающег...
Вопрос № 78.903
Здравствуйте, уважаемые эксперты. У меня возник вопрос, внешне похожий на распространённый, но немного отличающийся.
Мне нужно убрать заголовок окна с панели задач, но при этом оставить окно видимым.
Поиски в Интернете ответа пока не дали. Наиболее распространённый ответ ShowWindow(Handle, SW_HIDE) убирает заголовок и прячет окно, что мне не подходит.
Отвечает: Gh0stik
Здравствуйте, Корниенко Александр / Korney San!
Все очень просто на самом деле Вам нужно писать так: ShowWindow(Application.Handle, SW_HIDE);
Вы конечно спросите, "а какая разница?" - а разница большая!!! Handle = Form1.Handle (хендл формы), а Application.Handle (хендл приложения).
И соответственно получаем что: Handle не равен Application.Handle. Вот потому у Вас и не получается...
Good Luck!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 19.03.2007, 12:25
Вопрос № 78.914
Здраствуйте!
Скажите пожалуйста,что это за ошибка:
Project Project2.exe raised exception class EIBClientError with message 'Cannot refresh row.(No refresh query)'.Process stoped...
Вылетает при вызове метода Refresh компоненты IBQuery.
Мне нужно обновить данные в трёх таких компонентах без использования Close Open(т.к. Сбивается позиция курсора в таблице).
Пожалуйста помогите. СРОЧНО!!!
Отправлен: 19.03.2007, 12:38
Вопрос задал: chikanok (статус: 3-ий класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: Igor_
Здравствуйте, chikanok!
У Вас к IBQuery привязан еще объект IBUpdateSQL, а у него свойство RefreshSQL - пустое.
Обновить набор данных с помощью Close() и Open(), чтобы не потерять текущее положение в наборе данных можно с помощью закладок TBookmark.
Получаем текущее положение в наборе данных функцией TDataSet::GetBookmark();
Делаем Close(), Open();
После чего восстанавливаем положение TDataSet::GotoBookmark().
Ответ отправил: Igor_ (статус: 1-ый класс)
Ответ отправлен: 19.03.2007, 12:53
Вопрос № 78.940
Уважаемые эксперты!
Озадачился я "нуждой" написать такой код, который:
1) запустив приложение например: winamp.exe (или любое чужое с помощю процедуры CreateProcess или более подходящей на ваш выбор)
2) начал бы следить за тем как новый процесс загружается в память, а именно за кол-вом отводимой под процесс памяти, и когда количество отводимой под него (ЧУЖОЕ запускаемое приложение) памяти перестанет расти, то тогда приравнять к "true" глобальную переменную "go" и прекратить слежение за процессом.
3) смотри п.1 в отношение любой другои программы...
// только что запущенная программа загружается в память , количество которой, отводимой ей ситемой
// увеличивается. В какой-то момент это количество перестает расти вот в следующие несколько секунд
// переменная "go" и меняется.
procedure TForm1.Timer2Timer(Sender: TObject);
...
{здесь надо раз в допустим в 1 секунду кде-то брать (где и как незнаю) количество отводимое под (ЧУЖОЕ только-что запущенное моей программой) приложение памяти и сравнивать следующее с максимальным значения:}
...
If next<=max then
begin
inc(i);
if i=3 then go:=true; // если три раза подряд количество памяти не возросло то go:=true
Timer2.Enabled:=False; // прекращаем следить за процессом
end
else
begin
next:=max;
i:=0;
end
Что я называю память: В диспетчере задач текущий рабочий набор страниц памяти, занятых процессом (в Кбайт). В диспетчере задач на вкладке Процессы это значение отображается в столбце с заголовком Память. взято из хелпа к диспечеру задач.
Предлагаю сделать процедуру Start(path: string), которая получив в виде параметра string-строку с путем к exe файлу запустит его, и получив необходимые свойства только что созданного процесса (необходимые для отслеживания памяти отводимой процессу ситемой ) включает Timer2, который в своей процедуре TForm1.Timer2Timer и будет отслеживать изменение памяти!
P.S. Дело в том что я по процессам и API ноль. Я максимально точно излагаю то, в какой форме нужен код(в виде двух процедур Start и TForm1.Timer2Timer). Пожалуйста оставляйте пояснения в коде. Если у вас есть размышления на этот счет то пишите oleg-zloy@mail.ru, если я несу бред тоже сюда, но с предложением решения этого "бреда"...
Приложение:
Отправлен: 19.03.2007, 15:09
Вопрос задал: Lejon (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Lejon!
Вам понадобится функция GetProcessMemoryInfo(), описания в MSDN: раз и два
Я вам даже дам более ценный совет и открою один секрет =) На самом деле никто не знает/не помнит все функции WinAPI. Однако, ваши знания будут элементарно пополнятся в кратковременную память из такого чудесного источника как MSDN. Научиться пользоваться им нетрудно и главное это все, что нужно. Например, читать встроенную справку Delphi я учился гораздо дольше. Хорошо, конечно, владение английским на уровне "чтение технической документации". Некоторые статьи переведены
на русский, но я не знаю даже примерно какой процент — я всегда пользуюсь английской базой знаний.
И тогда вместо того, чтобы говорить себе и всем: "Я не знаю как с этим работать" вы сможете, разобравшись за 5 минут в паре статей, работать с чем угодно (в пределах "компетенции" этой базы, конечно). Я не имею ввиду, что надо перестать задавать вопросы на этом портале. Но ведь гораздо полезней, если вы сами сможете во всем разобраться и кому-дь помочь :-)
Кстати, в msdn кроме полной справки по WinAPI есть еще справка по всем языкам, поддерживаемым Microsoft и многим технологиям: COM/DCOM, OLE, ActiveX.
Delphi, к сожалению, там нет.
PS:
Если будет совсем трудно и непонятно, спрашивайте в мини-форум.
Проверять рекомендую каждые 100мс, а не каждую 1с.
Раздобудьте себе локальную версию MSDN. По-моему, она законно распространяется практически по цене носителя.
Излагаете действительно точно :-)
--------- Не узнаешь - не попробуешь.
Ответ отправил: Сухомлин Кирилл Владимирович (статус: Специалист)
Ответ отправлен: 19.03.2007, 15:52 Оценка за ответ: 5 Комментарий оценки: Хоть кто-то ответил!!! :-))
Вопрос № 78.946
Здравствуйте, уважаемые эксперты! Подскажите пожалуйста, существует ли способ реализации АОН-а средствами Delphi? Если есть, то будте добры, с примерами.
Огромное спасибо!
Приложение:
Отправлен: 19.03.2007, 15:26
Вопрос задал: Vargant (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 7)
Отвечает: Архангельский Андрей Германович
Здравствуйте, Vargant!
В самом Delphi ничего такого нет. Но есть сторонние компоненты для работы с модемами и последовательными портами, например, Asyng32
ПоиЩи на сайте www.torry.ru
После того как свяжещся в модемом, можно получить доступ к функциям модема, и если у него есть АОН, то нет проблем в Delphi эти функции отработать.
--------- Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО
Ответ отправил: Архангельский Андрей Германович (статус: Специалист)
Ответ отправлен: 19.03.2007, 15:35 Оценка за ответ: 5 Комментарий оценки: Спасибо, компонент нашел похожий, только аглицому не сильно обучен, то бишь, инструкцию бы к нему на русском=)
Отвечает: Архангельский Андрей Германович
Здравствуйте, Negruzzi Cristian!
Практически никак. Нужно покупать лицензию, которая позволяет устанавливать дополнительные компоненты, такие как IBX, например. В Delphi 7 они входят штатно.
Turbo Delphi не позволяет добавлять компоненты.
--------- Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО
Отвечает: sir henry
Здравствуйте, Negruzzi Cristian!
Смотря какой у Вас Turbo Delphi. Если Expl, то там, согласно данным с сайта Борланд, для FireBird есть компоненты: dbExpress и dbGo. Для dbExpress нужна дополнительная клиентская библиотека fbclient.dll (идет в составе FireBird) и та DLL-ка, которая содержит функции dbExpress. dbGo использует для связи с БД ADO провайдера, его можно посмотреть на сайте www.ibase.ru.
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 19.03.2007, 18:01
Вопрос № 78.980
Здрасвтвуйте уважаемые эксперты.
Скачал книгу М.Фленов "Библия для програмиста в среде Delphi",но нехвает двух глав 20и21.Может у вас есть эти главы или ссылки где можно их качнуть отдельно.
И еще посовейту литературу для начинающего желательно с примерами и ссылками для закачки.
Заранее спасибо.
Отвечает: Архангельский Андрей Германович
Здравствуйте, Шмаров Сергей!
Я рекомендую Марко Кэнту "Delphi для профессионалов", могу кинуть в электронном виде D7.
Также Стив Тейксейра, Ксавье Пачеко - хорошая пара авторов. есть версия 5 в электронном виде
--------- Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО
Ответ отправил: Архангельский Андрей Германович (статус: Специалист)
Ответ отправлен: 19.03.2007, 20:16 Оценка за ответ: 5 Комментарий оценки: Спасибо за ответ и оперативность.Хотелось бы почитать эти книжки.Если дорого скинуть,может подскажите где можно качнуть.
Отвечает: Ерёмин Андрей
Здравствуйте, Шмаров Сергей!
Специально для вас - 20 и 21 главы из книги :-) Главы оказались достаточно объёмные - 110 страниц обе, и это при том, что всего в книге чуть менее 900. В rar-архиве - 9.44 Мб. Выложил здесь: http://www.delphi.int.ru/temp/flenov_20-21.rar. Срок хранения - до 1 апреля.
Приятного чтения! :-)
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Отвечает: Zolton007
Здравствуйте, Шмаров Сергей!
Вот ссылка: http://www.knizhek.net/category/delphi_kylix/ тут есть Фленов и не только. На самом деле тут есть много хороших книг. Вообще для начинающего я советую Фаронов В.В. "DELPHI Программирование на языке высокого уровня", вот только в электронном виде я её пока не видел :(
Вот.... ссылка хорошая, наслаждайтесь! Желаю удачи! :)
BYE
--------- Если твоя программа выполняет мистические действия, - значит ты сделал что-то невероятно тупое!
Ответ отправил: Zolton007 (статус: 7-ой класс)
Ответ отправлен: 19.03.2007, 20:48 Оценка за ответ: 5 Комментарий оценки: Спасибо за ссылку.Действительно много хороших книг.