求delphi翻译成C#

Ruoch 2018-11-08 11:13:32
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MMSYSTEM, ComCtrls, ExtCtrls, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Timer1: TTimer;
TrackBar1: TTrackBar;
TrackBar2: TTrackBar;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Button2: TButton;
Memo1: TMemo;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
RadioButton6: TRadioButton;
procedure Timer1Timer(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
b1,b2:Integer;
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
var
MyJoy: TJoyInfo;
ErrorResult: MMRESULT;
begin
Timer1.Enabled:=False;
ErrorResult := joyGetPos(joystickid1, @MyJoy);
if ErrorResult = JOYERR_NOERROR then
begin
TrackBar1.Position := MyJoy.wypos;
TrackBar2.Position := MyJoy.wxpos;
RadioButton1.Checked := (MyJoy.wbuttons and joy_button1) > 0;
RadioButton2.Checked := (MyJoy.wbuttons and joy_button2) > 0;
RadioButton3.Checked := (MyJoy.wbuttons and joy_button3) > 0;
RadioButton4.Checked := (MyJoy.wbuttons and joy_button4) > 0;
RadioButton5.Checked := (MyJoy.wbuttons and joy_button5) > 0;
RadioButton6.Checked := (MyJoy.wbuttons and joy_button6) > 0;
if RadioButton1.Checked then begin
inc(b1);
memo1.Lines.Add('button1--'+IntToStr(b1));
end;
if RadioButton2.Checked then begin
inc(b2);
memo1.Lines.Add('button2--'+IntToStr(b2));
end;
Timer1.Enabled:=True;
end
else
case ErrorResult of
MMSYSERR_NODRIVER: ShowMessage('No Joystick driver present');
MMSYSERR_INVALPARAM: ShowMessage('Invalid Joystick Paramameters');
JOYERR_UNPLUGGED: ShowMessage('Joystick is Unplugged');
else
ShowMessage('Unknown error with Joystick');
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
b1:=0;
b2:=0;
Timer1.Enabled:=True;

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
b1:=0;
b2:=0;

end;

end.
-----------------------------以上是delphi的代码 这个代码的作用是调用一种叫做图像采集手柄的,求翻译 (我用的是广东医疗行业常见的蓝韵采集手柄)
...全文
150 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ruoch 2018-11-18
  • 打赏
  • 举报
回复
找到了一个demo了 感谢大家及版主的支持
无名小先生 2018-11-15
  • 打赏
  • 举报
回复
unit Unit1;

interface

uses //一下就是引用的pas,等于C#的.cs文件,类文件里面很多方法
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MMSYSTEM, ComCtrls, ExtCtrls, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Timer1: TTimer;
TrackBar1: TTrackBar;
TrackBar2: TTrackBar;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Button2: TButton;
Memo1: TMemo;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
RadioButton6: TRadioButton;
procedure Timer1Timer(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
b1,b2:Integer;
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
//以上就是些声明 delphi里的:= 就是C#里的=,赋值功能

procedure TForm1.Timer1Timer(Sender: TObject); //等同timer1_Tick事件
var
MyJoy: TJoyInfo; //应该是MMSYSTEM.pas文件里的组件
ErrorResult: MMRESULT; //应该是MMSYSTEM.pas文件里定义的组件
begin
Timer1.Enabled:=False;
ErrorResult := joyGetPos(joystickid1, @MyJoy); //joyGetPos方法也是MMSYSTEM.pas的吗?这个就是给ErrorResult赋值
if ErrorResult = JOYERR_NOERROR then //等同C#里的判断begin ..代码.. end 等同C#里的{ ..代码.. }
begin
TrackBar1.Position := MyJoy.wypos; //属性赋值
TrackBar2.Position := MyJoy.wxpos; //属性赋值
RadioButton1.Checked := (MyJoy.wbuttons and joy_button1) > 0; //属性赋值
RadioButton2.Checked := (MyJoy.wbuttons and joy_button2) > 0; //属性赋值
RadioButton3.Checked := (MyJoy.wbuttons and joy_button3) > 0; //属性赋值
RadioButton4.Checked := (MyJoy.wbuttons and joy_button4) > 0; //属性赋值
RadioButton5.Checked := (MyJoy.wbuttons and joy_button5) > 0; //属性赋值
RadioButton6.Checked := (MyJoy.wbuttons and joy_button6) > 0; //属性赋值
if RadioButton1.Checked then begin
inc(b1); //b1自动+1 等同b1++;
memo1.Lines.Add('button1--'+IntToStr(b1)); //memo1应该是个多文本控件,添加信息
end;
if RadioButton2.Checked then begin
inc(b2);
memo1.Lines.Add('button2--'+IntToStr(b2));
end;
Timer1.Enabled:=True; //定时器启动
end
else //ErrorResult 不等于 JOYERR_NOERROR的情况
case ErrorResult of
MMSYSERR_NODRIVER: ShowMessage('No Joystick driver present'); //C#里的Messagebox.show
MMSYSERR_INVALPARAM: ShowMessage('Invalid Joystick Paramameters');
JOYERR_UNPLUGGED: ShowMessage('Joystick is Unplugged');
else
ShowMessage('Unknown error with Joystick');
end;
end;

procedure TForm1.Button2Click(Sender: TObject);//按钮点击
begin
b1:=0; // b1 = 0;
b2:=0; // b1 = 0;
Timer1.Enabled:=True; // timer定时器启用

end;

procedure TForm1.FormCreate(Sender: TObject);//同Form_load
begin
b1:=0; // b1 = 0;
b2:=0; //b2 = 0;

end;

end.
shijies 2018-11-15
  • 打赏
  • 举报
回复
首先在单元文件里定义两个Integer类型的变量 b1,b2,在页面生成时,b1:=0; b2:=0; 在页面上添加了一个RadioButton控件,添加一个Timer控件,添加两个Button控件,添加一个Memo控件,
千杯不醉-sen 2018-11-13
  • 打赏
  • 举报
回复
根据思路重构。
张天星 2018-11-10
  • 打赏
  • 举报
回复
引用 3 楼 qq_17486399 的回复:
这鸡儿翻译等于重构啊

大概意思是,先看懂delphi,然后C#重写个功能一样的。
就和中英互译一样,肯定要重写啊。。。
……
可惜看不懂。
Ruoch 2018-11-09
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
关键代码在MMSYSTEM这个里面,C#你要找对应的库,否则翻译也白瞎

有没有关于手柄的控制类似的库资料 我这个是图像采集手柄
https://detail.1688.com/offer/1188248886.html?_server_name=www.szdatuo.cn&visitorIp=223.104.1.64&_server_port=80&from_site=officialsite&spm=a262gm.8761431.0.0.5ae165a6tsnUwC
大鱼> 2018-11-09
  • 打赏
  • 举报
回复
这鸡儿翻译等于重构啊
threenewbee 2018-11-08
  • 打赏
  • 举报
回复
关键代码在MMSYSTEM这个里面,C#你要找对应的库,否则翻译也白瞎

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