Вниз
Скачать: CL | DM;

Как открыть с помощью FileOpen?   Найти похожие ветки 

 
Erudit   (2006-01-27 20:59) [0]

Добрый вечер!

Помогите пожалуйста с домашкой.

Изучаем функцию FileOpen.

Пишу так:

if FileExists("C:\new.txt")then
sysutils.FileOpen("C:\new.txt",fmOpenRead)else
showmessage("файла нет");

Но ничего не происходит, в чем ошибка?


 
nort   (2006-01-27 21:03) [1]

> Но ничего не происходит

var
 hfile: THandle;
hfile := sysutils.FileOpen(... // получаем хэндл окрытого файла
// потом читаем

А что должно, по-вашему, произойти?


 
mozgan   (2006-01-27 21:07) [2]

Я так понимаю, что должен запуститься файл (в блокноте открыться).

Я сейчас исправил на...

procedure TForm1.Button1Click(Sender: TObject);
var
hfile: THandle;
begin
 if FileExists("C:\new.txt")then
 hfile :=sysutils.FileOpen("C:\new.txt",fmOpenRead)else
 showmessage("файла нет");
end;

Что-то опять ничего нет...


 
Erudit   (2006-01-27 21:09) [3]

А я если четно не свосем врубился.

У меня тоже не получилось.
Можно по подробнее?


 
guitarist   (2006-01-27 21:10) [4]

Я когда только знакомился с программированием, считал, что Open  открывает файл как Windows, т.е. картинка открывается как картинка  итп.
Если автор тоже так читает, то на самом деле FileOpen открывает файл для записи, чтения, ты с ним можешь работать, как с куском памяти (условно говоря). Если автор так не считал, то извиняюсь, но я знаю -- это частая проблема среди моих друзей.


 
Erudit   (2006-01-27 21:15) [5]

Я вооще-то именно таки считаю :(((

Но я не могу понять, как именно можно открыть файл.
Если что у меня спиок файло в формате txt, но как открыть - не доходит :((
Стыдно аж на форуме торчать, но желание понять - огромное!


 
guitarist   (2006-01-27 21:22) [6]

Попробуй (не забудь uses ShellApi)

ShellExecute(Application.Handle, "open", "cmd.exe",Pchar("/c C:/example.txt"), nil, SW_Hide);

Не лучший вариант, но другой вспоминать лень :)


 
Erudit   (2006-01-27 21:27) [7]

Не лучший вариант, но другой вспоминать лень :)

Глупый вопрос, наверное задал?


 
nort   (2006-01-27 21:41) [8]

если в Блокноте Windows, то вот:

uses
   ShellApi;

procedure OpenTxt(FileList: TStrings);
var
 i: Integer;
begin
  for i := 0 to FileList.Count -1 do
      ShellExecute(0,"open",PChar(FileList.Strings[i]),nil,nil,SW_NORMAL);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 with OpenDialog1 do
 begin
    Filter := "Text files (*.txt)|*.txt";
    if Execute then
       OpenTxt(Files);
 end;
end;


 
nort   (2006-01-27 22:05) [9]

Прочитать файл в Memo1

procedure TForm1.Button1Click(Sender: TObject);
var
 hfile: tHandle;
 Buffer: PChar;
 FileSize: Integer;
begin
 with OpenDialog1 do
 begin
   Filter := "Text files (*.txt)|*.txt";
   if not execute then exit;

   hfile := FileOpen(FileName,fmOpenRead);
   if hFile = 0 then exit;
   FileSize := GetFileSize(hfile,nil);
   GetMem(Buffer,FileSize);
   FileRead(hfile,Buffer^,FileSize);
   Memo1.Text := Buffer;
   FreeMem(Buffer);
   FileClose(hfile);
 end;
end;



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.031 c
2-1138119940
555
2006-01-24 19:25
2006.02.12
Помогите Word к delhi прикрутить


1-1136730616
Glex
2006-01-08 17:30
2006.02.12
Форма с прозрачностями в CLX?


1-1136819117
em
2006-01-09 18:05
2006.02.12
является ли listview потокозащищенным


11-1118251854
Boguslaw Brandys
2005-06-08 21:30
2006.02.12
Where is KOLIB ?


15-1137435668
Kerk
2006-01-16 21:21
2006.02.12
Проблемы с логином в асе




   Наверх