全部博文(788)
分类:
2009-02-11 16:54:28
补充一下
2.MaskEdit1的属性为!9999;0; 第3个属性用空格和0 都试过 问题依旧
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask;
type
TForm1 = class(TForm)
MaskEdit1: TMaskEdit;//从这里输入数字
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
x,i:Integer;//在这里声明变量可以吗?还是应该在button的事件里声明?
在这里和在button里都可以声明变量,但生存周期不一样
Array16:Array[1..16] of Integer;//保存在这个数组里
这里似乎没有必要用integer,有点浪费了。
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
x:=strtoint(Form1.MaksEdit1.Text);//赋值给中间变量x
i:=16;
repeat
Array16[i]:=x mod 2;//偶这里是用最原始的方法了,连续取余呵呵
x:=x div 2;
i:=i-1;
until i=0;
end;
end.
后面你那许多问题,我建议你找本OBJECT PASCAL或者DELPHI的书看看,
给你写了一个例子:把一个整形数转换成2进制字符串输出
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button2: TButton;
Edit2: TEdit;
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function IntToBinaryStr(TheVal: LongInt): string;
var
counter: LongInt;
begin
if TheVal = 0 then begin
result := '0';
exit;
end;
result := '';
counter := $80000000;
{Suppress leading zeros}
while ((counter and TheVal) = 0) do begin
counter := counter shr 1;
if (counter = 0) then break; {We found our first "1".}
end;
while counter > 0 do begin
if (counter and TheVal) = 0 then result := result + '0'
else result := result + '1';
counter := counter shr 1;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Edit2.Text := IntToBinaryStr(StrToInt(Edit1.Text))
end;
end.
恩恩 还没学得太透彻 借了些书对Pascal讲解篇幅不太多
我这里后面是要做个串口传输控制的程序
要一位一位传
把数组每一位陆续传到串口
不使用控件 不使用Api 是内嵌汇编 在98系统下做
如果是string型 如何实现一位一位 请给出方法
继续等
谢谢
不知楼主说的一"位"是不是指string里的一个字符..如果是,那么:
如有:
string:='abcdefg';
则:
string[1] == 'a';
string[2] == 'b';
...
强烈鄙视问题解决后不结贴的人!
强烈鄙视技术问题解决后把贴子转移到非技术区的人!
鄙视你们!