Pascal语言写法问题 回复内容

1 楼zswang(伴水清清)(专家门诊清洁工)回复于 2002-07-13 17:24:29

if   Pos(','   +     TableHdqk.fieldbyname('Sb').AsString   +   ',',  
      ',0.00382500,0.00345000,0.00337500,0.00300000,')   >   0   then....  
  Top

2 楼outer2000(天外流星)回复于 2002-07-13 17:28:46

if   (TableHdqk.fieldbyname('Sb').asstring)   in   ....Top

3 楼joann()回复于 2002-07-13 18:56:13

接受zswang(伴水)Top

4 楼johnsonrao(johnson)回复于 2002-07-14 01:28:10

如果是SB数值型的呢?  
  outer2000(天外流星)   的方法更好。Top

5 楼johnsonrao(johnson)回复于 2002-07-14 01:31:57

如果是SB数值型的呢?  
  outer2000(天外流星)   的方法更好。Top

6 楼abin16()回复于 2002-07-14 18:53:08

我也觉得outer2000(天外流星)   的方法较好!如果我写我也会这么写的:)  
  不过   zswang(伴水)的方法倒很有创意!想必是经验老到的高手!Top

7 楼Nicrosoft(奈软)回复于 2002-07-14 19:01:32

with   TableHdqk.fieldbyname('Sb')   do  
  begin  
          if   (  
                  (asstring='0.00382500')   or  
                  (asstring='0.00345000')   or  
                  (asstring='0.00337500')   or  
                  (asstring='0.00300000')    
          )   then  
          begin  
                  ....  
          ned;  
  end;  
  end;Top

8 楼mv66_ren(didi[迪迪])回复于 2002-07-14 19:06:47

if   (TableHdqk.fieldbyname('Sb').asstring)   in   ....  
  Top

9 楼Nizvoo()回复于 2002-07-14 19:07:27

an   ordinal   O   and   a   set   S,   O   in   S   is   True   just   in   case   O   is   a   member   of   S.  
   
  伴水真是高深莫测  
  奈软的写法在速度上有所上升  
   
  UPTop

10 楼Nizvoo()回复于 2002-07-14 19:12:53

in操作是对有序数来的。0.XXX不行Top

11 楼joann()回复于 2002-07-17 16:26:55

if   (TableHdqk.fieldbyname('Sb').asstring)   in   后面怎么写?见笑Top

12 楼Nizvoo()回复于 2002-07-18 00:57:41

I:   Integer;  
  if   I   in   [1,   2]    
   
  CH1:   Char;  
   
  if   CH1   in   ['a',   'b']    
   
  Top

13 楼Nizvoo()回复于 2002-07-18 00:58:06

AsString不行的Top

14 楼ehom(?!)回复于 2002-07-18 01:20:37

var   Str:String;  
   
  Str:=TableHdqk.fieldbyname('Sb').asstring;  
  if   ((Str='0.00382500')   or   (Str='0.00345000')   or   (Str='0.00337500')   or   (Str='0.00300000'))   then  
  ...  
   
  其实这就很好了!  
   
  当年我在写WEB程序获得,修改,删除在线名单时也用过zswang(伴水)的方法,但在这里不同,因为涉及到字符串的拆分运算,运行效率不高!不过这是中国程序员的特色!Top

15 楼wr960204(武稀松)回复于 2002-10-17 15:39:39

var  
      s:String;  
  s:=(TableHdqk.fieldbyname('Sb').asstring;    
  if   s   in   ['0.00382500','0.00345000','0.00337500'),'0.00300000']   then  
  begin  
      ....  
  end;  
  Top

16 楼CloneCenter(复制中心)回复于 2003-05-06 08:36:23

楼上的,多少人说了,你还这么写,s   是   string   型的,不能使用集合的!  
  fainting...Top

17 楼risingsoft(一苇渡江)回复于 2003-05-06 10:48:43

var  
      i:real;  
  i:=Format('0.00000000f%',[TableHdqk.fieldbyname('Sb').asfloat]);    
  if   s   in   [0.00382500,0.00345000,0.00337500,0.00300000]   then  
  begin  
      ....  
  end;Top

18 楼JackyChang(摩托骡拉)回复于 2003-05-07 09:27:27

string不能使用集合的!  
  不过我觉得搂主的写法也可以,而且比较直观!不过如果非要所谓的简洁写法的话,  
  zswang(伴水清清)(专家门诊清洁工)的写法比较好!  
  Top

19 楼yoic(我是一棵菠菜,菜,菜,菜,菜,菜,菜)回复于 2003-05-07 12:55:11

天空好亮,那么多的星星。Top

20 楼Darling2003(Darling)回复于 2003-05-07 15:19:49

我试试,改一改:  
  var  
   
      s:String;  
  s:=(TableHdqk.fieldbyname('Sb').asstring;    
  if   (s   ='0.00382500')   or   (s='0.00345000')   or   (s='0.00337500')   or   (s='0.00300000')   then  
  begin  
      ....  
  end;Top

21 楼honkily(===CODING===)回复于 2003-05-07 23:02:45

niuTop

22 楼hbqinlei(漫步者)回复于 2003-05-08 20:04:54

学习  
  Top

23 楼JoyYuan97()回复于 2003-05-10 21:03:08

with   TableHdqk.fieldbyname('Sb')   do  
      if   (asstring='0.00382500')   or  
            (asstring='0.00345000')   or  
            (asstring='0.00337500')   or  
            (asstring='0.00300000')   then  
          begin  
                  ....  
          end;  
  Top