我有一段delphi代码,请高手能给我详细的解释,谢谢(争取每句都能翻译成中文)

作者&投稿:须依 (若有异议请与网页底部的电邮联系)
急!求帮忙详细解释delphi代码 最好能翻译成C#的代码~

这段程序首先定义两个临时变量,一个是2行的数组tempvalue,一个是双字节的整型变量temp,后面个过程其实很简单,
第一步,把字符串变量strData转换成浮点型数据strtofloat(),并乘以10取整;
第二步,把上面得到的整型值,高位存入tempvalue数组的第一行,低位存入第二行,那高位和地位怎么定义,举个例子你就明白,比如一个数字1000,转换成16进制就是0x03E8,那么高位就是0x03,低位就是0xE8
最后一步,TestDataStream应是一个流,或者是文件句柄,目的是吧这个数组TempValue写入流中。

if not (form1.ClientHeight = 50) then //如果窗体的高不等于50那么
begin
form1.ClientHeight := form1.ClientHeight - 10; //窗体的高度等于窗体的高减去10
end else timer2.Enabled := false; //否则将timer2停止.


下边那个思路一样.略.

form1.ClientWidth := 400; //窗体宽为400
form1.ClientHeight := 40; //高为50
timer1.enabled := true; //timer1启动


timer2.enabled := true; //timer2启动
button2.visible := true; //button2设置为可视

{创建窗体自动生成的代码}
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls, ExtCtrls;

type

{这一段是注册控件,窗口中的所有空间在这里列出}
TForm1 = class(TForm)
RadioGroup1: TRadioGroup;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Button1: TButton;
Edit1: TEdit;
Label1: TLabel;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Table1: TTable;
Table1EmpNo: TIntegerField;
Table1LastName: TStringField;
Table1FirstName: TStringField;
Table1PhoneExt: TStringField;
Table1HireDate: TDateTimeField;
Table1Salary: TFloatField;
Edit2: TEdit;

