怎么结合?不就是常量不能变化的吗,而变量能变化多段,当然要符合他的类型,常量可以赋值给变量,但是变量不能赋值给常量。懂了吧?
var:
vStr:string;//
const
cA='str';
delphi怎样调用外部EXE文件? uses WinProcs; begin WinExec(……); end 和调用Pascal库函数没什么两样
Delphi hint的字体和色彩如何改变 Delphi中Tapplication的属性有HintColor及HintPause 可以通过设置HintColor改变应用程序中的Hint的颜色 通过设置HintPause改变触发Hint的时间 但遗憾的是 Delphi中Hint的字体不可以改变
Delphi里如何计算日期 算时间在delphi中是最容易的 如下
var ss : TDateTime
其实Tdatetime是一个双精度的浮点数 它的小数点前表示天数 如 ss := ss + 表示从ss开始向后 天 如果 ss = 它就表示 天 当然是从公元 年开始计算的!
如何用Delphi编ScreenSaver (null) 屏幕保护程序无非是扩展名换成了 SCR的可执行程序 它接受两种命令行参数 s 运行命令参数 c 配置命令参数 Windows通过向程序发 s命令行参数来启动程序 要注意的是 程序的窗口是无边框和标题 窗口大小应与屏幕大小一样 还要注意窗口的事件的处理
Delphi 中如何改目录的名字 调用RenameFile函数 如: RenameFile( c:wang emp c:wang mp );
DELPHI显示JPEG图像文件
只要 uses中加入 JPEG就行 JPEG单元里是有一个TJPEGImage类 可定义一变量如Jpeg 用LoadFromFile调入某个JPEG文件 然后用Form的Canvas Draw(x y Jpeg)即可显示
Delphi中对Jpeg格式文件的处理…
( ) 在 Uses 中加入 JPEG 单元;
( ) 定义一个全程变量 例如 var AJPEG : TJPEGImage;
( ) 在 Form 的 OnCreate 事件中加入 :
Canvas Pen Color:=clBlack; Canvas Pen Style:=psSolid; Canvas Brush color:=clBtnFace; Canvas Brush Style:=bsSolid; //此上是设置 Canvas 的一些属性 便于以后 //Clear Form and Load a new JPEG file; Ajpeg:=TJpegImage Create;//动态生成Ajpeg; Ajpeg LoadFromFile( D:Temp jpg ) //生成 Ajpeg 后 调入 JPEG 文件
( ) 在 Form 的 OnPain 事件中加入Canvas Rectangle( ); //画一个黑框的矩形将围住; x:= ; y:= ; Form Canvas Draw(x y Ajpeg); //以(x y)为左上角输出 JPEG 文件; //实际上其作用是当图形被破坏是使图形恢复;
( ) 在 Load 或 Browse 按钮的 onClick 事件中加入:
begin if OpenPictureDialog Execute then begin Ajpeg Free; //释放旧Ajpeg; Ajpeg:=TJpegImage Create; //产生一个新的Ajpeg; Ajpeg LoadFromFile(OpenPictureDialog Filename); //载入JPEG文件; end; Canvas Rectangle( ); //将Form Clear; x:= ; y:= ; Form Canvas Draw(x y Ajpeg); //显示新的Ajpeg; end;
DELPHI 启动画面
lishixinzhi/Article/program/Delphi/201311/25017
函数NotInList用于判断待添加的字符串是否已存在于一个TStrings对象中 函数返回一个布尔型变量
NotInList的具体实现如下
Function TFileCtrForm NotInList(FileName: String;Items: TStrings) Boolean;
var
i: Integer;
begin
for I := to Items Count do
if Items[i] = FileName then
begin
NotInList := False;
Exit;
end;
NotInList := True;
end;
按指定匹配字符串显示当前目录中的文件
当在FileEdit中输入一个匹配字符串 并回车 文件列表框将显示匹配结果 这一功能在FileEdit的OnKeyPress事件中实现
procedure TFileCtrForm FileEditKeyPress(Sender: TObject; var Key: Char)
begin
if Key = # then
begin
FileListBox ApplyFilePath(FileEdit Text)
Key := # ;
end;
end;
文件列表框提供的ApplyFilePath方法是解决这一问题的关键所在
按指定匹配字符串查找当前目录中的文件
为了进行比较 我们用另一种方法来实现文件的查找功能 即利用标准过程FindFirst FindNext FileList 与ListBox 中的内容完全一致
当用户单击 查找 按钮时 与FileEdit 中字符串相匹配的文件将显示在ListBox 中 下面是实现代码
procedure TFileCtrForm Button Click(Sender: TObject)
var
i: Integer;
SearchRec: TSearchRec;
begin
Searched := True;
Label Caption := Search Result ;
ListBox Items Clear;
FindFirst(FileEdit text faAnyFile SearchRec)
ListBox Items Add(SearchRec Name)
Repeat
i := FindNext(SearchRec)
If i = then
ListBox Items Add(SearchRec Name)
until i <> ;
end;
SearchRec是一个TSearchRec类型的记录 TSearchRec的定义如下
TSearchRec = record
Fill: array[ ] of Byte;
Attr: Byte;
Time: Longint;
Size: Longint;
Name: string[ ];
end;
在这一结构中提供了很多信息 灵活应用将给编程带来很大方便 下面我们举几个例子
检测给定文件的大小
function GetFileSize(const FileName: String) LongInt;
var
SearchRec: TSearchRec;
begin
if FindFirst(ExpandFileName(FileName) faAnyFile SearchRec) = then
Result := SearchRec Size
else
Result := ;
end;
这一程序将在下一节中应用
获取给定文件的时间戳 事实上等价于FileAge函数
function GetFileTime(const FileName: String) Longint;
var
SearchRec: TSearchRec;
begin
if FindFirst(ExpandFileName(FileName) faAnyFile SearchRec) = then
Result := SearchRec Time
else
Result := ;
end;
检测文件的属性 如果文件具有某种属性 则
SearchRec Attr And GivenAttr >
属性常量对应的值与意义如下表
表 属性常量对应的值与意义
━━━━━━━━━━━━━━━━━━━━
常量 值 描述
─────────────────────
faReadOnly $ 只读文件
faHidden $ 隐藏文件
faSysFile $ 系统文件
faVolumeID $ 卷标文件
faDirectory $ 目录文件
faArchive $ 档案文件
faAnyFile $ F 任何文件
━━━━━━━━━━━━━━━━━━━━
文件管理综合举例 文件管理器的实现
在本章的最后 我们利用Delphi提供的文件控件和文件管理函数开发一个简单的文件管理器 虽然这一文件管理器还无法和Windows提供的文件管理器相比拟 但它也为一般的文件 *** 作提供了足够多的功能 而且如果读者感兴趣 还可以对它做进一步的扩充 在后边的拖放 *** 作一章中 我们就为它提供了拖放支持 使它看起来更象一个 文件管理器
设计基本思路
窗口设计
文件管理器的主窗口是一个多文档界面(MDI) 有关文件 目录的显示和文件管理功能的实现都放在子窗口中 在程序执行过程中将根据需要d出一些完成不同 *** 作的对话框 这些对话框都是在需要时动态生成的 表 给出了本程序所设计窗体的清单
表 FileManger窗体清单
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
窗体类 功能 用于创建该类窗体的菜单项
──────────────────────────────────────
TFileManager 主窗口
TFMForm 子窗口 Windows|New Window
TFileAttrForm 显示文件属性 File|Properties;Function|Search
TChangeForm 文件移动 拷贝 改名 改变 File|Move Cope Rename 当前目录等 *** 作的输入对话框 Directory|change Directory
TSearchForm 输入待查找文件的名称和路径 Function|Search
TDiskViewForm 显示磁盘信息 Function|Disk View
TViewDir 输入待创建的子目录 Directory|CreateDirectory
TAboutBox 显示版权信息 Help|About
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
界面设计
主窗口界面主要是主菜单和用于表示当前目录 当前文件的状态条
表 主窗口界面设计
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
部件 属性 功能
─────────────────────────────
FileManager Style=fsMDI 主窗口
WindowMenu=Windows
Position=poDefault
MainMenu 主菜单
FilePanel Align=alBottom 显示当前选中文件
BevelInner=bvLowered
BevelWidth=
DirectoryPanel Align=alBottom 显示当前选中目录
Alignment=taLeftJustify
BevelInner=bvLowered
BevelWidth=
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
主窗口主菜单包括File WIndows Help三项 File菜单项在子窗口生成时被子窗口同名菜单项所取代 设置Windows Help的GroupIndex = 可以使子窗口生成时这两个菜单项仍存在
子窗口界面包括主菜单 目录树(DirectoryOutline) 文件列表框 用于显示驱动器的标签集(TabSet)以及三个用于显示驱动器类型的TImage部件
表 子窗口界面设计
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
部件 属性 功能
───────────────────────────────────────
FMForm ActiveControl=DirectoryOutline 子窗口
Position=poDefault
Style=fsMDIChild
MainMenu 主菜单
DriveTabSet Align=alTop 显示驱动器
style=tsOwnerDraw
DirectoryOutline Align=alLeft 显示当前驱动器的目录树
options=[ooDrawTreeRoot
ooDrawFocusRect ooStretchBitmaps]
FileList Align=alClient 显示当前目录中的文件
FileType=[ftReadOnly
ftHidden ftSystem ftArchive ftNormal]
ShowGlyphs=True
Neork(Image) Picture(Neork bmp) 标志网络驱动器
Vsible=False
Floppy(Image) Picture(Floppy bmp) 标志软驱
Visible=False
Fixed(Image) Picture(Fixed bmp) 标志硬驱
Visible=False
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
lishixinzhi/Article/program/Delphi/201311/25238
◇[DELPHI]网络邻居复制文件uses shellapi;copyfile(pchar( newfile txt ) pchar( //putername/direction/targer txt ) false);◇[DELPHI]产生鼠标拖动效果通过MouseMove事件 DragOver事件 EndDrag事件实现 例如在PANEL上的LABEL var xpanel ypanel xlabel ylabel:integer;PANEL的MouseMove事件 xpanel:=x;ypanel:=y;PANEL的DragOver事件 xpanel:=x;ypanel:=y;LABEL的MouseMove事件 xlabel:=x;ylabel:=y;LABEL的EndDrag事件 label left:=xpanel xlabel;label top:=ypanel ylabel;◇[DELPHI]取得WINDOWS目录uses shellapi;var windir:array[ ] of char;geindowsdirectory(windir sizeof(windir));或者从注册表中读取 位置 HKEY_LOCAL_MACHINE\Sofare\Microsoft\Windows\CurrentVersionSystemRoot键 取得如 C:\WINDOWS◇[DELPHI]在form或其他容器上画线var x y:array [ ] of integer;lor:=clred;canvas pen style:=psDash;form canvas moveto(trunc(x[i]) trunc(y[i]));form canvas lineto(trunc(x[j]) trunc(y[j]));◇[DELPHI]字符串列表使用var tips:tstringlist;tips:=tstringlist create;tips loadfromfile( filename txt );edit text:=tips[ ];tips add( last line addition string );tips insert( insert string at NO line );tips savetofile( newfile txt );tips free;◇[DELPHI]简单的剪贴板 *** 作richedit selectall;pytoclipboard;richedit cuttoclipboard;edit pastefromclipboard;◇[DELPHI]关于文件 目录 *** 作Chdir( c:\abcdir );转到目录Mkdir( dirname );建立目录Rmdir( dirname );删除目录GetCurrentDir;//取当前目录名 无 \ Getdir( s);//取工作目录名s:= c:\abcdir ;Deletfile( abc txt );//删除文件Renamefile( old txt new txt );//文件更名ExtractFilename(filelistbox filename);//取文件名ExtractFileExt(filelistbox filename);//取文件后缀◇[DELPHI]处理文件属性attr:=filegetattr(filelistbox filename);if (attr and faReadonly)=faReadonly then //只读if (attr and faSysfile)=faSysfile then //系统if (attr and faArchive)=faArchive then //存档if (attr and faHidden)=faHidden then //隐藏◇[DELPHI]执行程序外文件WINEXEC//调用可执行文件winexec( /c copy c:\ SW_Normal);winexec( start abc txt );ShellExecute或ShellExecuteEx//启动文件关联程序function executefile(const filename params defaultDir:string;showCmd:integer):THandle;ExecuteFile( C:\abc\a txt x abc c:\abc\ );ExecuteFile( );ExecuteFile( mailto: );◇[DELPHI]取得系统运行的进程名var hCurrentWindow:HWnd;szText:array[ ] of char;beginhCurrentWindow:=Geindow(handle GW_HWndFrist);while hCurrentWindow <> dobeginif Geindowtext(hcurrneindow @sztext )> then ems add(strpas(@sztext));hCurrentWindow:=Geindow(hCurrenindow GW_HWndNext);end;end;◇[DELPHI]关于汇编的嵌入A End;可以任意修改EAX ECX EDX 不能修改ESI EDI ESP EBP EBX ◇[DELPHI]关于类型转换函数FloatToStr//浮点转字符串FloatToStrF//带格式的浮点转字符串IntToHex//整数转 进制TimeToStrDateToStrDateTimeToStrFmtStr//按指定格式输出字符串formatDateTime( YYYY MM DD hh mm ss DATE);◇[DELPHI]字符串的过程和函数Insert(obj target pos);//字符串target插入在pos的位置 如插入结果大于target最大长度 多出字符将被截掉 如Pos在 以外 会产生运行错 例如 st:= Brian 则Insert( OK st )会使st变为 BrOKian Delete(st pos Num);//从st串中的pos(整型)位置开始删去个数为Num(整型)个字符的子字串 例如 st:= Brian 则Delete(st )将变为Brn Str(value st);//将数值value(整型或实型)转换成字符串放在st中 例如 a= E 时 则str(a: st)将使st的值为 Val(st var code);//把字符串表达式st转换为对应整型或实型数值 存放在var中 St必须是一个表示数值的字符串 并符合数值常数的规则 在转换过程中 如果没有检测出错误 变量code置为 否则置为第一个出错字符的位置 例如 st:= E x是一个实型变量 则val(st x code)将使X值为 code值为 Copy(st pos num);//返回st串中一个位置pos(整型)处开始的 含有num(整型)个字符的子串 如果pos大于st字符串的长度 那就会返回一个空串 如果pos在 以外 会引起运行错误 例如 st:= Brian 则Copy(st )返回 ri Concat(st st st …… stn);//把所有自变量表示出的字符串按所给出的顺序连接起来 并返回连接后的值 如果结果的长度 将产生运行错误 例如 st := Brian st := st := Wilfred 则Concat(st st st )返回 Brian Wilfred Length(st);//返回字符串表达式st的长度 例如 st:= Brian 则Length(st)返回值为 Pos(obj target);//返回字符串obj在目标字符串target的第一次出现的位置 如果target没有匹配的串 Pos函数的返回值为 例如 target:= Brian Wilfred 则Pos( Wil target)的返回值是 Pos( hurbet target)的返回值是 ◇[DELPHI]关于处理注册表uses Registry;var reg:Tregistry;reg:=Tregistry create;reg rootkey:= HKey_Current_User ;reg openkey( Control Panel\Desktop false);reg WriteString( Title Wallpaper );reg writeString( Wallpaper filelistbox filename);reg closereg;reg free;◇[DELPHI]关于键盘常量名VK_BACK/VK_TAB/VK_RETURN/VK_SHIFT/VK_CONTROL/VK_MENU/VK_PAUSE/VK_ESCAPE/VK_SPACE/VK_LEFT/VK_RIGHT/VK_UP/VK_DOWNF F $ ( ) $ B( )A Z $ ( ) $ A( ) $ ( ) $ ( )◇[DELPHI]初步判断程序母语DELPHI软件的DOS提示 This Program Must Be Run Under Win VC++软件的DOS提示 This Program Cannot Be Run In DOS Mode ◇[DELPHI] *** 作Cookieokies( name ) domain:= ;with okies add dobeginname:= username ;value:= username ;end◇[DELPHI]增加到文档菜单连接uses shellapi shlOBJ;shAddToRecentDocs(shArd_path pchar(filepath));//增加连接shAddToRecentDocs(shArd_path nil);//清空◇[杂类]备份智能ABC输入法词库windows\system\user remwindows\system\tmmr rem◇[DELPHI]判断鼠标按键if GetAsyncKeyState(VK_LButton)<> then //左键if GetAsyncKeyState(VK_MButton)<> then //中键if GetAsyncKeyState(VK_RButton)<> then //右键◇[DELPHI]设置窗体的最大显示onformCreate事件self width:=screen width;self height:=screen height;◇[DELPHI]按键接受消息OnCreate事件中处理 Application OnMessage:=MyOnMessage;procedure Tform MyOnMessage(var MSG:TMSG;var Handle:Boolean);beginif ssage= then //ANY键if ssage= then //F if ssage= then //F end;◇[杂类]隐藏共享文件夹共享效果 可访问 但不可见(在资源管理 网络邻居中)取共享名为 direction$访问 //puter/dirction/◇[Java Script]Java Script网页常用效果网页 秒定时关闭关闭窗口关闭定时转URL设为首页设为首页收藏本站收藏本站加入频道加入频道◇[DELPHI]随机产生文本色randomize;//随机种子lor:=rgb(random( ) random( ) random( ));◇[DELPHI]DELPHI UPDATE升级补丁序列号 X fx ◇[DELPHI]文件名的非法字符过滤for i:= to length(s) doif s[i] in [ \ / : < > | ] then◇[DELPHI]转换函数的定义及说明datetimetofiledate (datetime:Tdate lishixinzhi/Article/program/Delphi/201311/8427
以上就是关于Delphi语言里的常量和变量全部的内容,包括:Delphi语言里的常量和变量、Delphi 编程技巧常见实例问答、DELPHI基础教程:文件管理(二)[3]等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)