| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2770 人关注过本帖
标题:请教替换
只看楼主 加入收藏
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
结帖率:73.44%
收藏
已结贴  问题点数:20 回复次数:15 
请教替换
CLEAR
CLOSE  all
SET SAFETY OFF
*---------原表转移到内存'
DIMENSION yb(10,16)
USE 原表
select * from 原表 into array yb
*---------替换表转移到内存'
DIMENSION thb(99)
USE 替换表
select * from 替换表 into array thb
 *----------------------------------
 *USE 替换后表
 FOR 替换循环=1  TO 84
  FOR k=1  TO 16
   ********************************************************************************
   * 第一次循环时将“替换表”中的第1--16的数分别去替换“原表”中1--16的数;第二次 *
   * 循环时是将“替换表”中的第2--17的数分别去替换“原表”中1--16的数;直至第八十 *
   * 四次循环时是将“替换表”中的第84--99的数分别替换“原表”中1--16的数,至此结束*
   * 并将替换好的结果全部写入“替换后表”中                                       *
   ********************************************************************************
  ENDFOR
 ENDFOR
请教替换.rar (1.25 KB)

 
 最后“替换后表”中应该有84行记录(每次替换即记录一行)

[此贴子已经被作者于2020-5-7 11:29编辑过]

搜索更多相关主题的帖子: 循环 记录 替换 FOR array 
2020-05-07 09:59
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10537
专家分:42927
注 册:2014-5-20
收藏
得分:0 
不太明
是不是:
替换表有99条记录, 假设“变量”为:1,2,3,4,5,.....98,99
结果是:原表
1,2,3,.......15,16
2,3,4,.......16,17
3,4,5,.......17,18
.......
84,85,86,.......98,99

2020-05-07 12:20
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 2楼 吹水佬
变量是这样的,但84组变量中每组的最小个数要换到原表的“1”这个位置,最小第二个数要换到原表的“2”这个位置,......,最大的数要换到原表的“16”这个位置上,谢谢(并且这样运行完后总数应该有10*84=840行)


[此贴子已经被作者于2020-5-7 12:44编辑过]

2020-05-07 12:41
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9796
专家分:26886
注 册:2012-2-5
收藏
得分:20 
是不是这个结果
图片附件: 游客没有浏览图片的权限,请 登录注册

坚守VFP最后的阵地
2020-05-07 12:57
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9796
专家分:26886
注 册:2012-2-5
收藏
得分:0 
程序代码:
CLOSE DATABASES 
USE 原表 IN 0
ZAP
*USE 替换表 IN 0
SELECT * FROM 替换表 INTO ARRAY aa 
LOCAL bb[1, 16]
FOR i = 1 TO RECCOUNT("替换表") - 15
    n1 = i
    FOR ii = i TO i + 15
        bb[1, ii - i + 1] = aa[n1]
        n1 = n1 + 1
    ENDFOR
    INSERT INTO 原表 FROM ARRAY bb
    bb = 0
ENDFOR 
SELECT 原表
BROWSE 

坚守VFP最后的阵地
2020-05-07 13:09
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 5楼 sdta
先生替换后不对的,对于某一组16个数而言,替换时是将这组中最小的一个数替换到原表“1”的位置,这组中第二个最小的一个数替换到原表“2”的位置,......这组中最大的一个数替换到原表“16”的位置,是这样的要求,谢谢
并且替换后的结果(840行)最好写入到“替换后表.dbf”中,谢谢

2020-05-07 13:45
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9796
专家分:26886
注 册:2012-2-5
收藏
得分:0 
贴上你的部分数据看看
替换表 中共有数据99行,只能生成84行数据,何来的840行数据

坚守VFP最后的阵地
2020-05-07 13:57
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 7楼 sdta
原表有10行,一次替换下来就有10行,84次替换总数是840行
第一次替换下来的结果如下:
5    19    43    41    29    59    17    7    23    3    37    47    53    31    11    13
7    17    29    59    43    41    19    5    23    3    47    37    31    53    11    13
11    3    53    47    43    41    17    7    23    13    37    31    29    59    5    19
19    17    41    29    53    47    11    3    5    37    13    59    31    7    43    23
19    37    17    31    59    11    3    43    5    47    53    7    29    13    41    23
19    41    13    31    47    7    5    53    11    43    59    3    29    17    37    23
19    41    17    29    59    13    37    5    3    11    47    53    31    43    7    23
19    47    11    29    53    17    41    3    5    7    43    59    31    37    13    23
19    47    11    29    53    17    41    3    31    37    13    23    5    7    43    59
23    5    43    37    59    13    31    7    29    41    19    17    3    53    11    47


[此贴子已经被作者于2020-5-7 14:36编辑过]

2020-05-07 14:35
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9796
专家分:26886
注 册:2012-2-5
收藏
得分:0 
不明白楼主表达的意思
请楼主举例说明

坚守VFP最后的阵地
2020-05-07 14:59
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9796
专家分:26886
注 册:2012-2-5
收藏
得分:0 
回复 8楼 fdxxhjc
原表第一条记录:
2    7    13    12    9    16    6    3    8    1    11    14    15    10    4    5

替换表第1 - 16 行记录
3    5    7    11    13    17    19    23    29    31    37    41    43    47    53    59   

如何用替换表第1 - 16 行记录,替换原表第一条记录

坚守VFP最后的阵地
2020-05-07 15:07
快速回复:请教替换
数据加载中...
 
   



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

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