Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.07.13;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.006 c
15-1208540966
Loginov Dmitry
2008-04-18 21:49
2008.07.13
Полезный глюк :)


2-1213628343
Viktor198
2008-06-16 18:59
2008.07.13
Как привязаь компонент ProgressBar


15-1211908979
PEAKTOP
2008-05-27 21:22
2008.07.13
Как отловить режим совместимости Windows ?


2-1213397053
Sun
2008-06-14 02:44
2008.07.13
ShowMessage поверх всех окон


2-1213120133
Riply
2008-06-10 21:48
2008.07.13
Warning, которого быть не должно.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский