Форум: "WinAPI";
Текущий архив: 2002.12.16;
Скачать: [xml.tar.bz2];
ВнизВопрос № 1 Найти похожие ветки
← →
GOD (2002-11-05 02:19) [0]Прога не хочет записывать в файл данные,выдаёт Обшибку :
unit Antiv01;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ActnList ;
type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
procedure ScanDir(StartDir: string; Mask:string; List:TStrings);
var SearchRec : TSearchRec;
f: textfile;
X: string;
begin
AssignFile(f,"q.q");
Rewrite(f);
if Mask = "" then Mask := "*.*";
if StartDir[Length(StartDir)] <> "\"
then StartDir := StartDir + "\";
if FindFirst(StartDir+Mask, faAnyFile, SearchRec) = 0
then
begin
repeat
Application.ProcessMessages;
if (SearchRec.Attr and faDirectory) <> faDirectory
then
begin
List.Add(StartDir + SearchRec.Name );
X := SearchRec.Name;
Writeln(f,x)
end
else if (SearchRec.Name <> "..") and (SearchRec.Name <> ".") then
begin
List.Add(StartDir + SearchRec.Name + "\");
ScanDir(StartDir + SearchRec.Name+ "\",Mask,List );
end;
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;
CloseFile(f);
end;
begin
ListBox1.Items.Clear;
ScanDir("e:","",ListBox1.Items);
Label1.Caption := IntToStr(ListBox1.Items.Count);
end;
end.
← →
Slym (2002-11-05 05:49) [1]Процедура рекурсивная... Ты файл на запись пытаешъся N раз на открыть :) и пинка получаешъ :)
Вытащи файл в глобальную переменную и открывай его не в процедуре, а где-нибудь после...
ListBox1.Items.Clear;
и там же после всех операций закрывай.
Удачи
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.12.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c