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

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


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

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

Выпуск № 600
от 23.09.2006, 09:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 376, Экспертов: 61
В номере:Вопросов: 8, Ответов: 13


Вопрос № 55684: Здравствуйте, уважаемые эксперты! Помогите, пожалуйста. Почему возникает "Обнаружена ошибка, приложение будет закрыто" при выполнении данного кода(см. приложение)?? shellexecute запускает нужно приложение и сразу же ошибка. Заране...
Вопрос № 55692: Уважаемые эксперты, прошу прощения за похожие вопросы. На этот раз я переформулирую. Подскажите, пожалуйста способ, как открыть с помощью Delphi другое приложение, а потом закрыть его? Заранее благодарен!...
Вопрос № 55693: Уважаемые эксперты! Подскажите, пожалуйста, есть ли в Delphi аналог функции explode в PHP? Мне нужно разбить строку на элементы массива по разделителю, например "#". Заранее спасибо!...
Вопрос № 55707: Здравствуйте Эксперты!!! Подскажите пожалуйста!? У меня такая проблема-я каким то макаром удалил или отключил окошко или панель, которое(я) находиться в панели задач рядом с часами(там ещё находятьса всякие агенты программ, значёк зв...
Вопрос № 55720: Здравствуёте, уважаемые эксперты! Подскажите, пожалуёста, как определять битрейт mp3-файла? А ещё переменный или постоянный. Спасибо за внимание. /Iorpy$...
Вопрос № 55736: Здравствуйте уважаемые эксперты!!! Скажите, пожалуйста, как программно объединить ячейки в StringGrid (F1Book не интересует) – если, конечно, это возможно? Спасибо....
Вопрос № 55779: Здравствуйте, уважаемые эксперты! Я из своейго приложения запускаю другое. Использую shellexecute(). Объясните, пожалуйста, почему приложение, находящееся в той же папке, что и мое, запускается нормально, а, если оно находится в каталоге на уров...
Вопрос № 55793: Здравствуйте, уважаемые эксперты! Подскажите, пожалуйста, есть ли какой-нибудь визуальный компонент, наподобие StringGrid, чтобы в нем можно было в одной колонке разместить картинку, а в другой текст. Например, имя операции, и значок, обозначающий, у...

Вопрос № 55.684
Здравствуйте, уважаемые эксперты!
Помогите, пожалуйста. Почему возникает "Обнаружена ошибка, приложение будет закрыто" при выполнении данного кода(см. приложение)?? shellexecute запускает нужно приложение и сразу же ошибка.
Заранее очень благодарен!

Приложение:

Отправлен: 17.09.2006, 10:03
Вопрос задал: Андрющенко Вячеслав Васильевич (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: CjJoker
Здравствуйте, Андрющенко Вячеслав Васильевич!
var s: string;

begin
Если я правильно понял, вы хотели сделать так:
s:= ExtractFilePath(ParamStr(0)) + ' o testproject2.exe';
ShellExecute(0,'open', PChar(s), nil,nil,SW_SHOW);
end;
Ответ отправил: CjJoker (статус: 1-ый класс)
Ответ отправлен: 17.09.2006, 10:33
Оценка за ответ: 5

Отвечает: Chizz
Здравствуйте, Андрющенко Вячеслав Васильевич!

Либо что-то неправильно написал, либо библиотеку не подключил.
Ответ отправил: Chizz (статус: 2-ой класс)
Ответ отправлен: 17.09.2006, 11:34


Вопрос № 55.692
Уважаемые эксперты, прошу прощения за похожие вопросы. На этот раз я переформулирую.
Подскажите, пожалуйста способ, как открыть с помощью Delphi другое приложение, а потом закрыть его?
Заранее благодарен!
Отправлен: 17.09.2006, 10:59
Вопрос задал: Андрющенко Вячеслав Васильевич (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Chizz
Здравствуйте, Андрющенко Вячеслав Васильевич!

В этой статье вы научитесь применять функцию Windows API ShellExecute. Ее применяют в тех случаях, когда мы, например, хотим открыть файл в соответствии с его расширением, не зная, какая программа ассоциирована с таким файлами. Итак, начнем с простого:

- Запустить блокнот (notepad)

uses ShellApi;
...ShellExecute(Handle, 'open',
'c:Windows otepad.exe', nil, nil, SW_SHOWNORMAL);
- Открыть текстовый файл c: ext.txt в блокноте

ShellExecute(Handle, 'open',
'c:windows otepad.exe', 'c: ext.txt', < BR > nil,
SW_SHOWNORMAL);
- Показать содержимое каталога c:archive

ShellExecute(Handle, 'open', 'c:archive', nil, nil,
SW_SHOWNORMAL);
- Открыть файл в соответствии с расширением

ShellExecute(Handle,
'open', 'c:MyDocumentsLetter.doc', nil, nil, SW_SHOWNORMAL);
- Открыть html документ в браузере по умолчанию
ShellExecute(Handle,
'open', 'http://src.fitkursk.ru', nil, nil, SW_SHOWNORMAL);
СПАСИБО DELPHIWORLD...

вызов программы по умолчанию :

WinExec(pchar('Explorer '+fst), sw_SHOWNORMAL);

(где fst - полное имя файла;
WinExec - находится в модуле Windows)
Вот этот способ получше будет:
ShellExecute(0,'Open',pchar('C:itog.swf'),nil,nil,1);

itog.swf - это файл который надо открыть.

Если нужно открыть файл в той же папке, что и exe файл, то сделай вот так:

ShellExecuteA(0, 'Open',pchar( ExtractFilePath(application.exename)+'itog.swf'),nil,nil,1);

Не забудьте в uses указать модуль - shellapi

А закрыть наверное тоже можно c помощью ShellExecute, либо Послать этому приложению сообщение WM_QUIT, например:

PostMessage(FindWindow(nil, 'Безымянный - Блокнот'), WM_QUIT, 0, 0);
Ответ отправил: Chizz (статус: 2-ой класс)
Ответ отправлен: 17.09.2006, 11:31
Оценка за ответ: 5

Отвечает: n0name
Здравствуйте, Андрющенко Вячеслав Васильевич!
Смотрите приложение

Приложение:

Ответ отправил: n0name (статус: 5-ый класс)
Ответ отправлен: 17.09.2006, 16:14
Оценка за ответ: 5
Комментарий оценки:
Благодарю! Как раз то, что нужно!


Вопрос № 55.693
Уважаемые эксперты!
Подскажите, пожалуйста, есть ли в Delphi аналог функции explode в PHP? Мне нужно разбить строку на элементы массива по разделителю, например "#". Заранее спасибо!
Отправлен: 17.09.2006, 11:48
Вопрос задал: Андрющенко Вячеслав Васильевич (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Coupler
Здравствуйте, Андрющенко Вячеслав Васильевич!
В приложении пример из DelphiWorld:

Приложение:

Ответ отправил: Coupler (статус: Студент)
Ответ отправлен: 17.09.2006, 16:32
Оценка за ответ: 5

Отвечает: Татьяна
Здравствуйте, Андрющенко Вячеслав Васильевич!
Ecть более простой и стандартный способ, единственное что, он заполняет не в массив, а список строк. См. приложение

Приложение:

---------
Возможно все. И ничего возможно тоже.

Ответ отправила: Татьяна (статус: Студент)
Ответ отправлен: 18.09.2006, 11:02
Оценка за ответ: 5


Вопрос № 55.707
Здравствуйте Эксперты!!!
Подскажите пожалуйста!?
У меня такая проблема-я каким то макаром удалил или отключил окошко или панель,
которое(я) находиться в панели задач рядом с часами(там ещё находятьса всякие агенты программ, значёк
звука, отображается значёк подключения к интернету, сети и т. д.)
Так вот как её включить??
Заранее спасибо!!
Отправлен: 17.09.2006, 13:51
Вопрос задал: F Ruslan R (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, F Ruslan R!
Эта область панели задач называется tray (трей) и относится это к Windows. Причем тут Delphi я совершенно не понимаю (вопрос-то по какой теме?). Или вы из Delphi удалили трей? ^^ Единственный способ, как это сделать, который я нашел, следующий:
Кликаете правой кнопкой на кнопке "пуск" и выбираете пункт proprties (свойства)
Далее закладка Taskbar (панель задач). И внизу возле надписи "Hide inactive icons" (Спрятать неактивные значки) есть кнопка Customize (настроить). Если там поставить для всех пунктов Always Hide (всегда скрывать), то у вас и пропадут все значки с панели задач. Соотв., как настроить, я думаю, понятно =)
Вообще, надо было бы указать, какая у вас винда. У меня WinXP eng и поэтому русские названия пунктов меню и пр. я писал просто переводом с английского - не знаю, как они называются в русской винде.
---------
Не узнаешь - не попробуешь.
Ответ отправил: Сухомлин Кирилл Владимирович (статус: Практикант)
Ответ отправлен: 17.09.2006, 16:43


Вопрос № 55.720
Здравствуёте, уважаемые эксперты! Подскажите, пожалуёста, как определять битрейт mp3-файла? А ещё переменный или постоянный.
Спасибо за внимание. /Iorpy$
Отправлен: 17.09.2006, 16:46
Вопрос задал: /Iorpy$ (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Н.В.
Здравствуйте, /Iorpy$!
1. На странице http://regexpstudio.com/RU/TAudioInfo/mp3_frame_headers.html очень подробно описано, в каких заголовках какая информация хранится.
2. Есть такая библиотека BASS. Благодаря ей также можно получать информацию об mp3. Скачать bass.dll + пример её использования можно здесь: http://sources.codenet.ru/download/680/bass_test.html.

Удачи!
---------
http://TheDelphi.Ru
Ответ отправил: Н.В. (статус: 4-ый класс)
Ответ отправлен: 17.09.2006, 17:29
Оценка за ответ: 5


Вопрос № 55.736
Здравствуйте уважаемые эксперты!!!
Скажите, пожалуйста, как программно объединить ячейки в StringGrid (F1Book не интересует) – если, конечно, это возможно? Спасибо.
Отправлен: 17.09.2006, 19:05
Вопрос задал: Piit (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Н.В.
Здравствуйте, Piit!
К сожалению, такой возможности в StringGrid нет.

Попробуйте найти что-нибудь полехное по этим ссылкам:
http://www.sql.ru/forum/actualthread.aspx?tid=234206
http://www.delphikingdom.ru/asp/viewitem.asp?UrlItem=/helloworld/mergegrid.htm - здесь Вы найдёте готовый компонент (усовершенствованный StringGrid) с возможностью объединения ячеек.

Удачи!
---------
http://TheDelphi.Ru
Ответ отправил: Н.В. (статус: 4-ый класс)
Ответ отправлен: 17.09.2006, 19:18
Оценка за ответ: 5


Вопрос № 55.779
Здравствуйте, уважаемые эксперты!
Я из своейго приложения запускаю другое. Использую shellexecute(). Объясните, пожалуйста, почему приложение, находящееся в той же папке, что и мое, запускается нормально, а, если оно находится в каталоге на уровень ниже(вложенная папка), то тоже запускается, но возникает виндовская ошибка:"Обнаружена ошибка. Приложение будет закрыто".
Второе приложение работает с текстовыми файлами. Может, в этом дело?
Заранее спасибо!
Отправлен: 18.09.2006, 04:04
Вопрос задал: Андрющенко Вячеслав Васильевич (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: n0name
Здравствуйте, Андрющенко Вячеслав Васильевич!
Скорее всего в этом.
Проверте, в вашей программе может быть использованы относительные пути, то есть просто 'file.txt', вместо 'c:programfile.txt'.
Ответ отправил: n0name (статус: 5-ый класс)
Ответ отправлен: 18.09.2006, 04:58
Оценка за ответ: 5

Отвечает: Савенко Вадим Иванович
Здравствуйте, Андрющенко Вячеслав Васильевич!
Нужно же указывать полный путь к запускаемому файлу.
GetCurrentDir + 'Ваша папкаfile.exe'
И все будет работать.
Ответ отправил: Савенко Вадим Иванович (статус: Студент)
Ответ отправлен: 18.09.2006, 07:13
Оценка за ответ: 5


Вопрос № 55.793
Здравствуйте, уважаемые эксперты! Подскажите, пожалуйста, есть ли какой-нибудь визуальный компонент, наподобие StringGrid, чтобы в нем можно было в одной колонке разместить картинку, а в другой текст. Например, имя операции, и значок, обозначающий, успешно или нет она выполнена? Заранее благодарен!
Отправлен: 18.09.2006, 08:50
Вопрос задал: Андрющенко Вячеслав Васильевич (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Physicist
Здравствуйте, Андрющенко Вячеслав Васильевич!

Если именно в таком порядке - сначала картинка, а рядом текст, то подойдет обычный ListView в режиме Viewstyle="vsReport."
Ответ отправил: Physicist (статус: Студент)
Ответ отправлен: 18.09.2006, 09:05
Оценка за ответ: 5

Отвечает: Савенко Вадим Иванович
Здравствуйте, Андрющенко Вячеслав Васильевич!
На www.torry.net есть пакет компонентов JEDI (JCL и JVCL). Там миллион компонентов на все случаи жизни. Ну или почти на все. К тому же бесплатно. Думаю, он Вам пригодится.
Ответ отправил: Савенко Вадим Иванович (статус: Студент)
Ответ отправлен: 18.09.2006, 11:51
Оценка за ответ: 5


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

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

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

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

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


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


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

В избранное