{空间的事件注册}
procedure FormCreate(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

{定义全局变量}
var
Form1: TForm1;
Checked:array [1..3]of boolean;
MinNo,MaxNo:integer;

implementation

{$R *.dfm}

{这个是当窗体被打开,但是没有进行任何动作之前,窗体要进行的操作}
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit2.Enabled:=False;//文本框2可见,但不可编辑
Table1.Open;//表控件
Table1.FindLast;//表中数据的最后一行
MaxNo:=Table1EmpNo.Value;//将最后一行的编号给变量MaxNo
Table1.FindFirst;//表中数据的第一行
MinNo:=Table1EmpNo.Value;//将第一行的编号给变量MinNo

end;

{RadioButton1控件的单击事件}
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
RadioButton1.Checked:=True;//RadioButton1控件设为选中状态
Showmessage('编号的最大范围为'+inttostr(MinNo)+'~'+inttostr(MaxNo));//弹出窗口提示,范围是上面赋值的MinNo到MaxNo,IntToStr是字符串类型转换成整型
end;

{同RadioButton1Click}
procedure TForm1.RadioButton2Click(Sender: TObject);
begin
RadioButton2.Checked:=True;
Showmessage('编号的最大范围为'+inttostr(MinNo)+'~'+inttostr(MaxNo));
end;

{同RadioButton1Click}
procedure TForm1.RadioButton3Click(Sender: TObject);
begin
RadioButton3.Checked:=True;
Edit2.Enabled:=True;//文本框2设置为可编辑状态
Showmessage('编号的最大范围为'+inttostr(MinNo)+'~'+inttostr(MaxNo)+';请分别输入!');
end;

{button按钮控件单击事件}
procedure TForm1.Button1Click(Sender: TObject);
begin
if (not RadioButton1.Checked)and (not RadioButton2.Checked)and (not RadioButton3.Checked)then//判断如果RadioButton1,2,3同事没有被选中时
begin
showmessage('请选择查询方式!');//弹出窗口提示
Exit;//直接跳出,下面代码不再执行
end;
if RadioButton1.Checked then //如果RadioButton1被选中了
if Table1.FindKey([Edit1.Text]) then//如果选中状态下,文本框1中内容在表数据中找到了,提示记录找到,否则提示没找到
showmessage('您要查询的记录已找到!') else
showmessage('对不起,没有您要查询的记录!');
if RadioButton2.Checked then
begin
//同上,如果找到提示找到记录
Table1.FindNearest([Edit1.text]);
showmessage('已找到相关记录!');
end;
if RadioButton3.Checked then
begin
//如果RadioButton3被选中,在表中查找文本框1和文本框2的值之间的数据
Table1.SetRange([Edit1.Text],[Edit2.Text]);
Edit2.Enabled:=False;//文本框2不可编辑状态
end;
end;

end.

建议打开Delphi自己写一个,马上就明白了

晕,没必要了吧,很多代码都是delphi环境给自动生成的。
procedure TForm1.RadioButton1Click(Sender: TObject);
像上面这种类似的函数都是按钮的点击事件。
不理解可以问我,不过建议还是自己多看看书。书上都写的很明白。
看书之后还可以一劳永逸。

谷歌翻译结果如下:
单位组1;

接口

使用
窗口,邮件,sysutils的,变体,类,图形,控件,窗体,
对话,数据库,DBTables,网格,DBGrids,StdCtrls,ExtCtrls;

类型
TForm1 =类(TForm)
RadioGroup1:TRadioGroup;
RadioButton1:TRadioButton;
RadioButton2:TRadioButton;
RadioButton3:TRadioButton;
Button1的:TButton;
Edit1:t编辑;
Label1的:TLabel;
DBGrid1:TDBGrid中;
DataSource1:TDataSource;
表一:TTable;
Table1EmpNo:TIntegerField;
Table1LastName:TStringField;
Table1FirstName:TStringField;
Table1PhoneExt:TStringField;
Table1HireDate:TDateTimeField;
Table1Salary:TFloatField;
Edit2:t编辑;
程序FormCreate(发件人:TObject);
程序RadioButton1Click(发件人:TObject);
程序RadioButton2Click(发件人:TObject);
程序RadioButton3Click(发件人:TObject);
程序Button1Click(发件人:TObject);
私人
()私人声明
公众
公开声明)(
结束;

变种
Form1中:TForm1;
检查时间:数组[1 .. 3]布尔;
明诺,MaxNo:整数;

实施

($?*. dfm)

程序TForm1.FormCreate(发件人:TObject);
开始
Edit2.Enabled:=虚假;
Table1.Open;
Table1.FindLast;
MaxNo:= Table1EmpNo.Value;
Table1.FindFirst;;
明诺:= Table1EmpNo.Value;
结束;

程序TForm1.RadioButton1Click(发件人:TObject);
开始
RadioButton1.Checked:=真;
Showmessage(编号的最大范围为+ inttostr(明诺)+~+ inttostr(MaxNo));
结束;

程序TForm1.RadioButton2Click(发件人:TObject);
开始
RadioButton2.Checked:=真;
Showmessage(编号的最大范围为+ inttostr(明诺)+~+ inttostr(MaxNo));
结束;

程序TForm1.RadioButton3Click(发件人:TObject);
开始
RadioButton3.Checked:=真;
Edit2.Enabled:=真;
Showmessage(编号的最大范围为+ inttostr(明诺)+~+ inttostr(MaxNo)+;请分别输入!);
结束;

程序TForm1.Button1Click(发件人:TObject);
开始
如果(不RadioButton1.Checked)和(不RadioButton2.Checked)和(不RadioButton3.Checked),则
开始
showmessage(请选择查询方式!);
退出;
结束;
然后,如果RadioButton1.Checked
如果Table1.FindKey([Edit1.Text]),则
showmessage(您要查询的记录已找到!)其他
showmessage(对不起,没有您要查询的记录!);
然后,如果RadioButton2.Checked
开始
Table1.FindNearest([Edit1.text]);
showmessage(已找到相关记录!);
结束;
然后,如果RadioButton3.Checked
开始
Table1.SetRange([Edit1.Text],[Edit2.Text]);
Edit2.Enabled:=虚假;
结束;
结束;

结束。


我有一段delphi7代码,如何用delphi7生成exe程序?
最简单的办法是是使用命令行编译工具DCC32.EXE,比如我有A.DPR程序,其包含一系列的*.FRM、*.PAS、*.RES等文件,那么使用下面的一个命令就可以把这些文件编译为A.EXE:DCC32.EXE A.DPR 当然也可以在DELPHI集成环境里面编译,方法是:首先鼠标双击DELPHI图标进入DELPHI环境,然后在DELPHI里面打开文件,选...

我有一段delphi代码,请高手能给我详细的解释,谢谢(争取每句都能翻译...
procedure TForm1.RadioButton1Click(Sender: TObject);begin RadioButton1.Checked:=True;\/\/RadioButton1控件设为选中状态 Showmessage('编号的最大范围为'+inttostr(MinNo)+'~'+inttostr(MaxNo));\/\/弹出窗口提示,范围是上面赋值的MinNo到MaxNo,IntToStr是字符串类型转换成整型 end;{同RadioButton...

求一段delphi的程序代码,关于按钮的
procedure TForm1.OnButton1Click(Sender: TObject);begin if Button1.Caption = 'Start' then begin Button1.Caption := 'Stop';...end else begin Button1.Caption := 'Start';...end;end;

delphi的一段代码。啥意思
如果你在stringgrid中的option中设置multiselect,那么你就可以一次选择多行, selection.top就是你选择区域的第一行

解释一下这段delphi代码
举个例子容易明白:假如你的窗体上有两个按钮,一个“计算”,一个“停止”,如果你的计算是密集运算或复杂处理,当你点了“计算”钮后,你将发现“停止”按钮不会响应你的点击了,也就是说,你无法随时使计算过程停下来。而倘若你在计算的代码中加入Application.ProcessMessages,则你的程序就有机会...

delphi一小段代码问题。在线等。急~~~
这段是说在光标停在EDIT2的时候按键盘的向下键,并且BITBTN1这个程序中的按钮是可操作的话,就会将BITBTN1设置为有虚线边框的。如果输入的时不满足条件的话,光标继续停在EDIT2中。如果按向上方向键的话光标就会到EDIT1中。其实个人觉得BitBtn1.SetFocus不怎么好,你还要再按一次回车或者空格才能执行...

求一段简单的Delphi 代码 (如何重复执行button)
添加一个timer组件,并设备相关属性,把你要执行的代码写到这个timer里,button1按下去后timer.enabled:=true;button按下去后timer.enabled:=false;要控制重复执行的速度,只需要设置timer的Interval属性即可,Interval值越小,重复越快,Interval越大,重复越慢 ...

这一段delphi代码是什么缺陷?
定义两个全局变量 pbch:WideString;pbi:integer;增加一个按钮,添加事件 procedure TForm1.Button1Click(Sender: TObject);var sl: TStringList;begin sl:=TStringList.Create;sl.LoadFromFile('h:\\文档1.txt');pbch:= sl.Text;sl.Free;pbi:=1;timer1.Enabled:=True;end;先把timer1.enabled设...

求delphi的一段代码,或源码。 读取文件操作并保存。
文本文件的:procedure aaa(FileName:string);var str:TStringList;i,j,len:integer;s1,s2:string;begin str:=TStringList.Create;Str.LoadFromFile(FIleName);for i:=0 to Str.Count-1 do begin s1:=LowerCase(str.Strings[i]);Len:=Pos(' ',s1); \/\/分隔符为空格 Len:=Pos(#9,s1)...

delphi一段代码
这段代码是有问题的,但主要意思是自动生成代码s000002,s000003。。。如此。但是这样的代码如果到了第是个的话就会变成s0000010,多出一位,到了s00000100,多出两位。如果是我,我会这样操作:这是我用过的一段代码,xsbh十一哥变量,可以赋值给adoquery1.fieldbyname('')adoquery1.Last;if adoque...

泾县13364009139: 我有一段delphi代码,请高手能给我详细的解释,谢谢(争取每句后面都有中文注释)
谢饺方苏: if not (form1.ClientHeight = 50) then //如果窗体的高不等于50那么 begin form1.ClientHeight := form1.ClientHeight - 10; //窗体的高度等于窗体的高减去10 end else timer2.Enabled := false; //否则将timer2停止. 下边那个思路一样.略. form1....

泾县13364009139: 请DELPHI高手帮我写一段代码,万分感谢!
谢饺方苏: 假设你前面注册表这部分都完成了 开始获取绝对路径 可以使用GetCommandLine函数 使用结果如下然后就是截取字符串获取你要的文件路径了 然后使用一个Timer控件来实现运行程序后退出的操作 WinExec这个函数 可以是你运行其他的程序 在程序启动的时候要将Timer的Enabled属性更改为True 设计时设置为False Timer: Timer1.Enabled:=false; close; 有什么不明白的 可以再问我

泾县13364009139: 请delphi高手解释这段代码 -
谢饺方苏: 这就是一个简单的判断啊 Tvowels是自定义的字符集和类型Vowels:TVowels 声明Vowels是TVowels类型 然后 在给Vowels赋初值 是 a e i o u 然后 当你输入的时候 进行判断 如果属于 以上集合 就输出 是元音 否则 则输出 请再试

泾县13364009139: delphi请高手帮我看看这段程序 -
谢饺方苏: 改radiogroup1.itemindex =-1

泾县13364009139: 出库代码Delphi -
谢饺方苏: //不知道你要的是不是这个~~ procedure TFomr1.Button1Click(Sender: TObject); var qlNum: integer; begin if not trystrtoint(Edit9.Text, qlNum) then //假设你的数量是整数 showmessage('请输入正确的数量'); //假设你现在的adoquery是打开的,...

泾县13364009139: 请高手帮忙翻译一段Delphi程序,跪谢! -
谢饺方苏: 程序Tsbrkform.Button1Click (发件人: TObject ) ; 开始 如果edit6.Text = ''然后开始showmessage ( '该记录不能为空' ) ;退出;edit6.Clear ;edit6.SetFocus ;结束; 如果长度(修剪( edit1.Text ) ) “ ” 6然后开始...

泾县13364009139: 高手帮分析一下一段DELPHI的代码,我新手~~~~ -
谢饺方苏: 注意啊~ 这个问题很简单~ 你必须在需要判断的内容前面加上括号: if (Edit1.Text ='1') and (edit2.Text = '1') then 为什么呢? 因为优先级的关系 ~ 多去看看Delphi 的基础教程~ 你应该是从VB转到Delphi 的吧~

泾县13364009139: 求一段使电脑死机的Delphi代码!~ -
谢饺方苏: //------>>>>键盘鼠标锁定的函数定义 ---------------- function FunctionDetect(LibName, FuncName: string; var LibPointer: Pointer): boolean; var LibHandle: tHandle; begin Result := false; LibPointer := nil; if LoadLibrary(PChar(LibName)) = 0 then exit; ...

泾县13364009139: Delphi高手请进问下代码 -
谢饺方苏: var pwdfile:textfile;你代码第一行定义了pwdfile是textfile型,表示对应的文件是以行为分隔的文本型.Standard I/O routines use the predefined TextFile or Text type, which represen...

泾县13364009139: 找一高手懂Delphi的帮忙编译个源码
谢饺方苏: 有源码好办,关键是Delphi的“控件名”和源码中的“标识”要一致.你可以打开Delphi7进行操作.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网