关于Delphi 组件编写;
关于数据库操作;
关于COM操作;
关于DLL操作等!

解决方案 »

  1.   

    先给大家一些常识:
    在delphi 中快捷键的用法:设计Form时的快捷键     Del :删除所选组件;
        Esc :选择当前组件的容器(通常是Panel,Group或Form);
        F11 :在Form或Unit和对象检查器之间切换;
        F12 :在Form和代码编辑器间切换;
        Ctrl+F12 :显示“查看Unit”对话框;
        Shift+F12 :显示“查看Form”对话框;
        TAB :下一个组件;
        Shift+TAB :上一个组件;
        方向键 :选中此方向上最近的组件;
        Ctrl+方向键 :将所选组件移动一个点;
        Shift+方向键 :将所选组件改变一个点的大小;
        Ctrl+Shift+方向键 :将所选组件移动一个格;
        Shift+click :按住Shift键再用鼠标点击组件,可以选择多个组件。
      

  2.   

    你的值是什么类型:
    Boolean,integer,Char,String;
      

  3.   

    谢谢,我有个串口通讯的问题
    比如有下面这个数组
    var
      sBuf: array of Byte;  SetLength(sBuf,8);
      sBuf[0] := $48;
      sBuf[1] := $3;
      sBuf[2] := $5;
      sBuf[3] := $50;
      sBuf[4] := $00;
      sBuf[5] := $xx;
      sBuf[6] := $00;
      //sbuf[7] := 校验码,sbuf[7]:= 校验码, 这校验码怎么求? 谢谢
      

  4.   

    用什么命令调用WINDOWS里面的程序啊?
    格式是?
    意思是:“我做一个按钮就启动QQ,或者关机这样的”
      

  5.   

    请问fastreport中,怎么改变band的颜色?
      

  6.   

    回复人: ytmfnqjh1981(钊) 的问题:用windows API函数BOOL ExitWindows(    DWORD dwReserved, // reserved 
        UINT uReserved  // reserved 
       );
    或是BOOL ExitWindowsEx(    UINT uFlags, // shutdown operation
        DWORD dwReserved  // reserved
       ); 
     具体参数看帮助,注意使用时系统的类型
    若是在windows NT 或是Windows 2000下使用要有权限
      例如:1.ExitWindowsEx(EWX_SHUTDOWN or EWX_FORCE,0);  强行关机
    2.ExitWindowsEx(EWX_REBOOT or EWX_FORCE,0);    强行重启
    3.exitwindowsex(EWX_SHUTDOWN,0);              正常关机
    4.exitwindowsex(EWX_REBOOT,0);                 正常重启
     
      

  7.   

    我问的问题比较幼稚,刚刚学用Delphi。如果存在多个Form,如何指定主Form?
      

  8.   

    回复人: woaiDelphi(为了美好的明天)的问题:
      FastReport 没有加这个改变Band颜色的接口,不过你可以,用Memo加一种所需的颜色在你用的Band  中居中就OK了
      

  9.   

    回复人: ycheng(飞狼) 问题的答复:  我看不明白,你在线,请重说一下,好吗?
     
          //除主窗体已经打开的其他窗体!再去打开时,就显示已经打开的,否则激活?!  
     
      

  10.   

    回复 yeyuhan2001(下雨了)的问题:
      你可以用MDI,但它不太好控制!   
     
      

  11.   

    回复人: woaiDelphi(为了美好的明天)的问题:
      FastReport 没有加这个改变Band颜色的接口,不过你可以,用Memo加一种所需的颜色在你用的Band  中居中就OK了但是,它会把原来我band中的memo给覆盖了,不行呢
      

  12.   

    Bold V4.0.0.17 For Delphi67 
    這個控件是干什麼用的??Bold for Delphi, the first development tool built with the Bold
    Architecture, integrates a powerful model-driven business object framework into Delphi, Borland's highly efficient RAD-tool. The result is the first true OO-RAD tool.The Bold architecture is designed to offer a model-driven application platform, the infrastructure of an application driven by the blue-
    print of the application. Technically it's a n-tier framework and
    integrated development environment. Think of Bold as the architecture and the foundation and Bold for Delphi, Bold for C++ and ModelRun is the products
      

  13.   

    用ShellExecute或别的办法打开另一个可执行文件,怎么让新打开的一直显示在调用窗体之前,类似ShowModal的效果,只有关闭此程序才能将控制权返回?
      

  14.   

    在windows98 中怎么增加环境变量的空间?:)
      

  15.   

    设有窗体Frm1与一框架Fram1,在Fram1中有一Public过程SetValue(i:Integer); overload,如何在Frm1中可重载此过程? (即当在Frm1中调用Fram1.SetValue(value)时是重载后的内容)谢
      

  16.   

    回复: aderly(美女就是源動力)的问题:
       我也不知道,我没有用过,你可以用翻译软件读一下就知道了!
      

  17.   

    回复: ccdyshb(不做程序) 的问题:
      我没有遇到此类的问题,不过我想是不可以,
      下面的例子是可以有首次是前面的,你可以在看一下 ShellExecute(handle,'open','notepad.exe',nil,nil,SW_SHOWNOACTIVATE)
      

  18.   

    回复: ccdyshb(不做程序)的问题:    我想你应该问的更集体此
        //在windows98 中怎么增加环境变量的空间?:)
      

  19.   

    楼主,你真牛。
    有个问题提一下:
      当一列长度比较长时,为了看全它的内容,怎么让TCcheckListBox控件显示scroll?  谢谢先了。
      

  20.   

    回复:
       DreamStrat(梦启动的摇篮…)的问题:
       你可以有Frm1中写一个虚函数;
       再在Fram1中写一Public过程SetValue(i:Integer); overload
       
      

  21.   

    回复: 
       zijida(深水游鱼,吐泡泡被追殴) 的问题:var 
      i, MaxWidth: integer;
    begin
      MaxWidth := 0;
      for i := 0 to ListBox1.Items.Count - 1 do
      if MaxWidth < ListBox1.Canvas.TextWidth(ListBox1.Items.Strings[i]) then
        MaxWidth := ListBox1.Canvas.TextWidth(ListBox1.Items.Strings[i]);
      SendMessage(ListBox1.Handle, LB_SETHORIZONTALEXTENT, MaxWidth+150, 0);
    end;
      

  22.   

    回复:
       aliezeng77(钝刀) 的问题答复:
       //如何检索某个类中所有字段的名称?
       你在说的具体个些,我不明白类中的所有字段的意思?
     
      

  23.   

    回复: aliezeng77(钝刀)的问题答复:
     
        如何检索某个类中所有字段的名称?
        你能说的具体点么,类中所有字段是什么意思?
      

  24.   

    比如有个类:TMyObject=class
      FFBool: boolean;
      FFInt: Integer;
    public
      constructor Create(ABool;Boolean; AInt: FFInt);
    published
      FBool: boolean read FFBool write FFBool;
      FFInt: Integer read FFInt write FFInt;
    end;  如何在程序中获得TMyObject的域名“FFBool”,“FFInt”?
      

  25.   

    回复人: aliezeng77(钝刀)的问题:
      我以前没有用过,不过我可以试试!
      

  26.   

    楼主精神可嘉,不介意我帮你补充补充吧?yeyuhan2001(下雨了)的问题: 
      我问的问题比较幼稚,刚刚学用Delphi。如果存在多个Form,如何指定主Form?按他的意思可能是想指定启动窗体(Main Form),而不是做MDI窗体。可以点菜单- Project - Options里有个Main Form选项,在后面的下拉列表中选择你要的窗体就可以了。当然也可以在工程单元里把主窗体的构造语句写在Application.Initialize;的后面。
      

  27.   

    问个比较弱的问题:怎么样把edit和dbgrid 中的文本打印出来?是不是一定要用adoquery之类的控件连接到数据库才能打印的出来??该用什么控件最好?(最好能给出控件的名字和打印的思路哈)让您见笑了,刚学delphi,从来没用过打印方面的控件,不知道该如何下手哈,谢谢!
      

  28.   

    回复:
       myshihao()的问题:
      你可以用EHDBgrid,用比较好的打印一样也只有FastReport,
       一般Edit中的内容很少打印,所以没有打印接口,你可以用Memo
      

  29.   

    回复: ytmfnqjh1981(钊)的问题:
      (*
      谢谢楼主啊。
      但我还是看得不大明白,你说的只有开关机(虽然我还没有搞成功)
      但那启动已经安装的软件又怎样呢?能自动扫描机器有没有安装那个软件,如果有就能启动,没  有就弹出对话框告诉没有吗?   *)
       那得给Win 注册表中写内容, 一般在run中!
      

  30.   

    问:
      1、动态调入Dll中的窗口时,为什么主程序中显示的MDIChildCount总是零?如何解决?
      2、动态调入Dll中的窗口时,如何将Dll的窗口最小化到Window任务栏上而不是主窗口上?偶一年多都没研究清楚的问题,望楼主指点?
      

  31.   

    回复人: 
       ttxm(胡总)
     你是那个?
      

  32.   

    回复: largewang(成都:王珍义[老王][C#学习中断]) :
       第一个可以可以实现,是你在DLL中的调用函数写错了!
      

  33.   

    我用的是qReport报表控件,QGroup上的Expression控制分组,当adoquery和QuickRep1不在一个Form上时,能不能进行分组,QGroup上的Expression怎么设置?(在程序中控制)???
      

  34.   

    在一个工程里 我加了一个Form 但是 我加入工程的时候 就有异常 而不加入工程 调用这个窗体的时候 
    Application.CreateForm(Tdjyx2frm, djyx2frm);
    使用这样的语句就可以 我不知道为什么!
      

  35.   

    我想问如何使stringgrid能达到有combobox 下拉列表的功能?
      

  36.   

    关于hb99home(软件领域的小女子)的问题请搜索一下旧帖子,应该可以找到一大堆答案。laiqinghe377(laiqinghe377) 的问题没说清楚!!!
      

  37.   

    //Modify history
    //2004.3.20 modified by wangl
    //  1.  延长公司信息界面的显示时间
    //
    program electronic;uses
      Forms,
      SysUtils,
      main in 'main.pas' {mainfrm},
      xtjk in 'xtjk.pas' {xtjkfrm},
      bh in 'bh.pas' {bhfrm},
      dm in 'dm.pas' {dmfrm},
      dq in 'dq.pas' {dqfrm},
      xtxs in 'xtxs.pas' {xtxsfrm},
      sjll in 'sjll.pas' {sjllfrm},
      dngl in 'dngl.pas' {dnglfrm},
      txsz in 'txsz.pas' {txszfrm},
      qxll in 'qxll.pas' {qxllfrm},
      mlsz in 'mlsz.pas' {mlszfrm},
      xzjkcs in 'xzjkcs.pas' {xzjkcsfrm},
      U_CHAT in 'U_CHAT.pas' {F_CHAT},
      U_Splash in 'U_Splash.pas' {F_Splash},
      U_SWCHART in 'U_SWCHART.pas' {F_SWChart},
      closeopen_historydata in 'closeopen_historydata.pas',
      U_Tools in 'U_Tools.pas',
      U_SetMeterID in 'U_SetMeterID.pas' {F_SetMeterID},
      ssxs_chart in 'ssxs_chart.pas' {ssxsfrm},
      kzbc in 'kzbc.pas' {kzbcfrm},
      sjtx in 'sjtx.pas' {sjtxfrm},
      yxbbfrm in 'yxbbfrm.pas' {yxbbfrm},
      yxjl1 in 'yxjl1.pas' {yxjl1frm},
      bxfx in 'bxfx.pas' {bxfxfrm},
      yxjl2 in 'yxjl2.pas' {yxjl2};const
      DEF_SHOW_TIME = 4; //公司信息窗体显示时间 2秒
    {$R *.res}var
      BeginTime: TDateTime;
    begin
      Application.Initialize;
      F_Splash:=TF_Splash.Create(Application);
      F_Splash.Show;
      BeginTime := Now;
      Application.CreateForm(Tmainfrm, mainfrm);
      Application.CreateForm(Tsjllfrm, sjllfrm);
      Application.CreateForm(Tbhfrm, bhfrm);
      Application.CreateForm(Tdmfrm, dmfrm);
      Application.CreateForm(Tdqfrm, dqfrm);
      Application.CreateForm(Tdnglfrm, dnglfrm);
      Application.CreateForm(Tkzbcfrm, kzbcfrm);
      Application.CreateForm(Ttxszfrm, txszfrm);
      Application.CreateForm(Txzjkcsfrm, xzjkcsfrm);
      Application.CreateForm(Tqxllfrm, qxllfrm);
      Application.CreateForm(Tssxsfrm, ssxsfrm);
      Application.CreateForm(Tkzbcfrm, kzbcfrm);
      Application.CreateForm(Tsjtxfrm, sjtxfrm);
      Application.CreateForm(Tyxbbfrm, yxbb);  //
      Application.CreateForm(Tyxjl1frm, yxjl1frm);
      Application.CreateForm(Tbxfxfrm, bxfxfrm);
      Application.CreateForm(Tyxjl2, yxjl2frm);
      While (Now-BeginTime) < (DEF_SHOW_TIME/86400) do begin
        Sleep(1);
        Application.ProcessMessages;
      end;  F_Splash.Hide;
      F_Splash.Free;
      Application.Run;
    end.
    zhe 这是我做的工程 但是客户又提出来了新的要求 (实际上就是多了几个界面) 我改了好多天 但是 PROJECT------>ADD TO PROJECT 的时候也没有异常 而添加后     Application.CreateForm(Tyxbbfrm, yxbb);  //
      
    这行就有问题(异常吧)  
    实际上在我的程序里有很多这样并没有添加到工程的窗体  我这样说 不知道你明白吗  ???谢谢
      

  38.   

    回复人: fly_cat_(1) 你是那一个?
      

  39.   

    回复:
       laiqinghe377(laiqinghe377) 的问题:
      你最好用DLL或其它的不要用一个EXE,这样不好,控制简单,但不安全,速度也慢!
      

  40.   

    回复: 
       xiaoyaoguai1101(金戈一杰)的问题: 
       最好用一个线程或一个服务,这样就可以自己更新了!
     
      

  41.   

    回复:
      hb99home(软件领域的小女子)的问题:
      可以在StringGrid中加一个Combobox.create就OK了!
      

  42.   

    一、如何打印treeview?
    同时还可以设置:行距、字体、页边距、页头、页脚等。
    二、有用过[GmPrintSuite 2.96]这个第3方组件吗?
    我用这个组件是用来打印treeview的。
    遇到两个问题解决不了:
    1、该组件的[header]区域,显示/打印中文的时候,字符间距不正常,中文字符之间会莫名其妙的多出个空格。
    2、不能打印父节点前的"展开\收缩按钮"。(我看了一下,他用了自己canvas类“GMCanvas”,
    用delphi自己的canvas应该不会有这个问题吧?)
    怎么解决呢?着急先谢了
      

  43.   

    三、
    我在delphi7的IDE里写code的时候为什么会莫名其妙的等待?
    鼠标形状会突然变成沙漏,键盘也无法输入。
    要等个几秒中,才正常。
    为什么?是不是应该关掉什么option?
    自动完成目前对我还很有用,不能关!
      

  44.   

    还有一个问题:我现在要把FORM的最小化和关闭都变成最小化,目前这个代码
         Case MSg.WParam of
         SC_CLOSE : MSg.WParam := SC_MINIMIZE;
         end;
    可是可以实现,不过为什么整个FORM上面一层都是一点就最小化了,有什么好办法解决!
      

  45.   

    回复人: withhold() 的问题:
      不能,我还没有见过这样的组件,不过你可以写一个,哈哈!~
      

  46.   


    回复: 
      xiaoyaoguai1101(金戈一杰)的问题回复:   你的接收在什么地方写的?
      

  47.   

    procedure TForm1.WMSysCommand(var msg: TMessage);里面
      

  48.   

    伯虎的问题没有回答?>>请问在组件编程中怎么做个属性值为下拉列表的属性这个简单啊。自己写属性编辑器给你指定的属性。for exampletype
      TDBStringProperty = class(TStringProperty)
      public
        function GetAttributes: TPropertyAttributes; override;
        procedure GetValueList(List: TStrings); virtual;
        procedure GetValues(Proc: TGetStrProc); override;
        procedure SetValue(const Value: string); override;
      end;{ TDBStringProperty }function TDBStringProperty.GetAttributes: TPropertyAttributes;
    begin
      //下拉所需要的,具体看帮助,或者看DesignIntf.pas中的注释
      Result := [paValueList, paSortList, paMultiSelect];  
    end;procedure TDBStringProperty.GetValueList(List: TStrings);
    begin
    end;//覆盖这个方法,为下拉列表添加值
    procedure TDBStringProperty.GetValues(Proc: TGetStrProc);
    var
      I: Integer;
      Values: TStringList;
    begin
      Values := TStringList.Create;
      try
        GetValueList(Values);
        for I := 0 to Values.Count - 1 do Proc(Values[I]);
      finally
        Values.Free;
      end;
    end;//如果不是字符串类型的呢,就得自己写Set函数
    procedure TDBStringProperty.SetValues(const Value: string);
    begin
    end;
    然后把这个属性编辑器注册给你需要的属性就是了。不知道伯虎兄还来不来看……
      

  49.   

    >>>红猩猩应该像搂主学习啊,这位仁兄是什么意思?????干吗向楼主学习,还不够那累人的呢……
      

  50.   

    TO largewang(成都:王珍义[老王][C#学习中断]) 
    1、动态调入Dll中的窗口时,为什么主程序中显示的MDIChildCount总是零?如何解决?
    将屏幕传入dll,并且分离rtl包,应该没问题了
      

  51.   

    Canvas.Brush.Color := clRed;
        canvas.Brush.CleanupInstance;
        Canvas.Brush.Style := bsClear (1) ;
        form1.Canvas.Ellipse(10,10,100,100);
        form1.Canvas.Ellipse(60,60,150,150);
    如果有(1)这句话,图像是透明了,但是没有颜色了,如果没有,其中的一个圆就是弧了,
    如何得到既能看到两个圆又有颜色。
      

  52.   

    小小的问两个问题,关于IE插件的。
    1、如何去取得IE所打开的那个页面真正的域名?(不一定是URL的那个?)
    2、如何实现该插件的自动升级功能?
    多谢楼主!!
      

  53.   

    楼主你太强了!崇拜ing……
    有个DBChart的问题想请教你:
        假设曲线图中x轴坐标范围为0~100,在曲线图中任一位置点击鼠标,如何能获得鼠标所在位置对应的x轴坐标值??能实现吗?我用OnClickBackground事件,但是获得的是相对于整个窗体的x,y值,不是曲线图里的坐标值。
        非常着急!多谢楼主!!
      

  54.   

    我是楼主,由于回帖限制,有问题请到QQ论坛
    http://bbs.qq.com/cgi-bin/bbs/show/content_div?club=3&groupid=102:10049&messageid=48049