Форум: "Основная";
Текущий архив: 2003.05.15;
Скачать: [xml.tar.bz2];
ВнизРабота с файлами. Простой пример. Найти похожие ветки
← →
Inan61 (2003-04-27 18:26) [0]Хочу решить такую проблему. Проверяю наличие на диске файла. Если он есть, то открываю. Если его нет - надо создать и сразу открыть, но не получается:
procedure TForm1.Button1Click(Sender: TObject);
var F:file;
begin
if not FileExists("C:\A.txt") then
begin
AssignFile(F,"C:\A.txt");
FileCreate("C:\A.txt");
ShellExecute(Handle,nil, Pchar("C:\A.txt"),
nil,nil,SW_RESTORE);
end
else
ShellExecute(Handle,nil, Pchar("C:\A.txt"),
nil,nil,SW_RESTORE);
end;
← →
Anatoly Podgoretsky (2003-04-27 20:26) [1]Что не получается, это как то выражается?
← →
Palladin (2003-04-27 21:20) [2]хм, логика странная ничего не скажешь
во первых, для чего же F и AssignFile
во вторых ShellExecute достаточно 1 раз
procedure TForm1.Button1Click(Sender:TObject);
begin
if not FileExists("C:\A.txt") then
if FileCreate("C:\A.txt")=-1 then
begin
Application.MessageBox("Create file failed","Error");
exit;
end;
ShellExecute(Handle,nil,"C:\A.txt",nil,nil,SW_ShowNormal);
end;
← →
Palladin (2003-04-27 21:25) [3]при {$B-} можно в одну строчку записать
if (not FileExists("C:\A.txt")) and (FileCreate("C:\A.txt")=-1) then
← →
Ivan61 (2003-04-29 20:30) [4]Необходимо, чтобы файл A.txt открывался если он есть на диске. Если же его нет он должен создаваться и сразу же открываться. В примере
> Palladin © (27.04.03 21:20)
если файла нет, то он создается, но не открывается. Когда закроешь программу и снова откроешь - тогда открывается, а надо сразу!
← →
PGM (2003-04-30 00:02) [5]А чем плох старый добрый Паскаль для создания
AssignFile(F,"C:\A.txt");
Rewrite(F);
CloseFile(F);
А если еще в него пробел положить? Может поможет.
На самом деле у меня в свое время что-то подобное правда с INI файлами и исключительно под Win9х было. Под NT-like все как часы работало.
← →
STANT (2003-04-30 00:08) [6]А можно так:
procedure TForm1.Button1Click(Sender: TObject);
var F:file;
begin
if not FileExists("C:\A.txt") then FileClose(FileCreate("C:\A.txt"))
ShellExecute(Handle,nil, Pchar("C:\A.txt"), nil, nil, SW_RESTORE);
end;
← →
PGM (2003-04-30 00:14) [7]STANT> FileClose
Good. Это самое оно. Я и не заметил, что это в коде Palladin пропущено.
← →
Anatoly Podgoretsky (2003-04-30 00:39) [8]Файл после создания открыт, занят!
Закрой до ShellExecute, примеры тебе привели.
← →
mukha (2003-04-30 22:18) [9]procedure TForm1.Button1Click(Sender: TObject);
var F:File;
H:integer;
begin
if not FileExists("C:\A.txt") then
begin
H:=FileCreate("C:\A.txt");
if H=-1 then
begin
ShowMessage("Error");
exit;
end
else
begin
FileClose(H);
end;
end;
ShellExecute(Handle,nil,"C:\A.txt",nil,nil,SW_ShowNormal);
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.05.15;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c