易截截图软件、单文件、免安装、纯绿色、仅160KB

delphi实现字符串中数字的判断及相应数字累加

最近面试了一家企业,下面有一道从来没有想过的问题,当时有思路,不过写不出来.回来后,调试了一下,发现还是有难度的,写上来看大家是否还有更优化的写法,欢迎讨论:
下面实现将字符串"10ad200d3" 中的数字合计,10+200+3=213
var s1:string;
var i:integer;
var n1:integer;
var tem1: string;
var tem2:integer;
  s1:='10ad200d3';  //  要处理的字符串
  tem1:='';         //用来存放得到的数字型字符
  tem2:=0;          //用来存放合计数
  n1:=1;            //用来存放统计到位数 ,即现时判断到哪一位置了
  for i:=1 to length(s1) do
  begin
//当遇到字符时
       if not (s1[i] in ['0'..'9','.']) then  //判断字符串中某个字符是否是数字
       begin
        if i<>1 then      //当第一个就是字符时,对于本例是不用作任何处理
        begin
           if tem1<>'' then    //将这个字符前面 数字相加
           begin
           tem2:=tem2+strtoint(tem1);
           tem1:='';
           end;
        end;
          n1:=i+1;  //位置向前推一位
       end;
       if  (s1[i] in ['0'..'9','.'])then
       begin
         tem1:=tem1+copy(s1,n1,1); //这种处理主要是为如果连续出现数字时
         n1:=i+1;
     &nb


相关文档:

Delphi中实现加载INF驱动程序!


帮助页在http://delphi.about.com/cs/adptips2003/a/bltip0203_2.htm
自己在实现的过程中的具体过程如下:
function InstallInf(const PathName: string; hParent: HWND): Boolean;
var
  instance: HINST;
begin
  instance := ShellExecute(hParent,
      PChar('open ......

Delphi中鼠标的形状

procedure TForm2.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
Screen.Cursor := -2;
end;
const
  crDefault    = TCursor(0);
  crNone        = TCursor(-1);
  crArrow      = TCursor(-2);
&n ......

delphi报警声音 Beep、MessageBeep 和 Windows.Beep


我的办法,增加一个timer 设置间隔100ms,通过timer的使能否,控制报警声音开关
procedure TForm1.Timer1Timer(Sender: TObject);
begin
   Windows.Beep(1200+i_f,10+i_f);
   if i_f<2000 then
   begin
      inc(i_f);
   end
end;
== ......

Delphi中实现C++/Java类似静态变量的功能

在网上看到很多人都在为Delphi是否支持C++/Java中的静态变量及静态方法的功能而困扰,其实这在Delphi中是很简单的.
静态方法就是使用Class Function. 静态变量则使用单元局部变量来实现. 代码如下:
//=========================================
// StaticVarTestU - 定义了可以计数的类,通过类方法即可访问此类的对象数 ......

DelPhi下用CDO发送邮箱实例

相对用第三方控件,CDO发送邮件还是很简洁方便的
注:CDONTS为CDO的子集,仅支持WinNT/Win2K,WinXP以上请用CDO;
单元引用ComObj;
procedure TForm1.Button1Click(Sender: TObject);
var
VCDOMessage:oleVariant;
begin
  vCDOMessage:=CreateOleObject('CDO.Message');
  vcdomessage.from:='MR.F'+'< ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号