Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как выполнить описанное в delphi7 ?

Коваленко Александр Профи (605), закрыт 10 лет назад
Написал небольшую программку для составления заявок. Суть такая программа берет MSWord'овский документ изменяет его как надо и сохраняет под другим именем. Проблема в том, как после сохранения открыть папку, где лежит только что сформированный файл и при этом чтобы файл выделился. Т. е. открывается папка и в ней выделен только что созданный программой файл?

пытался делать так (ну +проверка версии офиса, чтобы понять какое расширение добавить к полному имени) (imya - переменная TSrting, в которой находится полный путь к файлу начиная от имени диска)

if (StrToInt(Copy(WordApplication1.Version,1,pos('.',WordApplication1.Version)-1)))<12
then ShellExecute(0, 'open', 'explorer.exe', PChar('/select'+imya+'.doc'), nil, SW_SHOWNORMAL)
else ShellExecute(0, 'open', 'explorer.exe', PChar('/select'+imya+'.docx'), nil, SW_SHOWNORMAL);

при таком раскладе дельфи к моему пути добавляет '/select' и путь получается примерно таким /selectC:\Заявки, соответсвенно такой папки нет и ничего не получается открыть. Если делать строку как

ShellExecute(0, 'open', 'explorer.exe', '/select'+imya+'.docx', nil, SW_SHOWNORMAL)
или так
ShellExecute(0, 'open', 'explorer.exe', '/select'+PChar(imya+'.docx'), nil, SW_SHOWNORMAL)

дельфи жалуется на несовпадение типов String и PAnsiChar.
Может я конечно полез не в ту функцию, но просто другого я что-то не нашел, что могло бы мне помочь
Лучший ответ
x Мыслитель (5214) 10 лет назад
ShellExecute( 0, 'open', 'explorer.exe', Pchar('/select, "'+Path+'" '), '', SW_NORMAL ); // Path - путь к файлу или папке
Остальные ответы
Карлсон Оракул (65593) 10 лет назад
Сложение строк работает только для типов string
'/select'+imya+'.docx'
Необходимо результат привести в Си-типу строк т. е. к PChar('/select'+imya+'.docx')
Похожие вопросы