各位高手,我的问题可能对您来说非常简单,但对我来说非常迷惑,请解答时详细一点,我的分不多,无法给您太多的分,就帮我一把吧,谢谢!
1、我是Delphi6初学者,以前对计算机也只是了解一点而已,我是不是需要先学习c语言,才能再学?(因为我在学习过程中发现好多语言比如:showmodal、showmessage、等不知从哪里学到);2、Edit中的内容如何读取出来?比如说我想把Edit中输入的内容“ok”作为判断,或者把Edit中输入的数值取出来,该用什么函数或命令?
3、Stringgrid1的行、列各设置为15、50,运行如下代码:
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,k :integer;
begin
k :=0;
with stringgrid1 do
for i :=0 to colcount-1 do
for j :=0 to colcount-1 do
begin
k :=k+1;
cells[i+1,j+1] :=inttostr(k);
end
end;
end.
运行后表格中第一列为1-15,而第二列则为51-55,怎么不是16-30呀?
4、下面这段代码(红色)是一个启动窗体的,在project1中为什么要加上‘controls’?什么意思呐?(书上说是因为‘mrok’是在这个单元定义的。)
program Project1;
uses
Forms, controls,
Unit1 in 'Unit1.pas' {fmMainForm},
Unit2 in 'Unit2.pas' {fmSplashForm};
{$R *.res}
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, jpeg;
type
TfmSplashForm = class(TForm)
Label1: TLabel;
Image1: TImage;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure Image1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmSplashForm: TfmSplashForm;
implementation
{$R *.dfm}
procedure TfmSplashForm.Timer1Timer(Sender: TObject);
begin
fmSplashForm.modalresult :=mrok;
end;
。
1、我是Delphi6初学者,以前对计算机也只是了解一点而已,我是不是需要先学习c语言,才能再学?(因为我在学习过程中发现好多语言比如:showmodal、showmessage、等不知从哪里学到);2、Edit中的内容如何读取出来?比如说我想把Edit中输入的内容“ok”作为判断,或者把Edit中输入的数值取出来,该用什么函数或命令?
3、Stringgrid1的行、列各设置为15、50,运行如下代码:
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,k :integer;
begin
k :=0;
with stringgrid1 do
for i :=0 to colcount-1 do
for j :=0 to colcount-1 do
begin
k :=k+1;
cells[i+1,j+1] :=inttostr(k);
end
end;
end.
运行后表格中第一列为1-15,而第二列则为51-55,怎么不是16-30呀?
4、下面这段代码(红色)是一个启动窗体的,在project1中为什么要加上‘controls’?什么意思呐?(书上说是因为‘mrok’是在这个单元定义的。)
program Project1;
uses
Forms, controls,
Unit1 in 'Unit1.pas' {fmMainForm},
Unit2 in 'Unit2.pas' {fmSplashForm};
{$R *.res}
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, jpeg;
type
TfmSplashForm = class(TForm)
Label1: TLabel;
Image1: TImage;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure Image1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmSplashForm: TfmSplashForm;
implementation
{$R *.dfm}
procedure TfmSplashForm.Timer1Timer(Sender: TObject);
begin
fmSplashForm.modalresult :=mrok;
end;
。
2.delphi是面向对象的。Edit1.texgt;
3.procedure TForm1.Button1Click(Sender: TObject);
var
i,j,k :integer;
begin
k :=0;
with stringgrid1 do
for i :=0 to colcount-1 do《-//晕,这辆个怎么一样
for j :=0 to colcount-1 do《-
begin
k :=k+1;
cells[i+1,j+1] :=inttostr(k);
end
end;
end.
4.mrok其实代表一个整数,在controls单元定义了,这样是便于记忆。你可以按住Ctrl同时鼠标点 mrok 就可以看见他的定义。
3.rowcount.
1、是不是这类语言比如showmodal、showmessage可以通过delphi5开发人员指南学习到,而不需要
学习C语言?
2、我用过" form1.edit1.edit:=form2. edit1.edit"这句话怎么不行那?
3、第三个问题究竟为什么?请详细说明
4、在这段代码中我用了一个timer,当事件Timer1timer发生时将启动窗体
fmSplashForm的modalresult的属性值设为mrok(其中的mr是不是指modalresult的缩写),在project1中我刚才没有写完代码:
即当启动窗体fmSplashForm的modalresult的值为mrok时先将其hide;再将其release;(书上说是因为‘mrok’是在这个单元定义的)我是想明白这究竟是什么意思?
2、file->use unit 选择unit2.必须引用unit2,就好像c里的include.
3、colcount是列数,rowcount才是行数。
4、聪明,虽然delphi不要求定义的格式,但是这样都是习惯了。
modalresult是form的返回值,如果给他赋值,只要不=0 ,窗体就自动关闭。
书的做法是在定时器的事件间隔显示一个启动画面,就想delphi的。然后关闭,关闭后fmSplashForm就再没有了,从内存中释放掉。(关闭还是再内存中存在实例)
这个问题严重了,一时说不清楚。
把你的出错信息贴出了
你刚才回答了我的另外一个问题,因为第一人向你求情了,而且他回答的挺好,所以将10分送给他了。(你的回答中你失误写错了一点即XianShi:= ' intToStr(iSum) ' ; //=======不该有‘’,对不对呀?)
中午继续聊好吗?
、我用过" form2.edit1.edit:=form1. edit1.edit"这句话怎么不行那(form1为主窗体)
这个问题严重了,一时说不清楚。
把你的出错信息贴出了
////////////////////////////////////////////////
我是想在form2.showmodal后,一显示就将form1中的edit1的text内容写入form2的edit1中。
我用过在form2窗体中增加一个button点击后再写上上面那句话就能实现,但是怎么样能不再加这个button就能直接实现??
edit1.text:=UpperCase('abcD');
在TForm2.show或Tform2.Activation事件中: edit1.text:=form1.edit1.text;
我有一个书上的例程(小写转换大写),可能有错误,帮我看以下好吗?
十、 unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function Small2Big(SourceMoney:Currency):string;
var
strSourceMoney,strObjectMoney:string;
//strSourceMoney用于保存未转换的小写字符串
//strObjectMoney用于保存已转换的大写字符串
ThisWei,ThisPos:string[2] ;
//此处怎么有"[2]" 运行时报错:
//ThisWei为当前位置,ThisPos为当前位的人民币单位
iWei,PosPoint:integer;
//iWei为当前位置,PosPoint为小数点的位置
begin
strSourceMoney:=formatfloat('0.00',SourceMoney);
//将浮点数转换成指定格式字符串
posPoint:=pos('.',strSourceMoney);
//小数点的位置
//下面开始循环小写货币的每一位。从右边到左边
for iWei:=length(strSourceMoney) downto 1 do
begin
case strSourceMoney[iWei] of
//转换当前数字
//这句话不明白。strSourceMoney是一个字符串,后面
//怎么带"[iWei]"
'.':continue; //如果是小数点则不进行转换操作
'1':thisWei:='壹'; '2':thisWei:='贰';
'3':thisWei:='叁'; '4':thisWei:='肆';
'5':thisWei:='伍'; '6':thisWei:='陆';
'7':thisWei:='柒'; '8':thisWei:='捌';
'9':thisWei:='玖'; '0':thisWei:='零';
end;
case PosPoint-iWei of //获得当前人民币的单位
-3:ThisPos:='厘';
-2:ThisPos:='分';
-1:ThisPos:='角';
1:ThisPos:='元';
2:ThisPos:='拾';
3:ThisPos:='佰';
4:ThisPos:='千';
5:ThisPos:='万';
6:ThisPos:='拾';
7:ThisPos:='佰';
8:ThisPos:='千';
9:ThisPos:='亿';
10:ThisPos:='拾';
11:ThisPos:='佰';
12:ThisPos:='千';
end;
strObjectMoney:=thisWei+thisPos+strObjectMoney;
//组合成大写金额
end;
small2Big:=strObjectMoney;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
thisMoney:currency;
begin
try
thisMoney:=strToFloat(edit1.text);
except
showmessage('Please input correct number! ');
exit;
end;
label1.caption:=Small2Big(thisMoney);
end;
究竟错在哪里??
我用过在form2窗体中增加一个button点击后再写上上面那句话就能实现,但是怎么样能不再加这个button就能直接实现??
===================================
在form2上双击鼠标。将自动切换到oncreate(Sender:TObject);
写道里面。
当然还有onshow. onactive.
strSourceMoney[iWei] 取strSourceMoney的第iWei位。
字符串其实就是字符数组。
2、直接把edit.text赋值给你要传给的变量就行了
多看看DELPHI自带的帮助文件
期待ING……
我学delphi已经快1年了。还屁都不会。
foxyy8888(小菜鸟) 喝过两瓶二锅头。
在学校使吃饭吃过1斤二两米饭,菜就不要说了。
可是都不太好。
我看 lyx19990623(127) 也是女生。
只是工作需要和个人爱好,所以学学计算机软件知识。你是哪里的?
我的分不知该给谁了??