编译器并非成自动释放所有资源与内存,对于有些是得靠程序员手动去释放的。比如COM组件,
----------------------------
指针类型:
*(定义表示执政,赋值表示取地址) C++
ref(引用) c#
^ DEPHI
----------------------------
跳出程序块
retrue c++/c#
exit dephi
----------------------------
方法:
函数function(有返回值)/过程procedure(无) dephi
函数function c++/c#
----------------------------
函数返回值:
return+返回值 c++/c#
<函数名>:=<返回值>或 Result:=<返回值> dephi
dephi声明参数的缺省值 procedure founction(参数名:类型=缺省值)
----------------------------
传址参数:
function(*parameter) c++
function(ref parameter) c#
function(var parameter) Dephi
----------------------------
模板:
c# 泛型
c++ 模板
dephi ··variant??
----------------------------
定义属性://使用这个可以很好的控制输入的值
语言 获取属性值 设置属性值
C# get set
dephi read write
例:
private string m_money;
public string bank
{
get
{
return m_money;
}
set
{
if (value == "string")
{
//OnNumberClear(this, new EventArgs());//引发完成事件
m_money = "gnirts";
}
}
}
----------------------------
Length():字符串的长度、数组维数等
High(); 求数组的最大下标值.(若值=-1,则表示数据长度为0)
Low(); 求数组的最小下标值.
----
定义动态数组:
bb:array of integer;
可在程序中动态设定其长度:
setlength(bb,n);//当然也可以使用动态数据实现
---------------
格式化输出系统时间
FormatDateTime('yyyy-mm-dd hh:mm:ss zzz',Now());
----------------
换行符 #10#13
替换字符串中的字符
StringReplace(string,' ','',[rfReplaceAll]):string
截取:copy(str,startindex,count):string;返回子字符串
查找:pos(substr,str):int;返回起始位置,为0则不存在
----------------
QuotedStr(string);将一个字符串转换成尾首代单引号,并将字符串中的单引号改成双引号
UpperCase(string);字符串转换成大写输出
----------------
NULL是无值无类型
NIL是空指针型
----------------
字符串转换16进制
SendBuff[0] := StrToInt('$'+ string);
Round(x) :X四舍五入取整
----------------------
错误处理
try
except
on e:exception do
begin
end
end;
------------------
DCU是由PAS文件编译后生成的,一个PAS文件对应一个DCU文件. DELPHI的一些控件并没有源代码,但您也可以使用,这就是只用的DCU
X相关文件···--·--·-
扩展名 英文解释 文件内容HWez
BPG Borland Project Group 工程项目包, 多个工程文件DPR的集合
DPR Delphi Project 应用系统的工程文件&-kyJ
PAS Pascal File 单元文件,存放Pascal源代码
DFM Delphi form File 窗体界面文件, 同PAS文件同名,而且一一对应, 定义了窗体属性和构件的属性
DOF Delphi Option File 选项文件, 包括编译信息等, 是一个文本文件件,可以看看
CFG Project Configuration File 编译器可读的配置文件
DSK Desktop Setting File 保存工程文件的桌面摆布情况, 下次打开时可以恢复上次保存的桌面状态
DSM ```````````````` 集成开发环境IDE的临时保存文件,有时IDE总出错, 可以将这个文件删掉, 系统会重新生成
RES Resource File Windows 的资源文件, 可以定义光标, 位图,图标资源, 可以使用ImageEditor编辑T
DCU Delphi Compile Unit 编译后的单元文件, 程序连接时需要它
DLL Dymanic-link libraries Windows 动态链接库
EXE Executable File 编译生成的可执行文件:
DPK Delphi Packge Source 包文件的源代码
BPL Borland Package library 包, 是一种特殊的DLL文件, 用于代码重用和减少可执行文件的长度MwMCj
------------------
case语句的选择因子必须是有序类型,而不能用非有序的类型如字符串作为选择
因子。
case语句支持字符串作为分类条件?
一:字符串转为整型
二:字符串转为枚举型
{
//uses TypInfo; // 记得引用这个单元
//type TMyStrSel= (Beijing, Tianjing, Shanghai, Chongqing);
// 注意,上面这个定义不能放在某个函数内部哦,那样的话,它就没有运行类
信息了
//var strSel:TMyStrSel;
str:='Chongqing';
strSel:=TMyStrSel(GetEnumValue(TypeInfo(TMyStrSel), str));
case strSel of
Beijing: ShowMessage('First');
Tianjing: ShowMessage('Second');
Shanghai: ShowMessage('Third');
Chongqing:ShowMessage('Forth');
else ShowMessage('Other');
end;
}
//TStringList 常用方法与属性:
var
List: TStringList; i: Integer;
begin
List := TStringList.Create; List.Add('Strings1') {添加}; List.Add
('Strings2');
List.Exchange(0,1);{置换} List.Insert(0,'Strings3');{插入}
i:= List.IndexOf('Strings1'); {第一次出现的位置}
List.Sort; {排序} List.Sorted := True; {指定排序}
List.Count; {总数} List.Text; {文本集合}
List.Delete(0);{删除, 0是第一个数据}
List.LoadFromFile('c:/tmp.txt'); {打开}
List.SaveToFile('c:/tmp.txt'); {保存}
List.Clear;{清空} List.Free; {释放}
end;
------------------------------------
//读入字符串
List.CommaText := 'aaa,bbb,ccc,ddd';
//相当于: List.Text := 'aaa' + #13#10 + 'bbb' + #13#10' + 'ccc' +
'#13#10' + 'ddd';
ShowMessage(IntToStr(List.Count));--4 ShowMessage(List[0]);--aaa
//置换分隔符
List.Delimiter := '|';
List.DelimitedText := 'aaa|bbb|ccc|ddd';
ShowMessage(IntToStr(List.Count));//4 ShowMessage(List[0]); //aaa
//类似的哈希表操作法
List.Add('aaa=111'); List.Add('bbb=222');List.Add('ccc=333');
List.Add('ddd=444'); , ShowMessage(List.Names[1]);//bbb
ShowMessage(List.ValueFromIndex[1]); //222
ShowMessage(List.Values['bbb']); //222
//ValueFromIndex 可以赋值:
List.ValueFromIndex[1] := '2';
ShowMessage(List[1]); //bbb=2
//可以通过 Values 赋值:
List.Values['bbb'] := '22';
ShowMessage(List[1]); //bbb=22
//避免重复值
List.Add('aaa'); List.Sorted := True; //需要先指定排序
List.Duplicates := dupIgnore; //如有重复值则放弃
List.Add('aaa');
ShowMessage(List.Text); //aaa
//Duplicates 有3个可选值:
//dupIgnore: 放弃;
//dupAccept: 结束;
//dupError: 提示错误.
//排序与倒排序
ShowMessage(List.Text); //bbb ccc aaa //未排序
List.Sort; //排序
ShowMessage(List.Text); //aaa bbb ccc //倒排序
List.CustomSort(DescCompareStrings); //调用排序函数
ShowMessage(List.Text); //ccc bbb aaa
------------------------------------
//dephi调用webservece
function TWdUpdateWeb.GetWebServiceValues(sWebUrl, sFileName: String;
var sXmlVal: String): Boolean;
var
tmpHTTPRIO:THTTPRIO; //引用自单元--unit WdUpdateWebImpl1;
sp:ServiceSoap; //web代理类单元
sUrlVal:String; //url
begin
Result:=False;
try
sUrlVal:=Trim(sWebUrl);
if Copy(sUrlVal,length(sUrlVal),1)='/' then
sUrlVal:=copy(sUrlVal,1,length(sUrlVal)-1);
if Copy(sUrlVal,length(sUrlVal),1)='/' then
sUrlVal:=copy(sUrlVal,1,length(sUrlVal)-1);
sUrlVal:=sUrlVal+' rvice.asmx';
tmpHTTPRIO:=THTTPRIO.Create(nil);
tmpHTTPRIO.URL:=sUrlVal;
tmpHTTPRIO.HTTPWebNode.UseUTF8InHeader :=true;
sp:=tmpHTTPRIO as ServiceSoap;
sXmlVal:=sp.Text_Reader(sFileName);
Result:=True;
except
on E:Exception do
begin
ShowMessage(pchar('错误提示:'+e.Message));
Exit;
end;
end;
end;