Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];

Вниз

Как открыть с помощью 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.041 c
4-1132864804
Максим
2005-11-24 23:40
2006.02.12
Сканирование папки


15-1138209382
Хинт
2006-01-25 20:16
2006.02.12
Почему бы и нет?


15-1137795529
Ермак
2006-01-21 01:18
2006.02.12
А.С. Панарин "Интеллигенция и стратегия развития России"


2-1137957807
Сайбель Алексей
2006-01-22 22:23
2006.02.12
RichEdit style fsBold


15-1137764826
DillerXX
2006-01-20 16:47
2006.02.12
Вам не кажется что день становится длиннее?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский