home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!psinntp!cmcl2!adm!news
- From: lee@cpu.us.dynix.com (Lee Crites)
- Newsgroups: comp.lang.pascal
- Subject: Re: Changing from hidden to UNHIDDEN
- Message-ID: <34979@adm.brl.mil>
- Date: 12 Jan 93 17:38:44 GMT
- Sender: news@adm.brl.mil
- Lines: 49
-
- On 11 Jan 1993, Craig_J_Stadler wrote:
- > How does one go about changing a file attribute
- > from hidden to unhidden using SetFAttr ?
-
- Try these two procedures on for size:
-
- GetFAttr(FName:String;Var RdOnly,Hid,Sys,Arch:Boolean);
- Var R:Registers;
- Begin
- FillChar(R,SizeOf(R),0);
- FName := FName+#0; { set up as a null-terminated string for DOS }
- With R Do Begin
- AH := $43;
- DS := Seg(FName); DX := Ofs(FName)+1; { skip pascal length byte }
- MsDos(R);
- RdOnly := (CL And $01) > 0;
- Hid := (CL And $02) > 0;
- Sys := (CL And $04) > 0;
- Arch := (CL And $20) > 0;
- End; { with }
- End; { GetFAttr }
-
- PutFAttr(FName:String;RdOnly,Hid,Sys,Arch:Boolean);
- Var R:Registers;
- Begin
- FillChar(R,SizeOf(R),0);
- FName := FName+#0; { set up as a null-terminated string for DOS }
- With R Do Begin
- AH := $43; AL := 1;
- DS := Seg(FName); DX := Ofs(FName)+1; { skip pascal length byte }
- If RdOnly Then CL := CL Or $01;
- If Hid Then CL := CL Or $02;
- If Sys Then CL := CL Or $04;
- If Arch Then CL := CL Or $20;
- MsDos(R);
- End; { with }
- End; { PutFAttr }
-
- The file FName does NOT have to be opened for this to work. In fact, it
- would probably be better if it were not.
-
- Hope this helps.
-
- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- lee@us.dynix.com | If it ain't broke yet,
- | let me have a shot at it....
- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-
-