| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3973 人关注过本帖
标题:VFP 中 PRODUCTION 是啥意思啊,怎么是蓝色的
只看楼主 加入收藏
lovelov330
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2016-7-28
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:28 
VFP 中 PRODUCTION 是啥意思啊,怎么是蓝色的
一个小系统修改了好多天了,感谢版主的耐心解答,在这里谢谢版主了,
在程序中,PRODUCTION  是一个变量,我想问的是这个变量要定义不,定义成LOCAL类型可以吗?


下面是我要修改的程序,乱码的部分是繁体汉字,好多字段都是根据上下去判断,还有临时表,数据库字段这些,
有些头大啊!不过现在快收尾了,  真的感谢版主的不吝赐教!

 messageword = "╰??﹍箇︳, 叫?祔?, ????!"
 DO FORM ╰??? WITH messageword
 SELECT ("TPAGE1")
 tableupdate(.T.)
 GOTO TOP
 SELECT ("TPAGE2")
 tableupdate(.T.)
 GOTO TOP
 SELECT ("TPAGE3")
 tableupdate(.T.)
 GOTO TOP
 SELECT ("TPAGE6")
 tableupdate(.T.)
 GOTO TOP
 SELECT ("TPAGE7")
 tableupdate(.T.)
 GOTO TOP
 SELECT ("TPAGE4")
 tableupdate(.T.)
 = cursorsetprop("BUFFERING", 1)
 KEYBOARD ('{121}') CLEAR
 ZAP
 = cursorsetprop("BUFFERING", 5)
 LOCAL x, a, b, i, , , , , , totlenum, yearnum, monthnum, worknum
 SELECT ("TPAGE4")
 tf = 100
 i = 0
 x = 0
 la = 0
  = space(0)
 SELECT ("TPAGE3")
 i = reccount()
 totlenum = 0
 yearnum = 0
 monthnum = 0
 FOR x = 1 TO i
    SELECT ("TPAGE3")
    GOTO x
    IF <>alltrim(tpage3.)
        = alltrim(tpage3.)
       tf = 0
       la = 0
       b = 0
        = 0
        = 0
        = 0
        = 0
        = 0
       worknum = 0
       yearnum = year(tpage3.)
       monthnum = month(tpage3.)
       SELECT tpage6., tpage6., tpage6. FROM TPAGE6 WHERE tpage6.=yearnum AND tpage6.=monthnum INTO CURSOR TEMP
       dattotle = reccount()
       USE IN temp
       SELECT ("TPAGE6")
       SET ORDER TO ???
       m.name = ctod(alltrim(str(year(tpage3.)))+"/"+alltrim(str(month(tpage3.)))+"/"+alltrim(str(day(tpage3.))))
       IF seek(m.name)
          la = recno()
       ELSE
          = messagebox("禬??紅︽ㄆ句戈?郎?絛瞅, ╰??猭璸衡,叫??﹚?!")
          EXIT
       ENDIF
       SELECT ("TPAGE3")
        = day(tpage3.)
        = 0
       b = la-+1
       totlenum = tpage3.
    ELSE
       totlenum = tpage3.
    ENDIF
    SELECT ("TPAGE4")
    APPEND BLANK
    REPLACE tpage4. WITH
    REPLACE tpage4. WITH tpage3.
    REPLACE tpage4. WITH tpage3.
    REPLACE tpage4. WITH tpage3.
    REPLACE tpage4. WITH tpage3.
    REPLACE tpage4. WITH tpage3.
    REPLACE tpage4. WITH tpage3.
    DO WHILE totlenum>0
       SELECT ("TPAGE6")
       GOTO la+
       worknum = iif(alltrim(tpage6.)=="??", 0, iif(alltrim(tpage6.)=="?痁", 1, 2))
        = tpage6.
        = tpage6.
       SELECT ("TPAGE4")
       REPLACE tpage4. WITH
       REPLACE tpage4. WITH
       SELECT * FROM TPAGE7 WHERE tpage7.=tpage3. INTO CURSOR TEMP99
       IF reccount()==0
          = messagebox("????  "+alltrim(tpage3.)+"  ?戈?, ╰??氨?箇︳")
          EXIT
       ELSE
          production = iif(worknum==0, 0, iif(worknum==1, temp99., temp99.))
       ENDIF
       IF int(production*1.05 )>=totlenum .AND. totlenum>=production
          thisform.a41.f5(+-, totlenum)
          totlenum = totlenum-totlenum
           = +1
          tf = 0
       ELSE
          IF tf=0
             IF totlenum>=production
                thisform.a41.f5(+-, production)
                totlenum = totlenum-production
                 = +1
                tf = 0
             ELSE
                thisform.a41.f5(+-, totlenum)
                tf = 100-int((totlenum/production)*100)
                totlenum = totlenum-totlenum
                 = +0
             ENDIF
          ELSE
             IF totlenum>=int((production*tf)/100)
                thisform.a41.f5(+-, int((production*tf)/100))
                totlenum = totlenum-int((production*tf)/100)
                 = +1
                tf = 0
             ELSE
                thisform.a41.f5(+-, totlenum)
                tf = 100-int((totlenum/int((production*tf)/100))*100)
                totlenum = totlenum-totlenum
                 = +0
             ENDIF
          ENDIF
       ENDIF
       IF totlenum<>0
          SELECT ("TPAGE6")
          GOTO la+
          IF <>tpage6.
              = +dattotle
             yearnum = tpage6.
             monthnum = tpage6.
             SELECT tpage6., tpage6., tpage6. FROM TPAGE6 WHERE tpage6.=yearnum AND tpage6.=monthnum INTO CURSOR TEMP
             dattotle = reccount()
             USE IN temp
             SELECT ("TPAGE4")
             tableupdate()
             APPEND BLANK
             REPLACE tpage4. WITH
             REPLACE tpage4. WITH tpage3.
             REPLACE tpage4. WITH tpage3.
             REPLACE tpage4. WITH tpage3.
             REPLACE tpage4. WITH tpage3.
             REPLACE tpage4. WITH tpage3.
             REPLACE tpage4. WITH tpage3.
          ENDIF
       ENDIF
    ENDDO
    SELECT ("TPAGE4")
    tableupdate()
 ENDFOR
 SELECT ("TPAGE4")
 GOTO TOP
 RELEASE WINDOW
搜索更多相关主题的帖子: 数据库 汉字 
2016-09-19 08:28
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11789
专家分:43421
注 册:2006-5-13
收藏
得分:0 
提个小建议,你的select ("TPAGE1")完全可以修改为 select TPAGE1,双引号及括号都可以删掉,不必多此一举。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2016-09-19 08:53
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10561
专家分:42996
注 册:2014-5-20
收藏
得分:20 
哪来的代码,好多地方“残缺”?
2016-09-19 09:08
lovelov330
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2016-7-28
收藏
得分:0 
反編譯過來的!
一个生产排成系统

里面很多这样残缺的代码,然后一点一点的匹配修改!!
2016-09-19 09:19
lovelov330
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2016-7-28
收藏
得分:0 
回复 2楼 hu9jj
谢谢版主!!!
我菜鸟啊,

现学现用的!

这是反编译后的代码,我是找错然后修改!


之前的是一个台湾人写的系统,在98和2000下可以用,到了XP下就一闪而过,我来了让我来弄这个!

2016-09-19 09:21
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
PRODUCTION  是一个什么变量?全局?当然可以定义的。
2016-09-19 09:26
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9813
专家分:27037
注 册:2012-2-5
收藏
得分:0 
有反编别人软件的时间,还不如自己写个程序。

坚守VFP最后的阵地
2016-09-19 09:33
lovelov330
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2016-7-28
收藏
得分:0 
回复 7楼 sdta
的确是啊,反编译后修改真的麻烦!!
如果自己贸然去写,有些担心写的别人用不习惯,这个软件都用了十六七年了,
另一个担心是这里面的逻辑我搞不清,写出来BUG太多!
其次是我都好多年没写过了,短期内写出来的信心不足,

现反编译后然后修改保证能在WINXP下用(之前只能在WIN98和WIN2000下用),然后再写个,时间上我很充足,不过这托的很久了,

这会是没办法了只能硬着头皮把这弄完,然后再用其他语言重写个!

再还有我想的是我修改完后那么里面的逻辑我就清楚了,自己写的时候也容易很多!
2016-09-19 09:46
lovelov330
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2016-7-28
收藏
得分:0 
版主問下啊,  VFP中有沒有  ++  這個指令嗎

比如說  I=1
        I=I++
    這會I的值就是2了,


2016-09-19 10:03
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9813
专家分:27037
注 册:2012-2-5
收藏
得分:0 
反编后的代码残缺不全,修改都有难度,建议楼主放弃这种不明智的做法,另想它法。

[此贴子已经被作者于2016-9-19 10:08编辑过]


坚守VFP最后的阵地
2016-09-19 10:07
快速回复:VFP 中 PRODUCTION 是啥意思啊,怎么是蓝色的
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012713 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved