![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запуск ссылки
sashapont © (2004-06-10 03:10:00)Привет всем, подскажите плиз, как можно запустить вёб ссылку которая записанна в ини файле?
Архип (2004-06-21 12:09:00) [1]Считать из твоего ini параметр, значением которого является URL
Пример.
Есть файл file.ini со следующем содежанием:
[Section_name]
MyUrl= http://www.microsoft.com
var
begin
IniF:TIniFile;
UrlName:String;
IniF :=TIniFile.Create('file.ini')'
UrlName :=IniF.ReadString('Section_name','MyUrl','значение по умолчанию');
IniF.Free;
ShellExecute(0,'open',PChar(UrlName,'',nil,SW_SHOWNORMAL);
end;
В итоге должно открыться окошко Internet Explorer (про другие не заню, не проверял)
Кстати, файлы *.url, создаваемые I.E являются обычными Ini файлами.
Не забудь поключитьв Uses модули IniFiles и ShellAPI
GuAV (2004-06-11 11:24:00) [2]Статье - нет. Кроме того, раз нужно открывать в разных окнах, то посмотри ту векту:
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1086624324&n=5
если пофиг - в разных в том же, то хз © (10.06.04 07:50) [3]
Ske4er (2004-06-11 05:03:00) [3]Так а как правильно? Хоть скажите, если статье на этом сайте нельзя верить...
GuAV (2004-06-10 22:05:00) [4]sashapont (10.06.04 21:25) [13]
Раззуй глаза
nikkie © (08.06.04 01:57) [14] - это то, что тебе нужно. код готовой процедуры. открывает урлы. в разных окнах.
sashapont (2004-06-10 21:25:00) [5]На
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1086624324&n=5
вопрос про определение броузера, а про ссылки в разных окнах вроде-бы ничего и нету!!!
GuAV (2004-06-10 19:04:00) [6]http://www.delphimaster.ru/cgi-bin/forum.pl?id=1086624324&n=5
nikkie © (08.06.04 01:57) [14]
sashapont (2004-06-10 17:29:00) [7]uses
inifiles, shellapi;
procedure StartMySuperLink;
var
inifile: tinifile;
str: string; // для наглядности
begin
inifile := tinifile.create(твой_ини_файл)
str := inifile.readstring('lalala', 'link', str);
// запускаем
ShellExecute(Application.Handle, 'open', PCHar(str), nil, nil, SW_SHOW);
inifile.free;
end;
Вроде бы работает, но если в проге есть две кнопки, и соответственно надо подгрузить 2 ссылки из ини файла, то они открываются в 1 окне, а нельзя сделать так, чтобы они открывались в разных окнах?????
sashapont (2004-06-10 16:16:00) [8]Спасибо пацаны, счас попробую!!!
Игорь Шевченко (2004-06-10 14:04:00) [9]Это цитата из статьи:
"Uses ShellAPI;
…
var
h: hwnd;
begin
// Используем ShellExecute
if ShellExecute(h, 'open', 'readme.txt', nil, nil, SW_SHOW) < 32 then
begin
ShowMessage('Немогу выполнить ShellExecute !')
end;
// Используем WinExec
if WinExec('Notepad c:\config.sys', SW_SHOW) < 32 then
begin
ShowMessage('Немогу выполнить WinExec !')
end;
end;
"
Судя про грамотности сообщений, остальное можно не читая, выбрасывать в корзину.
"Почему же нежелателен вызов WinExec дело все в том, что фактически он содержит обращение к еще одному устаревшему системному вызову LoadModule, который обращается к CreateProcess со значениями аргументов по умолчанию." - это тоже из области фантазий автора, WinExec сразу вызывает CreateProcess, по крайней мере, в Win2k.
Вывод прост - не всем статьям надо верить
Anatoly Podgoretsky (2004-06-10 11:30:00) [10]GuAV © (10.06.04 11:27) [7]
Богу жалуйся :-)
Что такое FAQ (ЧаВО) по сути, это часто задаваемые вопросы и ответы, как видим нет никакого намека на правильность, правильные ответы находятся в FRAQ (ЧаВПО)
GuAV (2004-06-10 11:27:00) [11]Anatoly Podgoretsky © (10.06.04 11:14) [6]
Интересно, а если в статьях бред или в FAQ, то жаловаться куда?
в FAQ есть вообще-то фича - прислать свои коментарии, но она не работает...
Anatoly Podgoretsky (2004-06-10 11:14:00) [12]Ske4er © (10.06.04 10:47) [4]
И зачем бред повторяешь?
хз (2004-06-10 10:53:00) [13]Ты не понял. Я про это:
> h: hwnd;
Зачем?
Ske4er (2004-06-10 10:47:00) [14]LOL 8-D
Вычитал я это в ЧАВОшках и еще тут: http://www.delphimaster.ru/articles/winexec/index.html:roll:
---
LMD :P
хз (2004-06-10 07:50:00) [15]2 Ske4er © (10.06.04 06:58) [2]
> var
> h: hwnd;
Где ты этот бред вычитал?
По сабжу:
uses
inifiles, shellapi;
procedure StartMySuperLink;
var
inifile: tinifile;
str: string; // для наглядности
begin
inifile := tinifile.create(твой_ини_файл)
str := inifile.readstring('lalala', 'link', str);
// запускаем
ShellExecute(Application.Handle, 'open', PCHar(str), nil, nil, SW_SHOW);
inifile.free;
end;
Ske4er (2004-06-10 06:58:00) [16]Помню когда-то мне тоже ответили использовать ShellExecute, так я с параметрами запутался... Держи код:
uses ShellApi;
{...}
var
h: hwnd;
begin
ShellExecute(h, 'open', ' http://www.csservers.nm.ru/', nil, nil, SW_SHOW);
{...}
$tranger (2004-06-10 06:28:00) [17]Считываешь строку из ини файла, прописываешь запуск через
ShellExecuteи все!