Форум: "Начинающим";
Текущий архив: 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", а вовсе не на содержимое EditWinExec("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.47 MB
Время: 0.007 c