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

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


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

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

Выпуск № 760
от 25.03.2007, 06:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 444, Экспертов: 73
В номере:Вопросов: 6, Ответов: 9


Вопрос № 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) убирает заголовок и прячет окно, что мне не подходит.
Отправлен: 19.03.2007, 11:05
Вопрос задал: Корниенко Александр / Korney San (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: 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
Комментарий оценки:
Спасибо, компонент нашел похожий, только аглицому не сильно обучен, то бишь, инструкцию бы к нему на русском=)


Вопрос № 78.959
Как соединить Turbo delphi + Firebird ?
Отправлен: 19.03.2007, 17:19
Вопрос задал: Negruzzi Cristian (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Архангельский Андрей Германович
Здравствуйте, Negruzzi Cristian!

Практически никак. Нужно покупать лицензию, которая позволяет устанавливать дополнительные компоненты, такие как IBX, например. В Delphi 7 они входят штатно.

Turbo Delphi не позволяет добавлять компоненты.
---------
Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО
Ответ отправил: Архангельский Андрей Германович (статус: Специалист)
Ответ отправлен: 19.03.2007, 17:28

Отвечает: 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.Может у вас есть эти главы или ссылки где можно их качнуть отдельно.
И еще посовейту литературу для начинающего желательно с примерами и ссылками для закачки.
Заранее спасибо.
Отправлен: 19.03.2007, 20:10
Вопрос задал: Шмаров Сергей (статус: 3-ий класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Архангельский Андрей Германович
Здравствуйте, Шмаров Сергей!
Я рекомендую Марко Кэнту "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 апреля.
Приятного чтения! :-)
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на Delphi. Помощь, советы, обмен опытом.
ICQ: 286867644
----
Ответ отправлен: 19.03.2007, 20:44
Оценка за ответ: 5
Комментарий оценки:
Огромное спасибо!Скачалось все отлично.

Отвечает: Zolton007
Здравствуйте, Шмаров Сергей!
Вот ссылка: http://www.knizhek.net/category/delphi_kylix/ тут есть Фленов и не только. На самом деле тут есть много хороших книг. Вообще для начинающего я советую Фаронов В.В. "DELPHI Программирование на языке высокого уровня", вот только в электронном виде я её пока не видел :(
Вот.... ссылка хорошая, наслаждайтесь! Желаю удачи! :)
BYE
---------
Если твоя программа выполняет мистические действия, - значит ты сделал что-то невероятно тупое!
Ответ отправил: Zolton007 (статус: 7-ой класс)
Ответ отправлен: 19.03.2007, 20:48
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ссылку.Действительно много хороших книг.


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

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

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

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

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


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


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.46 от 18.03.2007
Яндекс Rambler's Top100

В избранное