说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Delphi使用心得

HTML文档下载 WORD文档下载 PDF文档下载
Delphi使用心得

Delphi是Borland公司推出的一个可视化、面向对象的快速应用程序开发工具,继16位的1.0版本后,又推出了32位的2.0、3.0版本,很受开发人员的欢迎。下面就将我在学习Delphi过程中的一些心得奉献给大家,希望能给您带来帮助和启示。

一、如何使Form在不同的聊环直率下显示出同样大小?

我喜欢把我的15英寸显示器置于800×600的模式下,因为这时的色彩和字体都比较好看,但是在这种模式下用Delphi设计的程序运行于别的机器上时往往由于分辨率不同、字体大小不同显得很难看,相信不少朋友和我一样遇到同样的情况,当然我们可以“强迫”别人也使用800×600的分辨率。那么有没有办法使自己的程序“专业化”一些,能够自适应屏幕的分辨率呢,答案是肯定的,因为Delphi 提供了ScaleBy这个过程,利用这个过程我们可以在FormCreate时轻易地控制form 的外观。实现的代码如下:

implementation

const

ScreenWidth:LongInt=800;

ScreenHeight:LongInt=600;

{I designed my form in 800×600 mode.}

{$ R*.DFM}

procedure TMainForm.FormCreate(Sender:TObject);

var

OldFormWidth:integer;

begin

Scaled:=TRUE;

if(Screen.width <> ScreenWidth)then

begin

OldFormWidth:=Width

Height:=longint(Height)*longint(Screen.Height)DIV ScreenHeight;

Width:=longint(Width)*longint(Screen.Width)DIV ScreenWidth;

ScaleBy(Screen.Width

ScreenWidth);

Font.Size:=(Width DIV OldFormWidth)*FontSize;

end;

end;

二、如何判断一个程序是否已在运行?

在某些时候我们通常需要自己编制的程序只可以有一份拷贝在运行,如何作到这一点呢?通常我们可以用GetWindowsWord获得窗口句柄,再用GetClassName获得并比较ClassName来达到目的。

...

Result:=true;

if GetWindowWord (Wnd

Gww_HINSTANCE)

=hPrevInst then

begin

GetClassName(Wnd

ClassName

30);

if StrIComp(ClassName

'TApplication')=0 then

begin

TargetWindow^:=Wnd;

Result:=false;

end;

end;

...

后来我曾在网上看过一段关于此方面的说明,它介绍了另一种方法,是通过在内存中建立旗语标志实现此功能的,试了一下效果很好,具体的过程见下面的程序与注释:

unit prevcode;

interface

uses

Windows

Messages

SysUtils

Classes

Graphics

Controls

Forms

Dialogs

type

TForml=class(TForm)

procedure FormCreate(Sender:TObject);

private

{Private declarations}

public

{Public declarations}

end;

function DoIExist(WndTitle:String):Boolean;

var

Form1:TForm1;

implementation

{$R*.DFM

function DoIExist(WndTitle:String):Boolean;

var

hSem:THandle;

hWndMe

hWnPrev:HWnd;

semNm

wTtl:Array[0..256]of Char;

beigin

Result:=False;

StrPCopy(semNm

'SermaphoreName');

StrPCopy(wTtl

WndTitle);

hSem:=CreateSemaphore(nil

0

1

semNm);//如果第一次运行则建立一个标志

//检查这个标志是否存在

if(hSem <> 0)AND(GetLastError()=ERROR_ALREADY_EXISTS))then

begin

CloseHandle(hSem);

hWndMe:=FindWindow(nil

wTtl);//获得当前运行的窗口句柄,改变标题

SetWindowText(hWndMe

'zzzzzzz');//这样才可以寻找其他instance

//寻找这个视窗的instance

然后将它置于Z-order顶层

hWndMe:=FindWindow(nil

wTtl);

if(hWndMe <> 0)then

begin

if IsIconic(hWndMe) then ShowWindow (hWndMe

SW_SHOWNORMAL)

else

SetForegroundWindow(hWndMe);

end;

Result:=True;

end;

end;

procedure TForm.FormCreate(Sender:TObject);

begin

if DOIExist(Self.Caption)then

Halt;

end;

Java程序猿,手游引擎怎么选? MDCC 2014优秀移动团队免费展位火热申请中 【微信讲师面对面】你在企业服务号开发中遇到的坑和难点 五个解决方案让MongoDB拥有RDBMS的鲁棒性事务 浅谈Apache Spark的6个发光点 安卓 “假ID” 签名漏洞,竟然骗过了支付宝和360 从Social到Big Data,移动App蚂蜂窝转型推新品 《近匠》nice曹大鹏,从男装导购到潮人社区的心路历程 DevOps扼杀的不是开发者,而是开发生产力! 利用Docker构建开发环境 Netflix公布Cassandra新性能:基于AWS的百万次写入每秒 一周消息树:谷歌Android遭遇“颠覆”危机 微软发布新应用Snipp3t,iOS平台首发且无Windows Phone版 TOP10优秀微信开发商随后揭晓 2014微信开发者大会开幕在即 8月12日:PC鼻祖IBM 5150迎来33周年 平板创作3D展现:蒙特利尔大学发明Hyve-3D设计系统 Quick Charge技术解析:关于手机快速充电的那些事儿 性能分析十八招,你用哪一招? 流程在企业内的作用及成熟度 Gartner:至2017年Chromebook销量将增2倍 后稀缺时代思考:机器横行下的人类夹缝求生 TIOBE 2014年8月编程语言排行榜:Swift跌出Top 20 精华回顾!历届MDCC大会精彩演讲与议程汇总 《近匠》Fancy3D:亿级游戏背后的轻量级引擎 假如李小龙是程序员…… Docker已扎根新一代PaaS 三星或发布首款头戴式VR设备Project Moonlight 英特尔亚太研发总经理何京翔:数据化时代背后的智慧 云络网络科技CEO Steve Mushero:游戏行业的云运维 腾讯游戏运营管理中心总监刘栖铜:腾讯游戏云的理想与实践 一号专车产品总监曹景辉:LBS应用仍有无限的创新空间 谁敢拍着自己胸口摸着良心说没有用过马甲的 麻烦了:) 如何建立一个button清空文本框? 关于在RedHat2.1As上安装Oracle9i(9.0.1)的错误问题,帮帮我吧,火烧眉毛了! 急等答案 ,请问数据库中 的Null和零值有什么区别,请给详细解释一下 用FLASHGET无法下载. 趁着各位斑竹到任,赶紧把几个悬而未决的问题提出来,呵呵! com+的调用方式 哪位大侠知道今年计算机等级考试二级C语言还是用Turbo C2。0吗?还是在Dos环境下吗?(100相赠) 关于多媒体定时器的问题,各位进来看看 session出的问题,高手请进来!! 请问,大连雅奇培训如何?请指点。。。。。。 怎样用header()做下载文件? 关于检测组合键的程序怎样写? 菜鸟问题!!!页面显示后台数据 请问软件包LEDA -- library of the data types and algorithms 哪里有下载的? 如何获得当前页面中的所有Textbox控件集合? 如何对两个表操作???谢谢! java的程序在写Dreamweaver 4里写完不可以直接用,是不是 打印的问题 DELPHI5的资源编辑器用起来很不爽,有没有好点的? 帮帮忙~~~~ 请问软件包LEDA 哪里有下载的?谢谢 ado连接远程数据库是以文件共享方式,还是c/s方式啊? 有没有工作的JAVA程序员吗? 简单的语法问题 vb还是不太会用 求教 最菜的问题 如何保存无法保存的网页? 只要每人献出一点爱,人人都能成为程序员 呵呵,又有问题了 苦恼,大家帮忙啊 关于声音处理的一个问题 求英文资料,急!!! 帮忙解释一下程序,谢谢:) 怎样实现这样的存储过程?高手快来! 用过websnap的进来看一下,巨简单! 调试版本与发布版本的区别? 急等答案, sql的基本表是用一个存储文件表示还是用若干个存储文件表示 我的Windows 2000有时无法关机(重起) ********通过编号找名称!*******求最快的方法!!! 格式化硬盘后安装WIN98过程中为什么出现蓝屏,继续安装下去连软件都安装不了? 请教一个让人郁闷的问题! 寻找一本人民邮电出版社出版的有关 GSM 网络优化的书 请问高手:能不能动态creatLayer? select * ????? 问候大家 晚上好 ,有个问题请教,立即给50分! 怎样使模式对话框最大化显示? 关于socket 十万火急,大哥大姐快救小弟一命!!!考高程的或考过的请帮忙,感激!!! 求救 跟帖 在SERVLET中,页面怎么跳转呢?客户端可以下载指定的ftp文件。。? 隋朝末年长安守将是谁?隋朝末年,群雄并起,在太原李渊起兵攻打长安之时,当时的长安留守是谁,有知道的没? 【急』十字绣,怎么把六股线拆成4股十字绣一根粗线里有六股,但需要用四股线,怎么分呢?分开了,如果很散,怎样拧成一大股? 质量为m的物块,系在弹簧的一端,弹簧的另一端固定在转轴上,弹簧的自由长度为L.劲度系数为K,使物块在光滑水平支持面上以角速度w作匀速圆周运动,则此时弹簧的长度为多少? 隋朝都城到底是在大兴还是长安?怎么说法不同呢? 已知集合A={x|-2 The hot tiles on the floor will melt your 隋朝人说都城时是长安还是大兴城 集合A={y|y=-x^2+4,x∈N.y∈N}的真子集的个数为( ).A.9 B.8 C.7 D.6 一个蚂蚁从5楼掉下1楼来为什么没有摔死?这是我很长时间搞不懂的问题啊.求救`` 隋朝的长安和洛阳分别是什么时期营建的都城 若集合A={x|x=2k-1,k∈z},B={x=4L±1,L∈Z}则 A,A=B B,A是B的真子集 C,B是A的真子集 D,A∪B=Z The ice started ( ) (melt) 你们经常用哪个动物的表情看看哪个好看好笑的 某列车均速前进,从它驶上300米的桥到通过为止,一共用了三分之一分钟,又知一盏固定的灯一直照列车10秒,求这列车的长.(要写过程) 蚂蚁为什么从高楼上跳下来不会摔死? 青蛙的益处 在空气中弹簧测力计测得物重2.7牛,将其一半浸入水中,示数变为2.2牛(g取10牛每千克)求物体所受浮力大小物体的密度 两股线绣的十字绣,半针应该用几股线… 求一篇有关养宠物的好处的英文对话,急! 有一石块,在空气中称的重为19.6牛,全部浸没在水中称得重为14.7牛.问:(1)石块的体积多大 (2)石块的密度是多少? 十字绣中格的半针绣用几股线? 养宠物好处英文 有一金属块,在空气称得它的重是72牛,当它全部浸没水中时,弹簧秤的示数为52牛(g=10牛/千克)(1)金属块所受的浮力(2)排开水的体积 "Melt down" What's Meaning? 成都离最近大海有多远 某列车匀速前进,从驶上300米的桥到完全通过,一共用了1/3分钟,又知列车通过桥上一灯塔用时10秒钟,.某列车匀速前进,从驶上300米的桥到完全通过,一共用了1/3分钟,又知列车通过桥上一灯塔用时 十字绣怎么勾边?一般用几股线? 小行星最近离我们的地球有多远?有意者都给我一个答案我吧? melt temperature是什么意思 1、如下图所示,质量为m的重锤从高h处自由下落,打在质量为M的木桩上,重锤与木桩一起下沉距离s.求木桩在下沉过程中遇到的平均阻力.(M+m)g+m^2gh/(M+m)s为啥? 一个人面对另一个人时都会看着对方的脸,因为人类能够读懂面部表情.但是你发现没有,当动物面对你时,也是看着你的面部,即使是个体比人小得多的猫,当它面对你时也绝不会盯着你的脚看.难 地球离各个星球的距离? 英语翻译 求许多动物做同一动作的表情 比如 兔斯基 嘻哈猴这类的都做一个表情 比如揉脸、鼓掌啥的 有的发804931395@com最好要动态的哇 2L 搜的到还找你呀 甲乙2石头,大小不同,石质相同.甲石质量1.5千克,体积4立方分米,乙石质量18千克,体积多少? 像蚂蚁一样不会摔死的动物急………………………………!摔不坏的东西也可以 光子到底有没有质量 甲、乙两块石头,大小相同,石质相同.甲石头质量是1.5千克,体积是4立方分米.乙石头质量是18千克,体积是多少? 下载是什么意思 非条件反射是不是先天的啊对相关的知识也要说一下又要具体 某人站在高楼的平台边缘,以 20m /s的速度竖直向上抛出一石子,求抛出后石子经过离抛出点 15m 处所需要的时间.(g= 10m /s2). 甲乙两块石头,大小不同,石质相同,甲石头的质量是1.6千克,体积是4立方分米.乙石头的体积是40立方分米质量是多少? 十字绣的法兰西节怎么打? 胎生的是哺乳动物,那下蛋的叫什么动物像老虎,狗,猫喂奶的叫哺乳动物,那鸡,鸭这些下蛋的叫什么动物啊? 我国公民全部政治生活的基础和准则(基本内容)是 既属于哺乳动物,又要靠生蛋来繁殖后代的是: 谁能告诉我有关简单的细菌与霉的知识细菌的认识和什么是霉 我国公民暴雨政治生活的基本原则是什么 r、s、e、n、u组成什么单词 为啥子有的哺乳动物会下蛋? 我养宠物的英文怎么说 p u s e r 组成什么单词 细菌靠生物而活那么什么靠细菌活? 日本地震到底死了多少人呢?拜托了各位 谢谢 隋朝时长安属于什么省份的?隋朝时长安属于哪个省份的? 为什么有的哺乳动物会下蛋?不许抄袭答案 十字绣用丝线绣好看还是用绵线绣好看以前只绣过一个钱包,听说丝线绣比较慢,这点倒没什么.丝线绣有哪些好处与坏处,请各位妹妹赐教 哪种哺乳动物是通过生蛋来繁衍后代? 十字绣4股线应该折几折? 为什么蚂蚁从高出掉下不会摔死? 英媒:巴基斯坦女性地位低下 致女警招纽约一毒贩壁橱藏价值300万美元可卡马达加斯加举行总统选举南亚地区仍有6.75亿人露天排便法国职业足球俱乐部罢赛抗议 不满缴纳24架美军“鱼鹰”运输机落户冲绳 半美国监听行为激怒欧盟 欧盟各国首脑纷德媒翻奥巴马“旧账” 称其冷酷不愿交水池捞2.87美元硬币买食物 穷困智德媒借美监听事件翻奥巴马\"旧账\"欧盟主席谈隐私 被称暗示美国搞监视是美媒解密美国国家安全局监控盟友的方式24架美军“鱼鹰”运输机落户冲绳 半沙特前高官批评美国中东政策 或联手埃澳大利亚最老双胞胎长寿秘诀:不与坏男美国19岁学生欲徒步闯南极 14岁曾欧盟主席谈隐私 被称暗示美国搞监视是西藏活佛在柏林开讲座 介绍藏传佛教和印度总理辛格不用手机电子邮件 不担心日本内阁会议通过特定秘密保护法案 欲印度东部洪灾致20万人受灾西洋参到底什么时候吃?国美管庄店暂停一年半 发审会周三重开当局者说合资50吋彩电低至2999元华盛顿 学校禁售炸鸡块薯片泰坦尼克最后家书拍出高价新奇想法让污染不再有吸毒男抡棒球棍狂砸警车国美通州二店西单淘宝景区免票“排内”获赞275位读者20小时读完《百年孤独》年报里的地雷用好鲁尼 换帅大吉今日赛事预告十里河电器广场:与周围商铺优势互补北京社区报告电视节目开窍了国美双井店集体婚礼
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