delphi 中一种好用的数组定义方法以及函数嵌套的使用源代码
来源:互联网 发布:v盾网络验证好破解吗 编辑:程序博客网 时间:2024/06/06 11:49
typeTByteBuff;= array of integer; function abc(a:integer):TByteBuff;; var tempArr:TByteBuff; begin setlength(tempArr,2); tempArr[0] := a; tempArr[1] := a + 10; result:=tempArr; end; procedure TForm1.Button1Click(Sender: TObject); var a : integer; begin a := 5; showmessage(inttostr( abc(a)[0] )); //5 //这以这样使用返回数组 showmessage(inttostr( abc(a)[1] )); //15 //这以这样使用返回数组end;function TFrmMain.CommandFrameData(CommandCode, MeasureType, SampleMode: Byte; DataSize, MeasureSum, MeasureID: Integer): TByteBuff;vartempsendbuff,InteraBuff:TByteBuff;J,sum:Integer;function BuildFrameData(CommandCode, MeasureType, SampleMode: Byte; DataSize, MeasureSum, MeasureID: Integer): TByteBuff; //组帧数据 varsendbuff: TByteBuff;i:Integer;beginsetlength(sendbuff,Datasize);//FillChar(sendbuff,SizeOf(sendbuff),0);if CommandCode=$01 then //建立连接帧begin sendbuff[0]:=$01;end;if CommandCode=$02 then //测量任务及参数设置指令begin if MeasureType=$03 then //数字测量类型 begin sendbuff[0]:=CommandCode; //指令码 sendbuff[1]:=MeasureSum; //被测量个数 sendbuff[2]:=MeasureID; //测量ID sendbuff[3]:=MeasureType; //测量类型 sendbuff[5]:=DMeasureParam.DChannelNum; //数字通道号 sendbuff[6]:=DMeasureParam.PulsePerCir[0]; //每圈脉冲数 sendbuff[7]:=DMeasureParam.PulsePerCir[1]; sendbuff[8]:=DMeasureParam.FrequencyCoefficient; //分频系数 sendbuff[4]:=SizeOf(sendbuff[5])+SizeOf(sendbuff[6])+SizeOf(sendbuff[7])+SizeOf(sendbuff[8]); //测量参数长度 end else begin sendbuff[0]:=CommandCode; //指令码 sendbuff[1]:=MeasureSum; //被测量个数 sendbuff[2]:=MeasureID; //测量ID sendbuff[3]:=MeasureType; if AMeasureParam.Samplemode=$00 then begin sendbuff[5]:=AMeasureParam.AChannelNum; //模拟通道号 sendbuff[6]:=AMeasureParam.DChannelNum; //数字通道号 sendbuff[7]:=AMeasureParam.NodeNumPerCir[0]; //每圈采集点数 sendbuff[8]:=AMeasureParam.NodeNumPerCir[1]; sendbuff[9]:=AMeasureParam.PulsePerCir[0]; //每圈脉冲数 sendbuff[10]:=AMeasureParam.PulsePerCir[1]; sendbuff[11]:=AMeasureParam.ChoseRange; //量程选择 sendbuff[4]:=SizeOf(sendbuff[5])+SizeOf(sendbuff[6])+SizeOf(sendbuff[7])+SizeOf(sendbuff[8])+SizeOf(sendbuff[9])+SizeOf(sendbuff[10])+SizeOf(sendbuff[11]); //测量参数长度 end; if AMeasureParam.Samplemode=$01 then begin sendbuff[5]:=AMeasureParam.AChannelNum; //模拟通道号 sendbuff[6]:=AMeasureParam.SampleRate[0]; //采样率 sendbuff[7]:=AMeasureParam.SampleRate[1]; sendbuff[8]:=AMeasureParam.SampleRate[2]; sendbuff[9]:=AMeasureParam.SampleRate[3]; sendbuff[10]:=AMeasureParam.SaveLetter; sendbuff[4]:=SizeOf(sendbuff[5])+SizeOf(sendbuff[6])+SizeOf(sendbuff[7])+SizeOf(sendbuff[8])+SizeOf(sendbuff[9])+SizeOf(sendbuff[10]); end; end;end;Result:=sendbuff;end; beginsum:=0;InteraBuff:=BuildFrameData(CommandCode, MeasureType, SampleMode, DataSize, MeasureSum, MeasureID);setlength(tempsendbuff,Sizeof(InteraBuff)+6);tempsendbuff[0]:=$7E;tempsendbuff[1]:=Sizeof(InteraBuff)+2;for J := 0 to Sizeof(InteraBuff) - 1 dobegin tempsendbuff[2+J]:=InteraBuff[J]; sum:=sum+interabuff[J];end;tempsendbuff[3+J]:=(sum mod 65535);tempsendbuff[4+J]:=$7F;Result:=tempsendbuff; end;
0 0
- delphi 中一种好用的数组定义方法以及函数嵌套的使用源代码
- DELPHI中类之间的嵌套定义
- JavaScript中函数的定义以及使用
- 函数指针以及函数指针数组的定义与使用
- DELPHI 静态数组的定义方法
- 数组的定义以及使用.
- java方法的定义以及数组的使用
- c语言中的函数的定义以及相关的调用、嵌套、递归以及和数组的关系
- python第12篇之-函数的嵌套定义以及关键字nonlocal使用
- delphi热键:delphi程序中定义热键的方法 --转
- JAVA数组的定义以及使用1
- 一种好用的CSS测试方法
- DELPHI中使用DLL的方法以及INSTALLSHIELD中使用DLL方法
- Delphi中存储二维数组的方法
- 一种全局变量的定义方法
- 一种新的嵌套绑定的方法
- JAVA中方法(函数)的定义与使用
- jquery以及js中那些好用的函数
- ;汇编小写转大写
- JAVA String.format 方法使用介绍
- Android Adapter学习心得
- 自定义IP原来如此简单
- 已知直角三角形的斜边是某个整数,求满足这个条件的不同直角三角形的个数。
- delphi 中一种好用的数组定义方法以及函数嵌套的使用源代码
- C预处理器
- Deploy to Maven Central Repository
- iOS中UIAlertView的使用方法
- 汇编交换两个数的内容
- 关于laravel 数据查询方法all() ,无返回值,不报错
- HLSL效果框架
- 学习ios1.通知
- android 国外网站