各位高手,我的问题可能对您来说非常简单,但对我来说非常迷惑,请解答时详细一点,我的分不多,无法给您太多的分,就帮我一把吧,谢谢!
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.   

    1.delphi5开发人员指南。
    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 就可以看见他的定义。
      

  2.   

    2.delphi是面向对象的。Edit1.text;
    3.rowcount.
      

  3.   

    先谢谢你这么费心,不好意思还要问:
    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’是在这个单元定义的)我是想明白这究竟是什么意思?
      

  4.   

    1、Delphi的语言是pascal,和c没关系。学vc可以更深的了解windows底层。如果你把delphi5开发人员指南都看完,就知道怎么学了。也就是高手,高啊。
    2、file->use unit 选择unit2.必须引用unit2,就好像c里的include.
    3、colcount是列数,rowcount才是行数。
    4、聪明,虽然delphi不要求定义的格式,但是这样都是习惯了。
    modalresult是form的返回值,如果给他赋值,只要不=0 ,窗体就自动关闭。
    书的做法是在定时器的事件间隔显示一个启动画面,就想delphi的。然后关闭,关闭后fmSplashForm就再没有了,从内存中释放掉。(关闭还是再内存中存在实例)
      

  5.   

    2、我用过" form2.edit1.edit:=form1. edit1.edit"这句话怎么不行那(form1为主窗体)
      

  6.   

    2、我用过" form2.edit1.edit:=form1. edit1.edit"这句话怎么不行那(form1为主窗体)
     这个问题严重了,一时说不清楚。
     把你的出错信息贴出了
      

  7.   

    fox一样8888,你好:
    你刚才回答了我的另外一个问题,因为第一人向你求情了,而且他回答的挺好,所以将10分送给他了。(你的回答中你失误写错了一点即XianShi:= ' intToStr(iSum) ' ;    //=======不该有‘’,对不对呀?)
    中午继续聊好吗?
      

  8.   

    //////////////////////////////////////////////////
    、我用过" form2.edit1.edit:=form1. edit1.edit"这句话怎么不行那(form1为主窗体)
     这个问题严重了,一时说不清楚。
     把你的出错信息贴出了
    ////////////////////////////////////////////////
    我是想在form2.showmodal后,一显示就将form1中的edit1的text内容写入form2的edit1中。
    我用过在form2窗体中增加一个button点击后再写上上面那句话就能实现,但是怎么样能不再加这个button就能直接实现??
      

  9.   

    小写转大写:
    edit1.text:=UpperCase('abcD');
      

  10.   

    form2.showmodal的问题:
    在TForm2.show或Tform2.Activation事件中:  edit1.text:=form1.edit1.text;
      

  11.   

    谢谢小老虎!
    我有一个书上的例程(小写转换大写),可能有错误,帮我看以下好吗?
    十、 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;
    究竟错在哪里??
      

  12.   

    我是想在form2.showmodal后,一显示就将form1中的edit1的text内容写入form2的edit1中。
    我用过在form2窗体中增加一个button点击后再写上上面那句话就能实现,但是怎么样能不再加这个button就能直接实现??
    ===================================
    在form2上双击鼠标。将自动切换到oncreate(Sender:TObject);
    写道里面。
    当然还有onshow. onactive.
      

  13.   

    ThisWei,ThisPos:string[2]  ;//没错。是不是那个是全角的空格。
    strSourceMoney[iWei] 取strSourceMoney的第iWei位。
    字符串其实就是字符数组。
      

  14.   

    1、说过了
    2、直接把edit.text赋值给你要传给的变量就行了
    多看看DELPHI自带的帮助文件
      

  15.   

    语言?showmodal?showmessage?你晕我也晕。我都不知道你们在说些什么……showmodal,showmessage不就是form的一个子过程嘛。学他们有用吗?是,你是应该学C语言……还有,楼上的费苦心,uses 与 include类似?问问楼顶的,你知道include什么意思吗?你需要的是不要问问题,也就是说闭上嘴,初学者最忌讳乱问。(没有恶意,少说话,多看书)问题可以问,前提是你得看完一些书,你所问的东西都在书上有,请你好好看书,然后再说。然后放下你现在写的所有东西。好好看看上面那位给你建议的那本书,delphi developer's guide,也就是delphi开发人员指南,在delphi的光盘里有。把里面提到的例子好好看一遍,与其自己做代码,还不如看别人的代码。如果你没有编程基础,那你就找个基础书,学习下C语言,pascal,然后再看programming windows这本书。之后学delphi这个大东西。没有基础你会越来越糊涂。因为你连最基本的顺序,条件,循环这三大概念都不清楚。都不知道fuction procedure这些东西到底做什么用的。你会发现你无法驾驭delphi的……
      

  16.   

    另外,我是好心才给你这么说,言辞不恭指出请原谅。delphi并不是人人想用就用的。你需要一些基础。比如SDK,还有,OOP。我都懒得说了,给这里这么多人都说一样的。我感觉很累……
      

  17.   

    delphi是方便,就像方便的计算器,加减乘除,很容易计算。但是,在小学生的课堂上,还是得学习加减乘除,如果用计算器被老师看见就会……如果做作业的时候用计算器那你能学到一些什么呢?或许以后你天天用计算器,根本不用去考虑什么加减乘除。但是你知道什么是加减乘除,因为这个就是一种素质。delphi就是你的工具,而你并不具备这种素质,你用小学生的水平来玩大人的工具。如果你真的想用delphi来做点什么,真心希望你把基础知识掌握好。或许你用不到,但是你得做到了解,这个就是一个素质。请你明白。
      

  18.   

    哈哈, reallike(爱翔)说的好。
      

  19.   

    唉,楼上的,我实在是佩服你,你有耐心。我可没有这个耐心,我每次都说去看programming windows,developer's guide。每次都用这个计算器的比方来给他们说,可是……有人说我做人身攻击,又如何如何。你可以看看,几乎每个初学者的帖子,我都这么说一遍,我已经很懒了,我不想说了……
      

  20.   

    >>靠,都是你事先写好了的吧?怎么和教训其他人说的都一模一样的呀?>>晕@_@没有,因为写得太多了,大概意思也就那样了。反正就是如此了。加上我打字比较快,反正一分钟300个字符吧。我决定不再说类似的话了……
      

  21.   

    没嗅到人身攻击的味道。只是老这么前篇一论地说,不枯燥么?有点新意?好不好?
    期待ING……
      

  22.   

    另外 Geranium(天使消失的街道)你这个家伙,我每次都是给 foxyy8888(为升星眼也花了)说的话,你总是抢在我前面。你到底想咋样?:)出来,咱们真人PK,你随便挑,到底是写代码,还是拼吃菜。随便你选!
      

  23.   

    to Geranium(天使消失的街道)新意?需要吗?你看到如此初级的问题。你的感觉是如何?这就是现在教育体制下的人才,不会自学,不知道如何自学。碰到问题就乱问。也不看看书。我有些腼腆,内向。所以,我尽量不去问别人,我宁愿自己熬夜好几个小时。其实就是为了一个弱智的问题。那是我几年前的事情。其实在中国,好的程序员大部分都很内向,因为初学,自学比交流来的重要。而学校培养的,包括我的绝大多数同学在内,依赖性太强。而不去查资料。我是吉他手,我在国内的吉他论坛遇到的是同样的问题。说什么吉他就是比什么吉他来的好。就像delphi VS VC++ 一样……问简单的音阶,和弦到底怎么学?就像我们的变量,过程什么的一样。问这个音色怎么调不出来,又怎么去调音等等,都是书本上有的。学东西的方法都一样,只要有耐心和毅力还有书本资料,不轻言放弃。太多人学习的样子都是如此了,我太厌倦了。我怎么不问?其实还有一个方面,我不管学吉他,学编程都没有条件问。我学编程都没有CSDN这号玩意,学吉他的时候还不知道internet是什么东西。我只知道图书馆,或者书店有我需要的东西……有条件,有交流环境之后。造成的是另一种病态的事情。现在Csdn就已经很病态了。
      

  24.   

    另外,我在吉他论坛废话说得最多的就是《和声学》这本书。在编程论坛说得最多的就是《Programming windows》这本书。可是没有几个人愿意听我的,去好好看这种基础的书……
      

  25.   

    怎么开始PK了。reallike(爱翔(只有lizzy可以叫其他人不能)) 老哥很好玩啊。
      

  26.   

    《Programming windows》确实使一本好书啊。
      

  27.   

    to foxyy8888(小菜鸟) 好玩?有什么好玩的?嘿嘿。
      

  28.   

    呵呵,应该多教训我啊。
    我学delphi已经快1年了。还屁都不会。
      

  29.   

    Programming windows 尽管是用C来描述的,但是我认为delphi程序员都应该看。有关真人PK,我建议还是PK吃菜吧。我不喝酒……你们吃不过我……哈哈。
      

  30.   

    MSDN and HELP,偶的最爱……每个人都有自己的路,你可以为他指个方向,但未必是属于他的那条路,也许这就是宿命吧……
      

  31.   

    我建议你作我的师弟,去给ihihonline(小小)做徒弟。
      

  32.   

    具可靠消息,
    foxyy8888(小菜鸟) 喝过两瓶二锅头。
    在学校使吃饭吃过1斤二两米饭,菜就不要说了。
      

  33.   

    >>我学的太杂了,所以现在什么都不会了。那我建议你好好学一下C++或者Java,给使用delphi做基础。
      

  34.   

    没办法,我的一个老师告诉我delphi很不错。然后我就学这个了。
      

  35.   

    之前,我有Foxpro的基础,有Basic基础,然后在学校学习的C语言之类的。顺便学习delphi
      

  36.   

    同样啊,我还学asm,lotus.
    可是都不太好。
      

  37.   

    现在由于公司需要还要学oracle,unix。
      

  38.   

    reallike、Geranium你们两个是不是南方的?且互相认识?Delphi在北方不如南方学的多
      

  39.   

    我是北方人,正宗山东人。lyx19990623(127)你是不是小孩子,或者是女生?这么单纯?我们随便说说去PK什么你就信以为真了?隔好远呢。
      

  40.   

    吼吼~,好啊。
    我看 lyx19990623(127) 也是女生。
      

  41.   

    reallike,你是山东人??我是济南的。非常抱歉,我不是你们想象的女生,恐怕也比你们年龄大,
    只是工作需要和个人爱好,所以学学计算机软件知识。你是哪里的?
      我的分不知该给谁了??