procedure TForm1.Button2Click(Sender: TObject);
begin
   Application.Terminate   //退出程序
end;procedure TForm1.Button1Click(Sender: TObject);
var
      div1,div2,div3,muv1,muv2,muv3,myNum:Integer;
      isFind:Boolean;begin
      div1:=StrToInt(InPutBox('韩信点兵','输入除数1','1'));
      muv1:=StrToInt(InPutBox('韩信点兵','输入余数1','1'));
     
      div2:=StrToInt(InPutBox('韩信点兵','输入除数2','1'));
      muv2:=StrToInt(InPutBox('韩信点兵','输入余数2','1'));      div3:=StrToInt(InPutBox('韩信点兵','输入除数3','1'));
      muv3:=StrToInt(InPutBox('韩信点兵','输入余数3','1'));      myNum:=1;
      isFind:=False;      repeat
          if((myNum mod div1)=muv1) and ((myNum mod div2)=muv2) and ((myNum mod div3)=muv3)then
              begin
                 ShowMessage('答案是'+IntToStr(myNum));
                 isFind:=True;
              end;
       myNum:=myNum+1;
       until  isFind;
end;end.
请问各位,为什么我这段代码显示"输入除数1"时,只能显示到"输入除",而不能显示完"输入除数1"这几个字符!

解决方案 »

  1.   

    主要是系统计算字符的显示长度不够,在后面多敲几个空格就Ok了 div1:=StrToInt(InPutBox('韩信点兵','输入除数1      ','1')); 
      

  2.   

    这个问题,需要改graphics.pas
    具体可以参考,修改graphics.pas,该过程在第6712行,   
      修改方法,新建一工程,将graphics.pas增加到该工程,然后编译,将graphics.dcu复制到delphi的lib目录下。   
      procedure InitDefFontData;   
    var   
        Charset: TFontCharset;   
    begin   
      DefFontData.Height := -MulDiv(8,ScreenLogPixels,72);   
      if not SysLocale.FarEast then Exit;   
      Charset := GetDefFontCharset;   
      case Charset of   
        SHIFTJIS_CHARSET:   
        begin   
          DefFontData.Name := '俵俽   俹僑僔僢僋';   
          DefFontData.Height := -MulDiv(9,ScreenLogPixels,72);   
          DefFontData.CharSet := CharSet;   
        end;   
        GB2312_CHARSET:     //这里一段由自已增加   
        begin   
          DefFontData.Name := '宋体';   
          DefFontData.Height := -MulDiv(9,ScreenLogPixels,72);   
          DefFontData.CharSet := CharSet;   
        end;               //增加到此结束
      end;   
    end;
      

  3.   

    谢谢各位!用xxmmmx 的方法解决问题啦