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

Вниз

Открыть файл 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;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.012 c
2-1144655319
Der Nechk@ssoff
2006-04-10 11:48
2006.04.23
Перенос файлов


2-1144234255
Id
2006-04-05 14:50
2006.04.23
DBComboBox1.Style:=csDropDownList


2-1144264669
skovorodka
2006-04-05 23:17
2006.04.23
Помогите, плиз, с запросом...


4-1138979686
scall
2006-02-03 18:14
2006.04.23
Как узнак к какой группе относится пользователь...


15-1144085775
xayam
2006-04-03 21:36
2006.04.23
Cortona SDK 4.1





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