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

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


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

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

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

Выпуск № 336
от 26.12.2005, 20:36

Администратор:Калашников О.А.
В рассылке:Подписчиков: 235, Экспертов: 50
В номере:Вопросов: 10, Ответов: 27


Вопрос № 31902: Помогите решить проблему: требуется программно проверить, открыт лоток CD ROM или нет....
Вопрос № 31905: Уважаемые эксперты! Вопрос такой - значит динамически создаю tabsheet на pagecontrol, затем на tabsheet создаем memo. Таких tabsheet создаю несколько. Далее на созданом тулбаре нажимаю кнопку сохранить. Как мне сохранять текст из мемо, из активно...
Вопрос № 31911: Уважаемые эксперты! Я написал первую DLL о получении connectionstring для открытия ADO-таблиц. Вроде бы получилось. На операционных системах WINDOWS98, SERVER2003, XP программа запускалась. SERVER2000 библиотеку не находит. Интересно, почему?...
Вопрос № 31918: Здравствуйте уважаемые эксперты! У меня такой вопрос: как определить, какой процесс использует данную папку и как он ее использует (для чтения(самое важное) для записи и т.д.) ? Т.е. если пользователь открыл папку или смотрит ее в Total Comander'e (о...
Вопрос № 31919: Здравствуйте уважаемые эксперты! Где можно найти как написать плагин к opere 8.5 ....
Вопрос № 31958: Здравствуйте! У меня есть огромное желание научиться программировать на Delphi 7, приобрел уже достаточное количество книг, но понял, что упираюсь в незнание описания языка, и слабое владение английского, выходит "мартышкин труд" (смотрю в ...
Вопрос № 31959: Здравствуйте эксперты! У меня вопрос: "если opera написана на С, я могу написать к ней плагин на delphi"?...
Вопрос № 31960: Здравствуйте, уважаемые эксперты! Скажите, пожалуйста, как можно сделать графический эквалайзер? Спасибо!...
Вопрос № 31968: Ребята! Появился такой вопрос: У меня в программе почему-то не работает меню правой кнопки мыши для RichEdit... Это же стандартный компонент, следовательно для него должно быть это меню..... Как мне его "прибамбасить"?...
Вопрос № 31969: Здравствуйте, господа эксперты ! Вопрос такого рода: в форме используется компонент webbrowser, в него загружаются html-странички, расположенные на моем компьютере. В некоторых страничках присутствуют ссылки на внешний мир.;) как сделать, чтобы п...

Вопрос № 31.902
Помогите решить проблему: требуется программно проверить, открыт лоток CD ROM или нет.
Отправлен: 20.12.2005, 20:28
Вопрос задал: One (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: REFERI
Здравствуйте, One!
Смотрите код в приложении!
Удачи в кодинге!

Приложение:

---------
Не судите, да не судимы будете...

Ответ отправил: REFERI (статус: Студент)
Отправлен: 21.12.2005, 00:19
Оценка за ответ: 4
Комментарий оценки:
Код любопытный, но на пустой и закрытый (одновремено) он говорит "OPEN", а это есть не то, что мне нужно. Моя прога должна при нажатии на кнопку открывать сидюк, если он закрыт или закрывать, если открыт. В этом то и проблема.


Вопрос № 31.905
Уважаемые эксперты!
Вопрос такой - значит динамически создаю tabsheet на pagecontrol, затем на tabsheet создаем memo. Таких tabsheet создаю несколько. Далее на созданом тулбаре нажимаю кнопку сохранить. Как мне сохранять текст из мемо, из активного tabsheet(который в данный момент открыт)? Надеюсь вы поняли мой вопрос ;)
Отправлен: 20.12.2005, 20:43
Вопрос задал: Yxo (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 12)

Отвечает: sir henry
Здравствуйте, Yxo!
У TPageControl есть свойство ActivePage. Она указывает на активный tabsheet.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 21.12.2005, 05:11
Оценка за ответ: 3
Комментарий оценки:
Да, я это знаю, но как найти мемо на активном tabsheet? Вот что меня больше всего интересовало.

Отвечает: Татьяна
Здравствуйте, Yxo!
Пробегаетесь по всем memo и если memo.parent = pagecontrol.activetabsheet, значит это необходимый вам мемо, дальше дело за малым
Желаю удачи
---------
Нет ничего невозможного!!!
Ответ отправила: Татьяна (статус: 10-ый класс)
Отправлен: 21.12.2005, 22:36
Оценка за ответ: 4


Вопрос № 31.911
Уважаемые эксперты! Я написал первую DLL о получении connectionstring для открытия ADO-таблиц. Вроде бы получилось. На операционных системах WINDOWS98, SERVER2003, XP программа запускалась. SERVER2000 библиотеку не находит. Интересно, почему?
Отправлен: 20.12.2005, 22:58
Вопрос задал: Esi (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: sir henry
Здравствуйте, Esi!
Не находит файл DLL который Вы написали? Или имеется в виду какая-то другая библиотека? Поясните.
если Ваша DLL'ка будет использоваться несколькими прогами, то скопируйте ее в системный каталог (типа c:windowssystem или c:winntsystem). Если только Вашей одной прогой, то оставьте ее в каталоге, куда установили прогу.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 21.12.2005, 05:15


Вопрос № 31.918
Здравствуйте уважаемые эксперты! У меня такой вопрос: как определить, какой процесс использует данную папку и как он ее использует (для чтения(самое важное) для записи и т.д.) ? Т.е. если пользователь открыл папку или смотрит ее в Total Comander'e (осуществляет доступ к папке), то показывается сообщение. Ну что-то наподобие FileMon'a, только мне нужен код на Delphi 7. Т.е мне нужно узнать какой процесс читает данную папку. Заранее спасибо.
Отправлен: 21.12.2005, 07:00
Вопрос задал: Евгений (jeni) (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Golden Spider
Здравствуйте, Евгений (jeni)!

Возможно я ошибаюсь (прошу не судить строго), но силами Delphi это сделать невозможно (или по крайней мере ОЧЕНЬ сложно и долго). :(

---------
Семь раз проверь, один раз откомпилируй!
Ответ отправил: Golden Spider (статус: 4-ый класс)
Отправлен: 21.12.2005, 22:00


Вопрос № 31.919
Здравствуйте уважаемые эксперты! Где можно найти как написать плагин к opere 8.5.
Отправлен: 21.12.2005, 07:03
Вопрос задал: Евгений (jeni) (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 7)

Отвечает: Jadd
Здравствуйте, Евгений (jeni)!
Собственно на сайте оперы. Там есть все необходимое.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Специалист)
Отправлен: 21.12.2005, 10:00
Оценка за ответ: 3
Комментарий оценки:
Во-первых это понятно;
Во-вторых этот сайт английский;
А в-третьих где еще можно это посмотреть.
Вот как download master писал свои плагины?
И еще если opera написана на С, то можно плагин написать на Delphi?


Вопрос № 31.958
Здравствуйте! У меня есть огромное желание научиться программировать на Delphi 7, приобрел уже достаточное количество книг, но понял, что упираюсь в незнание описания языка, и слабое владение английского, выходит "мартышкин труд" (смотрю в книгу и вижу фигу) по мере чтения, возникает масса вопросов на которые книги не дают ответов, а без полного описания языка я к сожалению не могу продвигаться.... . Не хотелось бы выглядеть дураком (но наверное это так) задавая эти вопросы. Не подскажите ли литературу написаную простым доступным языком, или описание самого языка. Заранее спасибо!
Отправлен: 21.12.2005, 16:13
Вопрос задал: Sergey707 (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Архангельский Андрей Германович
Здравствуйте, Sergey707!
Стив Тейксейра, Ксавье Пачеко
"Delphi 5, Руководство разработчика. Том 1. Основные методы и технологии",
М., Издательский дом "Вильямс", 2000г
"Delphi 5, Developer's Guide" by Xavier Pacheco and Steve Teixteira,
(c)2000 SAMS Inc.
Одна из лучших книг по Delphi 5. Эта книга предназначена для опытных и профессиональных разработчиков программного обеспечения в среде Delphi и написана двумя признанными экспертами в этой области, принимавшими непосредственное участие в создании данного продукта. В текст книги включен исходный код множества прекрасных примером работоспособных приложений по всем обсуждаемым темам. Каждый пример подробно комментируется, что делает данную книгу отличным учебником, позволяющим быстро освоить создание эффективных приложений. Свойственный авторам великолепный стиль изложения материала неоднократно отмечался наградами за лучшую книгу по Delphi.
В первом томе материал охватывает практически все, что связано с разработкой локальнных приложений, начиная с основ программирования в Delphi и заканчивая созданием многопоточных приложений, включая вопросы отладки и тестирования.

Этот том отличается от других версий тем, что в нем есть самые начальные описания языка
Ответ отправил: Архангельский Андрей Германович (статус: Студент)
Отправлен: 21.12.2005, 16:21

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Sergey707!
Качественная подборка литературы находится по адресу ponteley.al.ru

Успехов!
Ответ отправил: Лучников Юрий Владимирович (статус: 6-ой класс)
Отправлен: 21.12.2005, 16:42

Отвечает: sir henry
Здравствуйте, Sergey707!
Ваш вопрос вызывает сильное недоумение. В книгах, которые Вы покупаете, как раз и дается описание языка. "Мартышкин труд" - это когда Вы сидите и читаете книгу. Естественно кроме фиги Вы там ничего не увидите. Необходимо сидеть перед включенным компьютером с запущеным Дельфи и старательно буква за буквой набирать и запускать приведенные в книге примеры.
Пока что Вы спрашиваете полную чушь. Я не видел ни одной книги, где описание языка было бы написано не простым и недоступным языком. При условии, конечно, что Вы приобрели не книгу для продвинутых в полную заумь гуру.
Лично я начинал с такой книги: Фаронов В. "Delphi Учебный курс".
Давайте Вы лучше не будете жаловаться на недоступность описания, а спросите конкретно, что Вас затрудняет.
Если Ваши книги совершенно для Вас непонятны, наберите в Яндексе строку:
"самоучитель по Delphi 7 для начинаюших" и получите кучу ссылок на эту очень простую электронную книгу. Скачайте ее себе и читая выполняйте все, что там написано.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 21.12.2005, 16:48

Отвечает: Vbhjndjhtw
Здравствуйте, Sergey707!
В среде програмирования Дельфи используется язык Object Pascal перед изучением которого надо изучить Pascal. Синтаксис и всё такое этого языка надо знать. Есть такая книга как Turbo Pascal 7.0 написанная Поповым(инициалы непомню). Я могу тебе выслать электронные учебники, но мой тебе совет, купи книгу. Средства оправдаются.
Ответ отправил: Vbhjndjhtw (статус: 7-ой класс)
Отправлен: 22.12.2005, 08:27


Вопрос № 31.959
Здравствуйте эксперты! У меня вопрос: "если opera написана на С, я могу написать к ней плагин на delphi"?
Отправлен: 21.12.2005, 16:13
Вопрос задал: Евгений (jeni) (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Евгений (jeni)!
Если у вас есть в распоряжении PluginSDK, то можно писать плагины с помощью люой среды разработки, которая способна компилировать dll-библиотеки (обычно технология plugin реализуется в виде dll)
Ответ отправил: Лучников Юрий Владимирович (статус: 6-ой класс)
Отправлен: 21.12.2005, 16:41

Отвечает: nimoid
Здравствуйте, Евгений (jeni)!

Плагины, обычно, это dll-ки. На делфи dll можно писать. Смотри документацию по описанию плагинов и пиши хоть на делфи, хоть на чем угодно, если это позволяет компилить dll.
---------
Перед тем как задать вопрос, поищи сначала сам ответ. Яндекс в руки и вперед... )
Ответ отправил: nimoid (статус: 6-ой класс)
Отправлен: 21.12.2005, 18:23

Отвечает: Schmak
Здравствуйте, Евгений (jeni)!
Насколько я знаю обычно плагины представлены ввиде DLLек. Поэтому писать вы можете хоть на каком языке, поддерживающем написание DLL, а значит и на Delphi.
PS: Оперой не пользуюсь поэтому не могу гарантировать, что там плагины в виде DLL. а не спец. файлов со своей структурой.
---------
Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Студент)
Отправлен: 22.12.2005, 05:45


Вопрос № 31.960
Здравствуйте, уважаемые эксперты!
Скажите, пожалуйста, как можно сделать графический эквалайзер?
Спасибо!
Отправлен: 21.12.2005, 16:17
Вопрос задал: Vic (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Vic!

Для начала нужно анализировать аудио-поток, а уж потом отображать его в графическом виде...

Простейший механизм рисования - использовать свойства и методы объекта Canvas.
Ответ отправил: Лучников Юрий Владимирович (статус: 6-ой класс)
Отправлен: 21.12.2005, 16:44

Отвечает: Bochvarov NikB
Здравствуйте, Vic!
А Вьи знаете ли как можно сделат неграфическии эквалайзер?
Ответ отправил: Bochvarov NikB (статус: 5-ый класс)
Отправлен: 21.12.2005, 16:55

Отвечает: Golden Spider
Здравствуйте, Vic!

Тут нужно разбираться с потоком, но хочу вамсказать что это ОЧЕНЬ сложное и долгое дело.
Так что лучше переложить работу на специализированные компоненты (пойщите в гугле и на torry.net).
Для примера TDCEqualizer и TBASSPlayer (не смотрел, но поробуйте). :)

C выводом графики... попробуйте через canvas.
---------
Семь раз проверь, один раз откомпилируй!
Ответ отправил: Golden Spider (статус: 4-ый класс)
Отправлен: 21.12.2005, 17:13


Вопрос № 31.968
Ребята!
Появился такой вопрос: У меня в программе почему-то не работает меню правой кнопки мыши для RichEdit... Это же стандартный компонент, следовательно для него должно быть это меню.....
Как мне его "прибамбасить"?
Отправлен: 21.12.2005, 19:57
Вопрос задал: D.M. (статус: 1-ый класс)
Всего ответов: 8
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Jadd
Здравствуйте, D.M.!
Из чего это следует? А сваойство PopupMenu для каких целей, по-вашему? ;)
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Специалист)
Отправлен: 21.12.2005, 20:18

