Delphi的使用!(200分)

  • 主题发起人 主题发起人 zjxdt
  • 开始时间 开始时间
Z

zjxdt

Unregistered / Unconfirmed
GUEST, unregistred user!
时常看到Delphi语句的使用书上是间单的,而在此,则用法各异,如:
FileExist(OpenDialog.Filename);等五花八门、各式各样,有谁能
就此介绍一下,语句的嵌套使用有无原则?其使用的条件都有哪些?
还有哪些语句不适于嵌套使用?
 
可以看一看别人的称序,
 
不懂你的问题是什么意思??
 
不懂你的意思。
不过,最好初学时,最好规范一些。
 
本论坛这样的应用不少,如:
TBlobField(FieldByName('FieldName')).LoadFromStream(MemStream);
我在看帮助时好象只有TBlobField.****,加上FieldByname('FieldName')则没有
介绍,象这样的语句,还有从TFileListBox中选取文件名等。
 
只有一个原则:类型匹配
作为参数的函数的返回结果,必须与调用函数所要求的参数的类型相匹配.
例:FileExist(OpenDialog.Filename);
function FileExists(const FileName: string): Boolean;
要求string类型为参数.
OpenDialog的FileName属性:property FileName: TFileName;
TfileName的类型:TFileName = string;
所以类型匹配,可以调用.
另一个在Delphi中的特殊的东西是:类的属性中的有Default特性的属性.
这种情况是导致程序不好理解的一种情况.
举例来说:(主要讲原理,略去无关的东西)
TStrings = class(TPersistent)
private
......
protected
......
public
......
property Strings[Index: Integer]: string read Get write Put;
Default;//注意这个Defalut
......
end;
一般情况我们使用Tstrings是这样用的:
s:=n.strings[0];
上面:s 为string,n为Tstrings
由于strings属性是Tstrings的Default属性,所以我们也可以这样用:
s:=n[0];
一般情况下就容易看不懂,应为n 为Tstring,s 为string两者的类型是
不兼容的,但实际上,n[0]表示n.strings[0]是string,所以两者类型兼容.
注意类的Default属性有且只有一个.
 
wangkun君说的正是本人所要求的!。(望诸位依据Wangkun君的思路进行探讨)
但本人还是有点疑虑,当我编程时(用惯了原先自上而下的模块化编程理论)若用
Delphi提供的原类型语句有些就达不到自身的要求,如Tblob的使用;有些即使能
够实现也往往绕很大的一个圈子。我如何能在下笔之时了解我所用语句的这些应用
及功能呢?(因为书籍、本论坛提供的实例并没有逐条语句注释,所以茫然不知所措,
还望诸位能够耐心、细致地进行说明、解释)
 
其实我从C,C++,VC转到Delphi的初衷是因为Delphi
的类体系非常清晰,每一个层次的类有每一个层次的特点.
要想在编程序的时候能够比较自如的应用对象(类),就必须相对
比较系统的研究一下Delphi的类体系结构.主要按照以下主线研究:
Tobject->Tpersistent->Tcomponent->TControl->
TGraphicControl和TWinControl.
 
to Wangkun:
本人现在时间紧、任务重,哪有时间去揣摩你说的类体系结构呢?还请多费些口舌
面授面授吧!本人太苯,请多指教!
 
to Jams:
你是本月排行第3的人物,问我这种问题,有捉弄人的嫌疑呀!
 
这个问题到底是谁在问?
xixi..
Jams登了两个帐号?xixi....
 
to wangkun
别无它意,就是不明白,请赐教!
to zx:
我们来此不都是来学习的吗?谁提问题不一样?!出钱的人是看问题的质量,又不
看人,罗嗦那些无聊的事有何意思?
话外之音,你是否.......?
 
to wangkun:(急!)
你给的Word8例子中有一个'Word_TLB'的文件及Uses文件,找不到!请你及
在座诸位谁有给发个过来,Thanks.
噢,今日是26日!别害怕!谁若发现病毒之类的文件,给Mail一份,感兴趣的
可共同切蹉!
 
To wangkun
在D3下
Var
WordObject: TWordObject;
一句不认,该句是何意,作用如何!
 
To Wangkun (3个问题了!)
我记得OleVariant是不带参数的,咋回事这一句的OleVariant带了参数FWordApp,
何意?
OleVariant(FWordApp).ActiveDocument.SaveAs(FileName);
倘若此,Variant是否也可带参数?作用又如何?
在座诸位也可发表看法和意见!
 
to Wangkun (4个问题了)
你的Wordauto仅处理字符串文本,现在需解决的是如何将TBlob字段的内容(非文
档文件)插入到Word中,望指点一下!
在座诸位也可发表看法和意见!
 
对这个问题我没什么经验!
Jams:别生气嘛!我没有别的意思......
得罪得罪 ^-^
 
>to wangkun:(急!)
>你给的Word8例子中有一个'Word_TLB'的文件及Uses文件,找不到!
>请你及在座诸位谁有给发个过来,Thanks.
已经发了.
>在D3下
> Var WordObject: TWordObject;
>一句不认,该句是何意,作用如何!
声明一个TwordObject对象WordObject.
>To Wangkun (3个问题了!)
>我记得OleVariant是不带参数的,咋回事这一句的OleVariant带了参数>FWordApp,
>何意?
> OleVariant(FWordApp).ActiveDocument.SaveAs(FileName);
>倘若此,Variant是否也可带参数?作用又如何?
>你的Wordauto仅处理字符串文本,现在需解决的是如何将TBlob字段的内容(非>文档文件)插入到Word中,望指点一下
我现在中午没有时间研究,晚上再说.
 
给分原则:
Wangkun的建议较合理;Jams的提问有极积含义,其余没有继续回答问题,但考虑
今后,适当给点以兹孤立,别瞎掰。
 
多人接受答案了。
 
后退
顶部