Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.07.13;
Скачать: CL | DM;

Вниз

Правильное открытие в браузере   Найти похожие ветки 

 
DJ_UZer ©   (2008-06-13 18:27) [0]

Всем привет..
Такая проблема:
описываю по нажатии на кнопку событие открытия файла в определенном браузере:
WinExec(C:\Program Files\Opera\Opera.exe  C:\Documents and Settings\User\Рабочий стол\1.html, 1);

Если за место opera.exe будет IE, то все будет открываться нормально, а вот когда opera, то параметр который я ему передаю, он распознает как несколько через пробел, то есть если я нажму на кнопку с данным кодом (который описан выше), то он откроет четыре вкладки:
1. C:\Documents
2. and
3. Settings\User\Рабочий
4. стол\1.html

А мне нужно само открытие файла, подскажите как можно правильно открыть файл в браузере?


 
palva ©   (2008-06-13 18:33) [1]

Прикалываетесь или издеваетесь?
Ваш код не будет даже компилироваться, не то что открывать что-нибудь.


 
DJ_UZer ©   (2008-06-13 19:05) [2]

Извеняюсь, немного непривильно, вот так:
WinExec("C:\Program Files\Opera\Opera.exe  C:\Documents and Settings\User\Рабочий стол\1.html", 1);


 
palva ©   (2008-06-13 20:09) [3]

Попробуйте поставить еще одни кавычки внутри:
WinExec("C:\Program Files\Opera\Opera.exe  "C:\Documents and Settings\User\Рабочий стол\1.html"", 1);


 
McSimm ©   (2008-06-13 20:12) [4]


> как можно правильно открыть файл в браузере?

Документы лучше открывать shellexecute, предоставив системе/пользователю право выбора программы для открытия.


 
DJ_UZer ©   (2008-06-13 21:57) [5]


> McSimm

Просто мне нужно открытие для определенной программы


 
DJ_UZer ©   (2008-06-13 22:29) [6]


> WinExec("C:\Program Files\Opera\Opera.exe  "C:\Documents
> and Settings\User\Рабочий стол\1.html"", 1);

Получается, а если, но если я хочу чтобы путь к файлу считывался из едита, то делаю так:

WinExec("C:\Program Files\Opera\Opera.exe "+PChar("edit1.text"), 1);
и опять же возникает проблема в опере, он не понимает русских символ, то есть выводит что-то типа того
file://localhost/C:/Documents%20and%20Settings/User/%2001%3EG89%20AB%3E;/temp.html

Где должны быть русские символы, каля баля.. Что мне теперь делать..подскажите пожалуйста!


 
palva ©   (2008-06-13 23:15) [7]

Если вы будете пробелы кодировать как %20, то ставить внутренние кавычки вам будет уже не нужно. Кодировать надо не только пробелы но и другие служебные символы и русские буквы. Закодированный URL должен срабатывать не только в Опере, но и в других браузерах.

В классе IdURI есть классовая функция URLEncode Попробуйте ее для кодирования.


 
McSimm ©   (2008-06-13 23:20) [8]

Это не он, это Опера получив пробелы кодирует их перед отображением в адресной строке


 
McSimm ©   (2008-06-13 23:23) [9]


> PChar("edit1.text")

это указатель на строковую константу "edit1.text", а вовсе не на содержимое Edit

WinExec("C:\Program Files\Opera\Opera.exe ""+Edit1.Text+""", 1);


 
palva ©   (2008-06-13 23:42) [10]


> Опера получив пробелы кодирует их перед отображением в адресной строке

Автор написал, что Опера не понимает пробелы. Впрочем, я не знаком с Оперой...


 
DJ_UZer ©   (2008-06-15 02:35) [11]


> WinExec("C:\Program Files\Opera\Opera.exe ""+Edit1.Text+""",
>  1);

Все ровно delphi ругается


 
Германн ©   (2008-06-15 02:47) [12]


> DJ_UZer ©   (15.06.08 02:35) [11]

Давай сделаем так. Ты осознаешь, что есть функция CreateProcess.
Прочитаешь про эту функцию. Потом поговорим.


 
Anatoly Podgoretsky ©   (2008-06-15 11:13) [13]

> Германн  (15.06.2008 2:47:12)  [12]

Или в крайнем случае идет в ДОС и изучает, как работать с файлами, содержащими специальные символы.



Страницы: 1 вся ветка

Текущий архив: 2008.07.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
2-1213623272
DFT
2008-06-16 17:34
2008.07.13
WMPaint


2-1213469824
VovKul
2008-06-14 22:57
2008.07.13
Как прочитать HTML файл как текст


2-1212868121
rena
2008-06-07 23:48
2008.07.13
Интерфейсы


15-1211971316
Stas
2008-05-28 14:41
2008.07.13
Рсачет расстояния


3-1201906445
md10
2008-02-02 01:54
2008.07.13
delete record