Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.12;
Скачать: 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 вся ветка

Текущий архив: 2006.02.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.098 c
15-1138025797
stud
2006-01-23 17:16
2006.02.12
удаление нортон антивирус


1-1136895827
-matrix-
2006-01-10 15:23
2006.02.12
Проблема с выводом графика


15-1137855554
Andy BitOff
2006-01-21 17:59
2006.02.12
Очень сильная и красивая фильма


2-1138094394
V0va
2006-01-24 12:19
2006.02.12
удаление строк из списка


1-1136634959
Zoidberg
2006-01-07 14:55
2006.02.12
Как изменить позицию элемена в TListView