Отвечает: Лучников Юрий Владимирович
Здравствуйте, D.M.!

Для этого вам сначала нужно создать объект PopupMenu (кинуть его на форму, заполнить) а потом в свойстве RichEditа PopupMenu выбрать созданный объект, тем самым привязав его к РичЕдиту.

Успехов!!
Ответ отправил: Лучников Юрий Владимирович (статус: 6-ой класс)
Отправлен: 21.12.2005, 20:29

Отвечает: Slava
Здравствуйте, D.M.!
Это в Memo уже есть меню. А вот для RichEdit его нужно добавить из вкладки
"Стандартные"-> PopupMenu, а затем в свойстве PopupMenu для RichEdit его указать.
Ответ отправил: Slava (статус: 2-ой класс)
Отправлен: 21.12.2005, 20:29

Отвечает: nimoid
Здравствуйте, D.M.!

Кстати говоря, свойство компонента PopupMenu тебя спасет. :)

А вот было дело, столкнулся я как-то с такой проблемой - из библиотеки RxLibrary компонент RxRichEdit напрочь игнорировал PopupMenu (бага?), пришлось прикручивать самому:

1. Создал PopupMenu.
2. В обработчике OnMouseUp RxRichEdit-а написал нечто вроде

if Button in [mbRight] then PopupMenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);

3. Радовался результату. =)
---------
Перед тем как задать вопрос, поищи сначала сам ответ. Яндекс в руки и вперед... )
Ответ отправил: nimoid (статус: 6-ой класс)
Отправлен: 21.12.2005, 20:52

Отвечает: Golden Spider
Здравствуйте, D.M.!

Ну не совсем стандартный... Вот например у Tmemo есть встроенное меню. А для RichEdit нужно создавать ручками:
кидаем на форму PopurMenu из Standart настраиваем, и в свойстве popurmenu у richedit выбираем созданный нами.
---------
Семь раз проверь, один раз откомпилируй!
Ответ отправил: Golden Spider (статус: 4-ый класс)
Отправлен: 21.12.2005, 22:05

Отвечает: Ерёмин Андрей
Здравствуйте, D.M.!
Это - одна из особенностей TRichEdit. Посмотрите, к примеру, TMemo - у него стандартное меню (вырезать, копировать, и т.д.) по умолчанию работает. Для TRichEdit меню придётся создавать самостоятельно. Для этого помещаем на форму любой компонент класса TPopupMenu, настраиваем его, а затем выбираем в свойстве PopupMenu этого RichEdit. По-другому, к сожалению, никак. А эти стандартные команды программируются легко:
RichEdit1.Undo;
RichEdit1.CutToClipboard;
RichEdit1.CopyToClipboard;
RichEdit1.PasteFromClipboard;
RichEdit1.SelectAll;

