Студентам - о программировании. Про чтение постановки
 
 
 
   

Студентам

Примеры задаваемых студентами вопросов. С комментариями.

 
 

Про чтение постановки

26.03.2010
14:02

Иногда я люблю почитать рассылку "RusFAQ.ru: Программирование на Delphi". Ну, чисто чтобы похихикать, можно даже посмотреть примеры в этом же разделе. Но в данном случае хочется привести пример того, как люди абсолютно не желают понимать, что от них требуется, но все равно рвутся в бой с фанатизмом последователей секты Глобальной Термоядерной Войны. Итак, читаем:

Здравствуйте, уважаемые эксперты.
Вопрос такой: как из Delphi открыть указанный файл закрепленным по умолчанию в системе приложением для документов Microsoft Word?

Спасибо за ответы

Вроде бы понятный вопрос, нормально сформулированный, понимается вполне однозначно. Так?
Нет, не так! Смотрим ответы.

Отвечает: Ranmasao
Здравствуйте, Alexander L.!
есть несколько способов: например можно через ShellExecute вызвать Word с именем файла в качестве параметра, а можно через OLE запустить Word и через OLE открыть в нем файл. Причем с OLE есть два способа: можно задействовать интерфейс через переменную типа OLEVariant, а можно использовать OLE-компонент, входящий в стандартную поставку Delphi (находится кажется на палитре "OLE servers").

Отвечает: Drbear
Здравствуйте, Alexander L.!

Попробуйте использовать ShellExecute.
Пример кода в приложении, на форме кнопка и OpenDialog.

Приложение:

uses ..., ShellAPI;
...
procedure TForm1.Button1Click(Sender: TObject);
var
  ach: PAnsiChar;
begin
  if OpenDialog1.Execute then
  begin
    ach := PAnsiChar(OpenDialog1.FileName);
    ShellExecute(handle, nil, ach, nil, nil, SW_MAXIMIZE);
  end;
end;

Хоть один адекватный...

Отвечает: Дегтярев Антон Александрович
Здравствуйте, Alexander L.!
В uses допишите ComObj

var
MsWord : Variant;
begin
MsWord := CreateOleObject('Word.Application');
MsWord. Documents.Open('путь до файла');
end;

Если вы будете работать через OleObject любую операцию можно посмотреть через макросы.

Вот так вот. Как мы видим, большинство считает необходимым не помочь спрашивающему, а задвинуть что-то на тему, которую они придумали за спрашивающего сами. Не надо так делать.

Для тех, кто не понял.

Фраза "открыть указанный файл закрепленным по умолчанию в системе приложением для документов Microsoft Word" ни разу не означает, что надо запустить Ворд. Она обозначает, что надо открыть файл программой, которую указал у себя в системе пользователь. Это может быть OpenOffice, MS Write :), у некоторых извращенцев - ACDSee. Так что - на хуй ворд. ShellExecute(0, nil, PChar(УказанныйФайл), nil, nil, SW_SHOWNORMAL) - и всё.

Комментарии

Оставить коммент

Представьтесь
Введите три ци886
Комментарий:
 
Карта сайта
Новое
Бесплатные утилиты
FDate
01.09.2010 12:12
Раскладываем файлы

Бытовуха
Кошмар на улице Авиаторов
30.08.2010 20:24
 
Бытовуха
Не туда попали
30.08.2010 20:19
 
Бытовуха
С особым удовольствием
06.08.2010 07:25
 
Бытовуха
Мама папу пырнула
06.08.2010 07:25
 
Бытовуха
«Брата зарезал!»
06.08.2010 07:23
 
Бытовуха
«Мы ментуру не вызывали!»
06.08.2010 07:22
 
Поиск по сайту
Март 2010
01.08.2010 12:35
Занятные поисковые запросы, приведшие в марте 2010 на наш сайт

Братва
Глава 8
01.08.2010 11:35
 
Братва
Глава 7
01.08.2010 11:33
 
Счетчики
Картинки

Гей-парад

Зайчег

Отличный конкурс
Все картинки »