Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ну КАк ВАМ СКАЗАТЬ!!!


GOD ©   (2002-11-02 02:21:00) 

Этот вопрос адрессован к Мастакам или к людям, которые пытаются понять нас ламеров!!!
Ну к делу
Я пытаюсь написать поисковник, но как всегда проблемы
Ниже листинг и там прога не хочет выводить имена папок
HELP!!!
Да она может тяжело воспринимается т.к. написана на скорую руку!!!!
unit Antiv01;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;

procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}






procedure TForm1.Button1Click(Sender: TObject);
procedure dirsc;
var
name,Path,dir: string;
sr: TSearchRec;
i,Size:integer;
begin
if FindFirst(Path,$10, sr) = 0 then
begin
repeat
name:=sr.Name;
Size:=sr.size;
Canvas.TextOut(5,i,Path +" "+ name + " Size:" + IntToStr(size));
i:=i+20 ;
until FindNext(sr) <> 0;
FindClose(sr);
end;
end;
procedure filesc;
var
name,Path,dir: string;
sr: TSearchRec;
i,Size:integer;
f: Textfile;
begin
AssignFile(f,"q.q");
ReWrite(f);
i:=10 ;
dir:="" ;
Path:="C:\"+dir+"*.*";
if FindFirst(Path,$2f, sr) = 0 then
begin
repeat
name:=sr.Name;
Size:=sr.size;
Canvas.TextOut(5,i,Path +" "+ name + " Size:" + IntToStr(size));
i:=i+20 ;
Writeln(f,name," Size: ",size);
until FindNext(sr) <> 0;
FindClose(sr);
end;
CloseFile(f);
end;
begin

dirsc;
end;

end.


sask   (2002-11-02 09:23:00) [1]

а Size всегда будет 0. Для директорий надо ручками размер считать... :))


sask   (2002-11-02 09:21:00) [2]

Может стоит попробовать проинициализировать значения переменных "Path" и "i" в в процедуре "dirsc":

procedure dirsc;
var
name,Path,dir: string;
sr: TSearchRec;
i,Size:integer;
begin
i:=10 ;
Path:="C:\";
if FindFirst(Path + "*.*", $10, sr) = 0 then


Наверх

Титульная страница Поиск, карта сайта Написать письмо