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

Вниз

Открыть файл Word   Найти похожие ветки 

 
Кашперук Иван   (2006-03-18 04:48) [0]

Как произвести открытие файла - знаю путь к нему - через ShellExecute?

Разрешение - .doc

Пишу

uses ShellApi;

ShellExecute(Application.Handle, "open", PAnsiChar(filePath + "file.doc"), "", "", SW_SHOWNORMAL);


Не ругается никак, но и Ворд не открывает.

Как отрыть файл указанный в Ворде?
Спасибо


 
Чародей ©   (2006-03-18 14:38) [1]

ShellExecute(Application.Handle, "open", PAnsiChar("C:\1\file.doc"), "", "", SW_SHOWNORMAL);
Работает. Может в filePath слеш забыл?


 
Кашперук Иван   (2006-03-18 17:01) [2]

Нет, \ не забыл.

Решил только что наконец эту проблему, после того, как прочитал ваше сообщение - хоть убедился, что я еще не туплю. :)

Оказывается, все дело было в (8 + 3) пути к файлу - он какой-то очень странный, как по мне, видимо из-за русских символов.

Настоящий путь к файлу:
E:\Учеба\Защита информации\Расчетка\Answer3.doc

Тот, который выдает GetShortPathName() {кстати, несколько разных модификаций перепробовал - одной и той же функции полностью, пока наконец она начала выдавать непустую строку}

E:\A669~1\37C5~1\8A03~1\Answer3.doc

Просто уничтожило мое понимание перевода длинного пути в короткий :))


 
TStas ©   (2006-03-18 20:48) [3]

Можно же через СОМ открыть ворд , а в нем открыть файл, раз путь известен


 
YurikGL ©   (2006-03-18 21:28) [4]

>ShellExecute(Application.Handle, "open", PAnsiChar("C:\1\file.doc"), "", "", SW_SHOWNORMAL);

попробуй
ShellExecute(Application.Handle, "open", PAnsiChar(""C:\1\file.doc""), "", "", SW_SHOWNORMAL);

т.е. весь путь заключи в двойные кавычки....


 
TStas ©   (2006-03-19 17:21) [5]

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


 
YurikGL ©   (2006-03-19 17:29) [6]


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

Да нет.... просто в винде, когда в пути к файлу содержатся пробелы, его (путь) надо передвать в кавычках...

Возможно, кроме пробелов, там есть еще какие-нибудь символы, требующие кавычки, но я уже этого не помню...


 
Andrey.Ru   (2006-03-19 18:12) [7]

ShellExecute(Application.Handle, "open", PAnsiChar(""C:\1\file.doc""), nil, nil, SW_SHOWNORMAL);


 
Andrey.Ru   (2006-03-19 18:15) [8]

сорри здесь ненадо двойных ковычек

ShellExecute(Application.Handle, "open", PAnsiChar(You_path + "file.doc"), nil, nil, SW_NORMAL);

Если не получается проверь свой путь сделай бональный ШоуМессадж
ShowMessage(You_path + "file.doc");
Проверь наличие всех слешей...



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

Форум: "Основная";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.022 c
4-1138860238
Сергей Ю.
2006-02-02 09:03
2006.04.23
Отлов подключения флешки и залива туда инфы


15-1143791714
Новичоккк
2006-03-31 11:55
2006.04.23
Вопрос по DLL в Delphi


3-1141283539
tolians
2006-03-02 10:12
2006.04.23
Проблема с дробными числами в Delphi <-> Access


3-1141279957
Рафик
2006-03-02 09:12
2006.04.23
Сортировка


2-1144303276
MiHoY
2006-04-06 10:01
2006.04.23
TServerSocket





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский