Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C++ Bulder > 转载Delphi学习细节
【标  题】:转载Delphi学习细节
【关键字】:Delphi
【来  源】:http://www.cnitblog.com/flyinggoal/archive/2006/05/09/10273.html

转载Delphi学习细节

Your Ad Here IT博客网 - 在浩淼的天空下,留下生活的足迹 - 转载Delphi学习细节
随笔-6  评论-2  文章-0  trackbacks-0

delphi问题集(二) [转]

问题1:在Delphi中如何对变量赋值?
答:在Delphi中使用的编程语言是基于Pascal的面向对象语言,但是在功能上更为强大。所用的语法与Pascal一样,对于赋值语句aa:=?″1234″;不能省掉等号前的冒号,这是Pascal赋值语句所必须的,并且语句最后的分号也必不可少,它代表一个语句的结束。另外,在使用变量前必须先对其声明(定义变量),否则无法使用。下面是一个完整的包含赋值语句的程序段:
  var?aa:string;
  begin
  aa:=DateToStr((Date+5));
  end;
  
问题2:如何在Delphi中制作数据库报表?
答:在任何数据库系统中报表系统都十分重要,它是主要的输出系统,Delphi中当然也少不了报表系统。
  QuickReport就是Delphi中以控件组的形式提供的报表系统,完全支持Delphi数据库,可以方便地实现数据库的报表功能。可以立即打开Delphi在控件组模板中找到QuickReport。
  启动Delphi后选择File|News,这时会出现一个模板和向导组,选择Business中的QuickReport?Wizard,按照向导指示进行选择就可以制作一个简单的数据库报表程序。如果需要将自己的数据库资料输出到报表,请先打开数据库项目,然后在File|News菜单中选择New中的Report选项,可以立即生成一个空的报表窗口,通过鼠标右键激活报表设定。在FoxPro的报表中表格线是通过画线条来实现,而在QuickReport中可以选择QrShape来实现,只需修改属性Shape的设定值(qrsVertLine代表垂直线,qrsHorLine代表水平线)即可,至于线条的宽度和长度可以在相应的属性中设定。

问题3:Delphi在BDE别名中不识别“网上邻居”的路径,应该怎样做?
答:利用Windiws95对等网可以简单地实现数据共享。将数据库放在其中某个共享路径下就能实现数据库资料共享,但是如何在BDE中设定?在网络中无法使用本地路径,所以可以先将共享路径映射为网络驱动器,然后就可以象本地文件一样了,另外直接输入网络路径也可以实现这种功能,例如可以输入\\Computer1\Database\,?指定共享计算机名为Computer1的Database目录。另外,还可以通过浏览方式找到“网上邻居”中指定的网络路径。

问题4:请介绍一些学习Delphi的书籍和网站。
答:现在许多书只介绍Delphi入门、有关Pascal的语法和整个运行环境的使用,但是对于更进一步的使用说明和范例就不多了。当然最终要掌握Delphi还是得学会看Delphi的帮助,它才是最权威的资料,其中有许多范例,直接复制过来作一定的修改就可以在自己的程序中使用。我推荐给读者的网站有:Delphi的制作公司Inprise的网站::URL::http://www.inprise.com/ ?,其次是中文Delphi网站::URL::http://www.vclxx.com ?,?Delphi用户最好能到这些网站去访问,其中有许多有趣的资源、范例程序和已经增强的控件。

问题5:问题集一中介绍的ExecuteFile()函数为什么在使用时出现错误,甚至无法使用?
答:首先,必须将声明加入程序,而且不要在form的OnCreate中调用,因为调用Form-OnCreate时数据未初始化,就会出现非法读取内存错误。

loading...

?
delphi问题集(一) [转]

标题:delphi问题集(一)
1.问:Delphi中实现类似VB中的字符串操作?
 答:Delphi提供了丰富的字符串操作,可以实现许多复杂的处理。
 Pos在字符串中查找指定字符串的位置,用于文字的查找
 Delete删除字符串中从指定位置开始指定数量的字符
 Insert在字符串指定文字开始插入字符串
 Copy返回字符串中指定位置的一定长度的字符串
 Length返回指定字符串的长度

2.问:如何进行字符串与其他类型数据转换?
 答:可以用inttostr()函数,这是一个十分常用的函数,如果你希望将整数转化为字符串的形式,就必须使用这个函数。使用的方法十分简单,inttostr(整数)返回一个代表这个整数的字符串。对应函数strtoint(字符串)返回整数。特别注释:如果你不想因为输入了不是数字的字符串而引起异常报警(这是很常见的),你可以使用一个替代的函数,自己进行输入校验,这个函数就是StrToIntDef。使用的方法是:StrToIntDef(字符串,默认数字),返回的是数字,如果输入的字符串不是合法的数字,返回的将是默认的数字,如果对其进行检测,就可以发现问题。If?(Inputbox(′输入数字′),-1)=-1?then?showmessage(′你输入的不是数字或者输入了-1′);对应的函数还有许多,下面仅列出其函数名,具体的使用方法类似,如果需要进一步了解此类函数,请参阅delphi的联机帮助。
  FloatTostr浮点数转化成字符串
  FloatToStrF带格式的浮点数转化成字符串
  IntToHex整数到十六进制字符串
  TimeToStr时间转化成字符串
  DateToStr日期转化成字符串
  DateTimeToStr日期时间转化成字符串
  FmtStr按指定格式输出字符串,
3.delphi编程中调用其他执行程序?
 答:Function?ExecuteFile(const?FileName,?Params,?DefaultDir:?string;ShowCmd:?Integer):?THandle;?是最简单的执行文件调用方法。
  演示的程序如下:
  executefile(′c:\winamp\winamp.exe′,?
'winamp.m3u′,'d:\mp3\′,0);
  这段程序就是我编写的定时启动播放音乐程序的一部分,仅供大家参考。
  提示:最为有趣的是如果在输入的参数中填入的不是可执行文件名,而是某个数据文件如DOC文件,它会自动调用相应的程序打开(如Word)。通过这一功能还可以实现,自动发送E-mail,自动访问指定网站的功能。
  executefile(′mailto:delphi32@infoworld.sh.cn′,″,″,0);
  简单的语句实现了调用默认电子邮件程序向我发信的功能。
  executefile(′::URL::http://delphi.sq.sh.cn′,″,″,0);
  立即可以拨号上网看到我的主页
  executefile(′d:\mp3\cd01\001.mp3′,″,″,0);
  立即调用默认的MP3播放程序播放这首歌曲。


--------------------------------------------------------------------------------
loading...
delphi中的几个技巧

1、判断一个字符串是否包含于另外一个字符串的方法
例如:if?pos('ab','abcd')<>0?then
messagedlg('ab是包含于abcd',mtConfirmation,[mbYes,?mbNo],0);
pos(obj,target)?在target字符串中找出第一个出现obj的第一个字符位置,如果找不到,返回0.

2、如何使窗口全屏,类似游戏一样,而不是窗口的最大化!?
(1)?BorderStyle?为?bsNone
(2)?Windowstate?为?wsMaximized
(3)?退出时可加一个按钮之类的,写上?close?即可退出。

3、数字格式化输出
format('%8.2f',[123.456]),返回字符串'?123.46'。

4、播放一个wav文件
use?mmsystem;
SndPlaySound('hello.wav',SND_FILENAME?or?SND_SYNC);

5、InputBox,InputQuery和ShowMessage函数的威力
uses?dialogs;
var?s,s1:string;
b:boolean;
begin
s:=trim(Inputbox('NewPassword','Password','masterkey'));
b:=s<>''
s1:=s;
if?b?then?b:=InputQuery('Confirm?Password','Password',s1);
if?not?b?or?(s1<>s)?then?ShowMessage('Password?Failed');
end;

6、几个有关子目录的操作的过程
MkDir(str);?ChDir(str);?GetDir(DriveID,str);?SetCurrentDir(str);
IOResult?--上面几个过程调用成功即返回0值

7、将一个可视控件变成图形类型
例如将一个带背景的LABEL变成一个TIMAGE图片类型,可以这样做:
image1.width:=label1.width;
image1.height:=label1.height;
label1.perform(WM_PAINT,image1.Canvas.Handle,0);

8、如何得到字符的ASCII值
得到字符的ASCII值,可以用如下语句:
var:?a:integer;
string1:string;
begin
string1:='ABC'
a:=byte(string[1]);?{此时就得到'A'的ASCII值}
end;?

9、动态更新DBGrid的颜色
例如,如果一个城市的人口大于200万,我们就让它显示为蓝色。使用的控件事件为DBGrid.OnDrawColumeCell:?
procedure?TForm1.DBGrid1DrawColumnCell(Sender:?TObject;?const?Rect:TRect;DataCol:?Integer;?Column:?TColumn;?State:?TGridDrawState);
begin
if?Table1.FieldByName('Population').AsInteger?>?20000000?then
DBGrid1.Canvas.Font.Color?:=?clBlue;
DBGrid1.DefaultDrawColumnCell(Rect,?DataCol,?Column,?State);
end;?

10、获得命令行参数
1.?取得命令列参数的个数:?ParamCount?函数
2.?呼叫?ParamStr(0),?传回执行档的档名(含路径)?
3.?呼叫ParamStr(n),?传回第n个参数的内容
例子:
procedure?TForm1.FormCreate(Sender:?TObject);
var
 ix:?integer;
begin
 Memo1.Lines.Clear;
 if?ParamCount?=?0?then
  Memo1.Lines.Add('没有参数')
 else
 begin
  Memo1.Lines.Add('档名:'?+?ParamStr(0));
  for?ix?:=?1?to?ParamCount?do?
  Memo1.Lines.Add(ParamStr(ix));
 end;
end;
posted on 2006-05-09 23:19 风筝 阅读(20) 评论(0)  编辑 收藏 收藏至365Key
【相关评论】
没有相关评论
【发表评论】
姓名:
邮件:
随机码*
评论*
      
|  首 页  |  版权声明  |  联系我们   |  网站地图  |
CopyRight © 2004-2007 软讯网络 All Rigths Reserved.