TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

53: How can one hide (or unhide) a directory using a TP program?

 A: Here is the code 
using interrupt programming. Incidentally,
since MS-DOS 5.0 the attrib command can be used to hide and 
unhide
directories.
(* Hide a directory. Before using it would be prudent to check
   that the directory exists, and that it is a directory.
   With a contribution from Jan Nielsen jak@hdc.hha.dk
   Based on information from Duncan (1986), p. 410 *)
procedure HIDE (dirname : string);
var regs : registers;
begin
  FillChar (regs, SizeOf(regs), 0);  { standard precaution }
  dirname := dirname + #0;           { requires ASCII strings }
  regs.ah := $43;                    { function }
  regs.al := $01;                    { subfunction }
  regs.ds := Seg(dirname[1]);        { point to the name }
  regs.dx := Ofs(dirname[1]);
  regs.cx := 2; { set bit 1 on }     { to unhide set regs.cx := 0 }
  Intr ($21, regs);                  { call the interrupt }
  if regs.Flags and FCarry <> 0 then { were we successful }
    writeln ('Failed to hide');
end;  (* hide *)
 A2: An alternative 
method by Dr. Abimbola Olowofoyeku
laa12@seq1.keele.ac.uk. No paths.
  procedure HIDE (dirname : string);
  var FileInfo : searchRec;
      f        : file;
  begin
    FindFirst (dirname, Directory, FileInfo);
    while DosError = 0 do
      begin
        assign (f, FileInfo.Name);
        SetFAttr (f, Hidden);
        FindNext (FileInfo);
      end;
  end;  (* hide *)
  {}
  procedure UNHIDE (dirname : string);
  var FileInfo : searchRec;
      f        : file;
  begin
    FindFirst (dirname, AnyFile, FileInfo);
    while DosError = 0 do
      begin
        assign (f, FileInfo.Name);
        SetFAttr (f, Archive);
        FindNext (FileInfo);
      end;
  end;  (* unhide *)
 

 Contents

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz