Открыть файл программой delphi

Диалог для открытия файла. Для добавления в программу стандартного диалога для открытия файла добавьте на форму компонент OpenDialog с вкладки Палитры компонентов.

Также добавьте на форму обычную кнопку. Именно при щелчке по ней и будут показываться наше диалоговое окно для открытия файла.

Для того чтобы при нажатии на кнопку диалоговое окно появилось, добавьте в ее обработчик, следующий код:

procedure TForm1.Button1Click(Sender: TObject);

Разумеется, для работы с файлом не достаточно только вызвать наше диалоговое окно. Необходимо еще извлечь из него имя выбранного файла. Вот как это делается (в приведенном примере содержимое выбранного пользователем текстового файла показывается в компоненте Memo1 типа TMemo , который надо разместить на форме).

if OpenDialog1.Execute then

Таким образом для извлечения файла мы используем свойство FileName нашего диалога. Обратите внимание, что с помощью if мы проверяем, выбрал ли пользователь вообще что-нибудь. Если пользователь ничего не выбрал, то OpenDialog1.Execute возвращает false , и последующий код не выполняется. Вот еще несколько полезных свойств для нашего диалога для открытия файлов.

Подключение справочного файла в делфи

Для открытия в диалоге заранее определенной папки используем свойство InitialDir :

procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.InitialDir:=’D:’;
if OpenDialog1.Execute then
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;

Для создания фильтров используем свойство Filter . При использовании фильтров пользователю будут показываться не все файлы, а только определенные фильтром. Фильтр можно задавать как в редакторе фильтров, так и в тексте программы на этапе выполнения. Для задания фильтра в редакторе фильтров нажмите на кнопку с многоточием свойства Filter .

Затем просто заполните левый и правый столбцы. Левый определяет, что за надпись увидит пользователь, а правый — что за файлы будут показываться.

Читайте также:
На каком уровне модели osi работает прикладная программа

Обратите внимание, что мы можем для одного описания задать несколько масок, разделяя их точкой с запятой.

Свойство FilterIndex диалогового окна определяет номер активного фильтра (т. е. того, который будет выбран при вызове диалога). Нумерация при этом начинается с единицы.

А вот так можно задать несколько фильтров в тексте программы:

Источник: bdrc.ru

Открыть файл из Delphi

Длброго времени суток. У меня такой вопрос: есть программка которая позваляет запускать программы, например открывается видео. Вопрос в том, возможно ли открыть файл с параметрами, типа — Открыть с помощью?

Пример реализации: нужно запустить два видео файла с разными плеерами.

vital

Нихрена не понял.

Добавлено: а, короче
uses
shellapi;
======
ShellExecute(0, ‘open’, ‘путькекзе’, ‘параметры’, nil, SW_SHOWNORMAL);

урок на Делфи — 39. Открыть чужую программу


Пс.
или меняйте занятие, или учитесь задавать вопросы..

DenProx

Да, извините, действительно сейчас прочитал, сам не понял что)))) утомленность сказывается.

думаю на примере будет понятней:
вот два способа которыми я пытаюсь открыть файл:
1.

procedure TfmOpen.btnOpenClick(Sender: TObject); var str: string; i: integer; begin str:=FileListBox.FileName; ShellExecute(0,’open’,PChar(str),»,»,SW_SHOW); fmProgress.ShowModal; Close; end;

этот просто открывате файл, программой которая стоит по умолчанию в Винде. Например открываем видео файл, он открывается Media Player Classic.

procedure TfmOpen.Button1Click(Sender: TObject); // если Unicode var cmdLine, fName: WideStringstring; si: TStartupInfo; pi: TProcessInformation; begin cmdLine := ‘»C:Program FilesLight AlloyLA.exe» /Play ‘; fName := ‘»‘+ FileListBox.FileName +'»‘; // WinExec(PChar(cmdLine + fName), SW_SHOW); // только для string FillChar(si, SizeOf(si), #0); with si do begin cb := SizeOf(si); dwFlags := STARTF_USESHOWWINDOW; wShowWindow := SW_SHOW; end; if CreateProcessWCreateProcessA( nil, // lpApplicationName, pWideCharpChar(cmdLine + fName), // lpCommandLine, nil, // lpProcessAttributes, nil, // lpThreadAttributes, True, // bInheritHandles, 0, // dwCreationFlags nil, // lpEnvironment, nil, // lpCurrentDirectory, si, // lpStartupInfo, pi) then begin // lpProcessInformation WaitForSingleObject(pi.hProcess, INFINITE); CloseHandle(pi.hProcess); end; end;

Читайте также:
Программа инталев что такое

этот способ открывает с помощью нужной программы, которую укажем. но он не может открыть файл по ярлыку.

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

на данный момент, если открыть ярлык, от тогоже видео, то программа в итоге пытается открыть ярлык, как отдельный файл, естественно выходит ошибка.

Источник: codeby.net

Иллюстрированный самоучитель по Delphi 7 для начинающих

Программа может вводить исходные данные не только с клавиатуры, но и из текстового файла. Для того чтобы воспользоваться этой возможностью, нужно объявить файловую переменную типа TextFiie, назначить ей при помощи инструкции AssignFile имя файла, из которого будут считываться данные, открыть файл для чтения (ввода) и прочитать (ввести) данные, используя инструкцию read или readln.

Открытие файла

Открытие файла для ввода (чтения) выполняется вызовом процедуры Reset, имеющей один параметр – файловую переменную. Перед вызовом процедуры Reset с помощью функции AssignFile файловая переменная должна быть связана с конкретным файлом.

Например, следующие инструкции открывают файл для ввода:

AssignFile(f, ‘c:data.txt’); Reset(f);

Если имя файла указано неверно, например файла с указанным именем на диске нет, то возникает ошибка времени выполнения программы. Следует отметить, что другой причиной возникновения ошибки при открытии файла, находящегося на гибком диске, может быть отсутствие готовности дисковода, проще говоря, отсутствие диска в накопителе.

Поэтому в программе следует предусмотреть возможность повторной попытки открытия файла после подтверждения повторения операции.

Как и при открытии файла для записи, программа может взять на себя задачу обработки возможной ошибки при открытии файла, проверяя значение функции IOResult.

Фрагмент программы, текст которого приведен в листинге 7.4, использует значение функции lOResult для проверки результата открытия файла. Если попытка открыть файл вызывает ошибку, то программа выводит диалоговое окно с сообщением об ошибке и запросом на подтверждение повторного открытия файла.

Читайте также:
Не удалось запустить программу или компонент из-за несовместимости с 64 разрядной

Листинг 7.4. Обработка ошибки открытия файла (фрагмент программы).

var fname: string[80]; // имя файла f: TextFile; // файл res: integer; // код ошибки открытия файла (значение lOResult) answ: word; // ответ пользователя begin fname: = ‘a:test.txt’; AssignFile (f, fname); repeat Reset(f); // открыть файл для чтения res: = IOResult; if res <> 0 then answ: = MessageDlg(‘Ошибка открытия ‘ + fname+#13 +’Повторить попытку?’,mtWarning, [mbYes, mbNo],0); until (res= 0) OR (answ = mrNo); if res <>0 then exit; // завершение процедуры // здесь инструкции, которые выполняются // в случае успешного открытия файла end;

Источник: samoychiteli.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru