如何在Delphi中更改文件夹属性-隐藏、只读、系统

lax 2002-11-14 02:16:33
搜索了半天,Delphi里没有讲这个的。

其实可以调用Scripting.FileSystemObject
如下:
var
fso,f : Variant;
begin
fso := CreateOleObject('Scripting.FileSystemObject');
f := fso.GetFolder('C:\ABC');
f.Attributes := 2; // 2 为隐藏, 1 为只读
f.Attributes := f.Attributes + 4; // 4 为系统
// 可以直接赋 6
f := Unassigned;
fso := Unassigned;
end;

另外需要引用 ComObj
...全文
168 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
Delphi版的学校学生信息管理系统,使用SQL Server 2000数据库,在配置数据库时,步骤如下:       1.将数据库复制硬盘上   确保您的机器上安装了SQL Server2000或以上的版本,将本示例的数据库文件连同文件夹“college”一起拷贝到硬盘上(例如拷贝到C:\),并去掉文件的只读属性。   2.在SQL Server添加本案例数据库   依次选择“开始”→“程序”→“SQL Server”→“Microsoft SQLServer”→“查询分析器”,启动SQL Server查询分析器,在查询命令窗口输入数据库附加代码,例如:           ====================================================        sp_Attach_db @dbName = N‘college‘,         @FileName1 = N‘C:\college\college_Data.MDF‘,         @FileName2 = N‘C:\college\college_Log.LDF‘    ====================================================      注意:@FileName1 = N‘C:\college\college_Data.MDF‘用于指定数据库文件夹路径,当路径发生变化时,也要相应调整上述代码。   3.配置ODBC数据源   案例的数据库文件,有“ODBC注册文件.reg”时,首先编辑该文件,根据当前Windows 2000的安装的路径,修改注册文件的盘符,案例默认Windows2000安装在C:\WINNT下,然后双击该文件向注册表内添加ODBC设置,详细的设   置参数请参考控制面板“ODBC数据源”的设置。
第1章 窗体与界面设计 1 1.1 菜单应用 2 实例001 在系统菜单添加菜单项 2 实例002 带历史信息的菜单 3 实例003 菜单动态合并 4 实例004 像“开始”菜单一样漂亮的菜单 5 实例005 多彩的菜单 6 实例006 可以拉伸的菜单界面 8 1.2 工具栏设计 9 实例007 带背景的工具栏 9 实例008 浮动工具栏 10 1.3 状态栏设计 11 实例009 在状态栏显示检查框 11 实例010 带进度条的状态栏 12 实例011 状态栏加入图标 13 1.4 导航菜单界面 14 实例012 OutLook界面 14 实例013 带导航菜单的主界面 15 实例014 图形化的导航界面 16 1.5 特色程序界面 18 实例015 类QQ的程序界面 18 实例016 类似Windows XP的程序界面 20 实例017 以图形按钮显示的界面 21 实例018 以树型显示的程序界面 23 实例019 以XPManifest组件显示界面 24 实例020 动态按钮的窗体界面 25 1.6 特殊形状的窗体 26 实例021 非矩形窗体 26 实例022 建立字体形状窗体 28 1.7 多媒体光盘 29 实例023 自动启动的多媒体光盘程序 29 实例024 为触摸屏程序添加虚拟键盘 30 实例025 触摸屏系统 31 1.8 窗体效果 33 实例026 半透明渐显窗体 33 实例027 窗口颜色的渐变 34 实例028 带背景的窗体 35 实例029 为窗体增加边框 36 1.9 窗体动画 37 实例030 窗体的滚动字幕 37 实例031 动画显示窗体 38 实例032 制作闪烁的窗体 39 实例033 直接在窗体上绘图 40 实例034 动画形式的程序界面 41 实例035 以时钟显示界面窗体 42 1.10 标题栏窗体 44 实例036 标题栏上的按钮 45 实例037 使窗体标题栏文字右对齐 47 实例038 没有标题栏但可以改变大小的窗口 48 1.11 设置窗体位置 49 实例039 不可移动的窗体 49 实例040 设置窗体在屏幕的位置 50 实例041 始终在最上面的窗体 51 1.12 设置窗体大小 52 实例042 限制窗体大小 52 实例043 获取桌面大小 53 实例044 组件大小随窗体的改变而改变 53 实例045 在窗口间移动按钮 54 实例046 如何实现Office助手 55 1.13 窗体控制技术 56 实例047 在关闭窗口前加入确认对话框 56 实例048 程序在循环响应界面操作 57 实例049 使用任意组件拖动窗体 58 实例050 动态创建窗体和释放窗体 59 实例051 修改提示字体及颜色 60 1.14 其他技术 61 实例052 窗口融合技术 61 实例053 给MDI窗体加背景 62 实例054 如何关闭MDI类型窗体的子窗体 63 实例055 向提示框添加图标 64 第2章 控件应用 67 2.1 TEdit控件应用典型实例 68 实例056 从右至左输入数据 68 实例057 为TEdit控件添加列表选择框 69 实例058 只允许输入数字的TEdit组件 70 2.2 TSpeedButton控件应用典型实例 71 实例059 在TSpeedButton按钮显示图标 71 实例060 折行显示按钮标题 72 2.3 TMemo控件应用典型实例 73 实例061 设置TMemo组件的边界 73 实例062 TMemo组件的光标定位 74 实例063 得到TMemo的可见行数 75 2.4 TListBox控件应用典型实例 76 实例064 在TListBox组件间交换数据 76 实例065 为TListBox添加水平滚动条 77 实例066 将数据库数据添加到组合框 78 实例067 借助绑定控件实现数据选择录入 79 2.5 TListView控件应用典型实例 80 实例068 TListView列表拒绝添加重复信息 80 实例069 将数据库数据添加到TListView控件 82 实例070 用TListView控件制作导航界面 83 实例071 在TListView控件对数据排序或统计 84 实例072 在TListView组件绘制底纹 86 实例073 在列表视图拖动视图项 87 2.6 TTreeView控件应用典型实例 88 实例074 将数据库数据显示到树视图 88 实例075 用TTreeView控件制作导航界面 90 实例076 TTreeView组件遍历磁盘目录 91 实例077 TTreeView组件在数据库的应用 92 2.7 TStringGrid控件应用典型实例 94 实例078 程序运行时对
首先十分感谢你的使用. 同时也希望你能对这个功能包进行扩充...发布你的扩充后的版本. --------------------------------------------------------- ^^ 声明这个组件包只能在delphi7上正常安装. 如果您用的是delphi6.则会在安装时出错。 ------------------------------------------------- 作者:李金浩 QQ:67260745 E-mail:lijinjie2793311@163.com 功能包的大部分功能模块为本人自己所写。。部分收录我的网友的作品及网上比较精典的程序段。    Function HexBCDToint(sHexBCD:Byte):integer;    Function IntToBCD(Int:Byte):word;    Function MinuteToTime(Minute:Double):TdateTime;overload;//分钟到标准时间的转换    Function MinuteToTime(Minute:Double;var DayCount:integer):TdateTime;overload; //------------------------------------------------------------------------------    Function GetWeekOfChina(dDay:TdateTime):string;//得到星期    Function GetWeekOfNum(dDay:TdateTime):integer; //------------------------------------------------------------------------------    Function IsStrAsNumber(NumStr:string):Bool;//判断字符串是不是有效数字在字符串    Function IsStrInOtherStr(mainStr,FindStr:string):Bool;//检测在一个字符串是否包括另一个字符串    function IsCOMClassRegistered(GUID:TGUID):Boolean;//判断一个COM对像是否已注册    Function IsBDEInstalled:boolean;//查看BDE是否安装    function GetPYIndexChar( hzchar:string):char;//得到汉字的首字母    Function Squ(X,Y:integer):integer;overload;//计算x的Y次方    Function Squ(X:Double;Y:integer):Double;overload;//计算x的Y次方    Function RandomNumByGUID:String;  //--------------系统功能------------    Function AppRunOnce:Boolean;//让程序只能运行一个实例    procedure AutoRunByReg(FileName:string='');//让程序自动运行    procedure DelAutoRunByReg(KeyName:string='');//删除一个自启动项    procedure MoveWindow(handle:Thandle);overload;//托动无标题窗体    Function GetAppPath(AddLastName:string=''):string;//得到程序的当前目录    Procedure ReMoveWinTitle(Form:Tform);//移去窗体的Title;    procedure BeepEx(Freq:Word;MSecs:LongInt); //DoBeep调用    procedure ClickStartMenu;//通过代码击活开始菜单    procedure OpenScreenSave;//打开屏幕保护   // procedure DelTree(DirName:String);//删除目录    procedure DeleteDir(SourcePath: String); //删除指定文件夹(含子文件夹),文件夹及其夹内文件可以具有只读隐藏属性    procedure DelSelfApp;//程序在运行完后就删除自己    (*-----------------*)    procedure HideTaskBar(bHide:boolean=False);//显示或掩藏TaskBar    procedure DisplayOFFON(SW: boolean);//关闭和打开显示器    procedure HideDesktop(sw:Boolean=false);//显示和隐藏桌面    procedure HideDesktopAndTaskBar(sw:Boolean=false);//同时隐藏桌面和任务栏    procedure HideTrayNotify(sw:Boolean=false);//隐藏系统通知区域    procedure HideWinButton(sw:Boolean=false);//隐藏开始按钮    procedure HideQuickLaunchBar(sw:Boolean=false);//隐藏快速启动按钮栏   //  procedure HideAppInTastWin(sw:Boolean=False);//使程序在任务管理器隐藏    procedure DisbleQuikKey(sw:boolean=false);//屏蔽ALT+F4和ALT+Ctrl+Del    Function GetTaskBarHeight:integer;//得到任务栏的高度 //------------------------------------------------------------------------------    function GetDesktopListViewHandle: THandle; { 得到桌面列表试图的句柄 }    procedure MinWinAll;//最小化所有的窗体    procedure CloseWinAll;//关闭所有窗体    procedure DrawWindowRect(handle: Thandle;wColor: Tcolor=clBlack;PenWidth:integer=1);//给窗体加个边框    Procedure SetParentWinDefFont(Sender:TObject;const defFont:Tfont=nil);//设置parent窗体的默认字体    {得到memo光标所在的位置,行号,行长}    procedure GetMemoMousePos(m:Tmemo;var posValue:TmemoPos);overload;    procedure GetMemoMousePos(m:TRichEdit;var posValue:TmemoPos);overload;    //Memo翻页    procedure setScrollPos(MHandle:Thandle;const pos:TClickType=PageDown);overload;    //得到指定窗体的大小    procedure GetWinRect(const WinHandle:HWND;var winRect:TwinRect);    procedure TimeDelay(DT:Dword);//精确毫秒级延时    procedure SetIPaddress(SIP: TNetValue;const isAuto:boolean=false);//设定网络Ip地址    Function GetLocalIP:string;//得到本机的IP地址    Procedure OpenURL(URL:string);//打开1个web URL //============================================================================== // 这一部分的函数摘自其他作者处.姓名不详 //==============================================================================    function GetDisplayFrequency: Integer; //获取显示刷新率    function GetIdeSerialNumber: String; //获取第一个硬盘的序列号    function GetCPUSpeed: Double; //获取当前CPU速率    Function GetCPUID:string; //获取CPU ID    Function GetCPUVendor: string; //获取CPU 类型    Function GetFileLastAccessTime(sFileName:string):TDateTime; //获取文件最后访问日期和时间    Function GetFileCreateTime(const strFileName:string):TDateTime; //获取文件创建时间    Function GetFileModifyTime(const strFileName:string):TDateTime; //获取文件修改时间    Function GetDNSTOIP(DNSName:String):String; //把域名转化为IP地址    Function GetDNSName(IPAddress:String):String; //把IP地址转化为域名

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