使用TMaskEdit,其EditMask属性00°00″;1;_
(“分”的符号是′还是″,我想不起来了)

解决方案 »

  1.   

    更正:00°00″;1;_ 改为 99°99″;1;_ 更好一些。取数字:TMaskEdit的Text属性
    假设 MaskEdit1.Text='19°2″'var
      s: String;
      x,y: Integer;
    begin
      ...
      s:= MaskEdit1.Text;
      x:= StrToInt(Semi(s, '°')); //度
      y:= StrToInt(Semi(s, '″')); //分
      ...
    end;//Semi函数如下
    Function Semi(var s:string;m:string):string;
    {
      返回S串中M前的字符串 S中保留尾串  没找到返回整串,原串为空
    }
    var
    n:integer;
    begin
      n:=pos(m,s);
      if n=0 then
      begin
        result:=s;
        s:='';
      end
      else
      begin
        result:=copy(s,1,n-1);
        s:=copy(s,n+length(m),length(s));
      end;
    end;