| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2873 人关注过本帖
标题:请教筛选后留下的数据写入表文件
只看楼主 加入收藏
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 9楼 吹水佬
哦,我用电子表格的复制
原表的一、二两行如下
列1    列2    列3    列4    列5    列6    列7    列8    列9    列10    列11    列12
1    2    3    4    11    16    17    19    21    22    23    24
48    47    46    45    38    33    32    30    28    27    26    25
这两行中同列的二个数交换位置后达到代码中的两个要求,即和分别为9506及294后得到能写入表的一行
编号    列1    列2    列3    列4    列5    列6    列7    列8    列9    列10    列11    列12
1    1    2    46    45    11    33    32    19    28    27    26    24

不能自动写上的数值在如下表的下一行中
编号    列1    列2    列3    列4    列5    列6    列7    列8    列9    列10    列11    列12
1    1    2    46    45    11    33    32    19    28    27    26    24
    48    47    3    4    38    16    17    30    21    22    23    25
谢谢先生
2016-04-11 16:36
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
收藏
得分:0 
以下是引用fdxxhjc在2016-4-11 16:29:34的发言:

先生这个截图我在这上面怎么发不上去啊



先 PO 你的文字,确定之后,再选择编辑,然后就可以上传你的图片或附件。

IE 9 以上的版本支持附件/上传的功能不好。

=====================================
Update :
先发布你的帖子,按【确定】之后,再选择【编辑】,然后就可以上传你的图片或附件。

图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2016-4-11 17:28编辑过]


民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-04-11 17:02
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 12楼 aaaaaa
先生附件我能上传,但图片不会,请指点,谢谢
2016-04-11 17:19
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
收藏
得分:0 
IE 9 以上第一次发帖或跟帖是不可以发附件或图片的,发帖成功后你要修改你已经 Po 的自己的帖子,然后修改/编辑你自己的帖子,这时候就可以上传你的图片了。

我也是自己琢磨的,试试看。

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-04-11 17:34
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8912
专家分:2567
注 册:2004-3-25
收藏
得分:0 
以下是引用fdxxhjc在2016-4-11 17:19:39的发言:

先生附件我能上传,但图片不会,请指点,谢谢

图片既是附件,点上传附件那个按钮即可,如果上传的是文件,论坛会显示为下载链接,如果是图片,则自动显示图片。

畅所欲言
2016-04-11 17:38
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:0 
一次取2行12列,2行同列依次对调交换,共有4096对组合, 如果其中一对组合的某一组符合要求就先写入表,另一组就后写入表,是不是这样?
2016-04-11 21:34
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 16楼 吹水佬
一次二行12列中的某些列对调后达到二个和9506及294时将符合的一行先写入,随后将留下的(也就是正好还有12列即一行)写到刚才已写入一行的下面,是的是的



[此贴子已经被作者于2016-4-12 00:14编辑过]

2016-04-12 00:05
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:20 
试算了一下,结果不知对否?
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
USE 原表 IN 0
n = FCOUNT("原表")
IF !FILE("组合表.dbf")
    DIMENSION ai[2,n]
    cmd = ""
    FOR i = 1 TO n
        ai[1,i] = 100 + i
        ai[2,i] = 200 + i
        cmd = cmd + ",列" + TRANSFORM(i) + " N(4,0)"
    ENDFOR
    EXECSCRIPT("CREATE TABLE 组合表 (" + SUBSTR(cmd, 2) + ")")
    SELECT 组合表
    DO WHILE my组合表()
    ENDDO
ELSE
    USE 组合表 IN 0
ENDIF
cmd = ""
FOR i = 1 TO n
    cmd = cmd + ",列" + TRANSFORM(i) + " N(4,0)"
ENDFOR
EXECSCRIPT("CREATE CURSOR 结果表 (" + SUBSTR(cmd, 2) + ")")
SELECT 原表
SCAN
    SELECT 原表
    COPY TO ARRAY a原表 NEXT 2
    SELECT "组合表" 
    SCAN 
        SELECT "组合表" 
        COPY TO ARRAY a组合表 NEXT 2
        tj1 = 0
        tj2 = 0
        FOR i = 1 TO n
            i1 = IIF(a组合表[1, i] < 200, 1, 2)
            j1 = a组合表[1, i] - IIF(a组合表[1, i] < 200, 100, 200)
            tj1 = tj1 + a原表[i1, j1] 
            tj2 = tj2 + a原表[i1, j1]^2
        ENDFOR
        IF (tj1 == 294) AND (tj2 == 9506)
            FOR i = 1 TO n
                i1 = IIF(a组合表[1, i] < 200, 1, 2)
                i2 = IIF(a组合表[2, i] < 200, 1, 2)
                j1 = a组合表[1, i] - IIF(a组合表[1, i] < 200, 100, 200)
                j2 = a组合表[2, i] - IIF(a组合表[2, i] < 200, 100, 200)
                a组合表[1, i] = a原表[i1, j1] 
                a组合表[2, i] = a原表[i2, j2] 
            ENDFOR
            SELECT 结果表
            APPEND FROM ARRAY a组合表
        ENDIF
    ENDSCAN
ENDSCAN
**    * 校对结果
**    SELECT 结果表
**    GO TOP
**    SKIP
**    DO WHILE !EOF()
**        IF (列1+列2+列3+列4+列5+列6+列7+列8+列9+列10+列11+列12 == 294) AND;
**           (列1^2+列2^2+列3^2+列4^2+列5^2+列6^2+列7^2+列8^2+列9^2+列10^2+列11^2+列12^2 == 9506)
**        ELSE
**            ? RECNO()
**        ENDIF
**        SKIP 2
**    ENDDO
SELECT 结果表
GO TOP
BROWSE
CLOSE DATABASES ALL 
RETURN


FUNCTION my组合表()
    APPEND FROM ARRAY ai
    FOR i = 1 TO n
        IF ai[2,i] > 200
            EXIT
        ENDIF
    ENDFOR
    IF i > n
        RETURN .F.
    ENDIF
    tmp = ai[2,i]
    ai[2,i] = ai[1,i]
    ai[1,i] = tmp
    FOR j = 1 TO i-1
        tmp = ai[1,j]
        ai[1,j] = ai[2,j]
        ai[2,j] = tmp
    ENDFOR
    RETURN .T.
ENDFUNC


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

2016-04-12 07:54
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
绕来绕去还是与49有关系

坚守VFP最后的阵地
2016-04-12 09:12
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
以下是引用sdta在2016-4-12 09:12:30的发言:

绕来绕去还是与49有关系

香港6合彩,最大的数字是49
2016-04-12 09:18
快速回复:请教筛选后留下的数据写入表文件
数据加载中...
 
   



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

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