---------
Работа - не волк, а произведение силы на расстояние!
Ответ отправил: Ерёмин Андрей (статус: Специалист)
Отправлен: 21.12.2005, 22:37
Оценка за ответ: 5
Комментарий оценки:
Пасибо...... Хоть один Xперт нормально объяснил......

Отвечает: Schmak
Здравствуйте, D.M.!
Значит не такой уж он и стандартный (лежит то он не на вкладке Standart :). Для того чтобы сделать контекстное меню киньте на форму компонент PopupMenu со вкладки Standart. Далее в свойстве Richedit.popupmenu забейте название меню. Пункты меню составить не сложно, тем более что все необходимые методы у RichEdita более чем прозрачны. Например: Richedit1.undo
---------
Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Студент)
Отправлен: 22.12.2005, 05:45
Оценка за ответ: 5

Отвечает: sir henry
Здравствуйте, D.M.!
Вы удивительным образом заблуждаетесь на счет стандартности. :)
Меню нужно сначала создать, кинув на форму компонент. А "прибамбасить" его так:
RichEdit1.PopupMenu:=Имя_ВашегоPopUpМеню;
Ответ отправил: sir henry (статус: Академик)
Отправлен: 22.12.2005, 06:17


Вопрос № 31.969
Здравствуйте, господа эксперты !
Вопрос такого рода: в форме используется компонент webbrowser, в него загружаются html-странички, расположенные на моем компьютере. В некоторых страничках присутствуют ссылки на внешний мир.;) как сделать, чтобы при щелчке на эту ссылку(или в момент ее обработки(или не знаю как, вам виднее)) выводилось окно типа "работа с этим ресурсом требует подключения к интернету. Подключиться? да нет" и в случае положительного ответа ссылка бросалась в браузер по умолчанию и запускался этот браузер.
Догадываюсь, что здесь нужно обрабатывать какое-то событие, но не знаю какое именно. Помогите, пожалуйста.
Заранее благодарен за помощь.
Отправлен: 21.12.2005, 19:57
Вопрос задал: Prosto_Blackhowk (статус: 1-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Golden Spider
Здравствуйте, Prosto_Blackhowk!

Редко работал с этим компонентом но попробую помочь.
Возможно я не прав, но можно проверить есть ли татой файл на компьютере.

Unit 1
---------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
if not fileexists(Pchar(edit1.text)) then
form2.show
else
webbrowser1.Navigate(edit1.Text);
end;

unit 2
--------------------
procedure TForm2.Button1Click(Sender: TObject);
begin
form1.WebBrowser1.Offline:=true;
form1.WebBrowser1.Navigate(form1.edit1.text);
end;
P.S.
Тут можно было и обойтись и диалоговым окном.
(обработку событий можно через procedure
TForm1.WebBrowser1DownloadBegin(Sender: TObject);
begin

end;
)

Удачи!

---------
Семь раз проверь, один раз откомпилируй!
Ответ отправил: Golden Spider (статус: 4-ый класс)
Отправлен: 21.12.2005, 22:23
Оценка за ответ: 4
Комментарий оценки:
большое спасибо, но такой вариант будет , скорее всего, долго работать. Но за желание помочь спасибо

Отвечает: Ерёмин Андрей
Здравствуйте, Prosto_Blackhowk!
Воспользуйтесь событием OnBeforeNavigate2. Там много интересных параметров передаётся. А чтобы открыть страницу через браузер:

Uses ShellAPI;
. . .
ShellExecute(Application.Handle,'open','http://www.yoursite.com','','',SW_SHOWNORMAL);

---------
Работа - не волк, а произведение силы на расстояние!
Ответ отправил: Ерёмин Андрей (статус: Специалист)
Отправлен: 21.12.2005, 22:32

Отвечает: sir henry
Здравствуйте, Prosto_Blackhowk!
Можно попробовать прописать парсинг в OnBeforeNavigate2. Это событие возникает прежде. чем ВебБраузер отправляется на указаную ссылку. Проверить просто - в этот метод передается параметр URL, вот его надо проверить, есть ли в строке буквосочетание 'http://', что прямо указывает на интернетовскую ссылку.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 22.12.2005, 06:29
Оценка за ответ: 5
Комментарий оценки:
правильный способ решения, только нужно знать какой параметр проверить... а я еще не догодываюсь...


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

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

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

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

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


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


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

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное