Главная страница
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.051 c
1-1136987305
Samum
2006-01-11 16:48
2006.02.12
Не работает Debug.


8-1125394696
rentgen
2005-08-30 13:38
2006.02.12
Можно ли как-то "склеить" "массив" из TBitmap в AVI ???


15-1138201356
Pazitron_Brain
2006-01-25 18:02
2006.02.12
Одолжите домен


8-1125641317
palgen
2005-09-02 10:08
2006.02.12
Как поменять разрешение ?


15-1137868283
Firefly
2006-01-21 21:31
2006.02.12
Архив *.tar