查看上一个主题 :: 查看下一个主题
|
作者 |
信息 |
桑卡尔
新的用户
已加入:2007年9月7日 帖子:2 地点:新加坡
|
|
|
|
你好
您能否为我提供一个简单的解决方案,用于串联6个字段而没有尾随空格。目标变量的长度为60,并且6个字段的总长度超过60。串联后,前60个非空格字符应位于我的目标变量中。我使用了“ Perform Unitil”和下标,这似乎很有风险。请让我知道一个简单的解决方案。非常感谢。
问候,
桑卡尔。 |
|
回到顶部 |
|
 |
迪克·谢勒
主持人荣誉

已加入:2006年11月23日 帖子:19245 位置:矩阵内部
|
|
|
|
您好Sankar,欢迎来到论坛,
您需要更好地描述您想做什么。
如何定义6个字段?如果6个字段中有超过60个非空白字符,该怎么办?
建议您显示一些代表性的样本输入以及您希望从该输入中获得的输出。
引用: |
我使用了“ Perform Unitil”和下标,这似乎很有风险。 |
有什么风险?
如果要在输出“字段”中放入前60个非空格,只需将所有6个输入字段放入一个组字段中,并使用引用修改来解析该组字段,直到找到前60个非输入或到达输入的末尾。确保在每组新输入的开头都将空格移动到输出区域。 |
|
回到顶部 |
|
 |
桑卡尔
新的用户
已加入:2007年9月7日 帖子:2 地点:新加坡
|
|
|
|
嗨D.sch,
非常感谢您的宝贵意见。我的要求如下。
输入:
--
变数1-> 80 bytes
变数2-> 20 bytes
变数3-> 20 bytes
变数4-> 12 bytes
变数5-> 20 bytes
变数6-> 20 bytes
输出量
--------
输出变量-> 60 bytes.
以下是我的要求。
1。
2.如果只有变量1具有值并且其余所有均具有空格,则我将从变量1中获取整个60字节。如果变量1以外的其他任何变量具有值,则将从变量1中获取前30个字节,其余30来自其他具有非空格字符的变量。
我有用户“ Perform Unitil”和下标,通过扫描最后一个变量来查找非空间字符的首次出现。我计算了六个字段的长度,然后将它们合并起来,因为我使用的下标可能会导致“ 107”或“ 104”错误,因此我感到有风险。因此,能否请您提出一个带有示例逻辑的简单解决方案。
再次非常感谢您的指导。
问候,
桑卡 |
|
回到顶部 |
|
 |
罗伯特·桑普
全球主持人

已加入:2008年6月6日 帖子:8569 地点:美国爱荷华州迪比克
|
|
|
|
引用: |
因此,能否请您提出一个带有示例逻辑的简单解决方案。 |
根据您所描述的逻辑要求,我认为没有任何“简单”的解决方案。
您在“要求”中未提及的内容:
如果所有六个变量都是空格怎么办?
如果变量1是空格而变量3、4和5不是空格怎么办?
如果变量1和变量4是仅有的两个非空格怎么办-从变量1获得30个字节但从变量4获得12个字节-其他18个字节应该是什么呢?
您是在谈论前导空格还是尾随空格?如果变量1的前10个字节中有3个空格(例如位置2、6、9)怎么办?
我怀疑您认为存在的“风险”是由于措辞不当和要求不完整,而不是数据或语言的任何固有特性所致。 |
|
回到顶部 |
|
 |
救助
新的用户
已加入:2009年2月20日 帖子:96 地点:班加罗尔:)
|
|
|
|
桑卡尔 ,在编码时做出以下假设。
引用: |
我只想连接上面所有6个字段,只要它具有一些值即可。我还需要将前60个非空格字符连接到我的目标输出变量中。 |
如果所有6个变量都带空格,则目标值将带空格。
引用: |
如果只有变量1具有值并且其余所有都具有空格,那么我将从变量1中获取整个60字节。如果除变量1之外的其他任何变量都具有值,则它将从变量1中获取前30个字节,从其他变量中获取30具有非空格字符的变量。 |
A.如果只有变量1具有值,其余变量具有空格,则变量1将移至输出变量。
B.如果任何其他变量具有值,则变量1的前30个字节和其他变量(无空格)的其余部分按2、3、4顺序进入输出变量&5.
C.此代码只会删除尾随空格。
码: |
检查功能反转(VAR1)
汇总VAR1-LEN用于领先的空间
从80个给定的VAR1-LEN中减去VAR1-LEN
检查功能反转(VAR2)
总计VAR2-LEN用于领先的空间
从20个VAR2-LEN中减去VAR2-LEN
检查功能反转(VAR3)
汇总VAR3-LEN以取得领先的空间
从20个VAR3-LEN中减去VAR3-LEN
检查功能反转(VAR4)
汇总VAR4-LEN以取得领先的空间
从12个给定VAR4-LEN中减去VAR4-LEN
检查功能反转(VAR5)
汇总VAR5-LEN用于领先的空间
从20个VAR5-LEN中减去VAR5-LEN
检查功能反转(VAR6)
汇总VAR6-LEN以取得领先的空间
从20个VAR6-LEN中减去VAR6-LEN
如果VAR2 =空间 AND
VAR3 = SPACES AND
VAR4 = SPACES AND
VAR5 = SPACES AND
VAR6 = SPACES AND
VAR1不等距
MOVE VAR1(1:VAR1-LEN) TO VARF
显示'输出变量的最终值:' VARF
其他
IF VAR2不等于空格或
VAR3不等于空格或
VAR4不等于空格或
VAR5不等于空格或
VAR6不等于空格,并且
VAR1 = SPACES (您可以对此做出决定)
MOVE VAR1(1:VARIN) TO VARF
COMPUTE 瓦林 = 瓦林 + 1
如果VAR2不等距
MOVE VAR2(1:VAR2-LEN) TO VARF(VARIN:VAR2-LEN)
COMPUTE 瓦林 = 瓦林 + VAR2-LEN
END-IF
如果VAR3不等距
MOVE VAR3(1:VAR3-LEN) TO VARF(VARIN:VAR3-LEN)
COMPUTE 瓦林 = 瓦林 + VAR3-LEN
END-IF
如果VAR4不等距
MOVE VAR4(1:VAR4-LEN) TO VARF(VARIN:VAR4-LEN)
COMPUTE 瓦林 = 瓦林 + VAR4-LEN
END-IF
如果VAR5不等距
MOVE VAR5(1:VAR5-LEN) TO VARF(VARIN:VAR5-LEN)
COMPUTE 瓦林 = 瓦林 + VAR5-LEN
万一
如果VAR6不等距
MOVE VAR6(1:VAR6-LEN) TO VARF(VARIN:VAR6-LEN)
COMPUTE 瓦林 = 瓦林 + VAR6-LEN
END-IF
万一
万一
显示'输出变量的最终值:' VARF |
根据您的要求进行调整。
WTH。 |
|
回到顶部 |
|
 |
救助
新的用户
已加入:2009年2月20日 帖子:96 地点:班加罗尔:)
|
|
|
|
忘记包含变量定义。
码: |
工作存储。
01 VAR1 PIC X(80) VALUE SPACES.
01 VAR2 PIC X(20) VALUE SPACES.
01 VAR3 PIC X(20) VALUE SPACES.
01 VAR4 PIC X(12) VALUE SPACES.
01 VAR5 PIC X(20) VALUE SPACES.
01 VAR6 PIC X(20) VALUE SPACES.
01 VARF PIC X(60) VALUE SPACES.
01 VAR1-LEN图片9(02) VALUE ZEROES.
01 VAR2-LEN图片9(02) VALUE ZEROES.
01 VAR3-LEN图片9(02) VALUE ZEROES.
01 VAR4-LEN PIC 9(02) VALUE ZEROES.
01 VAR5-LEN图片9(02) VALUE ZEROES.
01 VAR6-LEN图片9(02) VALUE ZEROES.
01 VARF-LEN PIC 9(02) VALUE ZEROES.
01 瓦林 PIC 9(02) VALUE 30.
PROCEDURE DIVISION.
0001-MAIN. (我用接受来输入变量)
ACCEPT VAR1
ACCEPT VAR2
ACCEPT VAR3
ACCEPT VAR4
ACCEPT VAR5
ACCEPT VAR6
|
|
|
回到顶部 |
|
 |
迪克·谢勒
主持人荣誉

已加入:2006年11月23日 帖子:19245 位置:矩阵内部
|
|
|
|
您好,
此代码是否处理嵌入式空间?它似乎没有这样做。
怀疑不仅要“花时间”才能达到尚未明确定义的要求。 。 。
我相信Sankar需要在实施代码之前提供其他“规范”。 |
|
回到顶部 |
|
 |
救助
新的用户
已加入:2009年2月20日 帖子:96 地点:班加罗尔:)
|
|
|
|
引用: |
此代码是否处理嵌入式空间?它似乎没有这样做。 |
迪克,您能否详细说明“嵌入式空间”一词。 |
|
回到顶部 |
|
 |
迪克·谢勒
主持人荣誉

已加入:2006年11月23日 帖子:19245 位置:矩阵内部
|
|
|
|
您好Succor,
如果field1包含
码: |
AAA BBCCFFRR GGHHJJ TTRREEWW |
它包含嵌入式空间,而不仅仅是尾随空间(我相信所有发布的代码都可以检测到)。如果我正确阅读了原始请求,则输出数据中应该没有空格。
正如罗伯特和我都提到的那样,需求需要更好的定义。 |
|
回到顶部 |
|
 |
救助
新的用户
已加入:2009年2月20日 帖子:96 地点:班加罗尔:)
|
|
|
|
正如OP所指定的
引用: |
您能否为我提供一个简单的解决方案,用于串联6个字段而没有尾随空格。 |
根据我确定的假设:
我已经建议了代码。
我只是想确认一下我的理解,这与您的解释相同。
引用: |
正如罗伯特和我都提到的那样,需求需要更好的定义。 |
可能这是必需的,我们需要等待详细明确的要求。
WTH。 |
|
回到顶部 |
|
 |
迪克·谢勒
主持人荣誉

已加入:2006年11月23日 帖子:19245 位置:矩阵内部
|
|
|
|
您好Succor,
引用: |
您能否为我提供一个简单的解决方案,用于串联6个字段而没有尾随空格。 |
您专注于此。 。 。
引用: |
串联后,前60个非空间字符应位于我的目标变量中。 |
这是您引用的同一段中的稍后一句话。 。 。 |
|
回到顶部 |
|
 |
救助
新的用户
已加入:2009年2月20日 帖子:96 地点:班加罗尔:)
|
|
|
|
引用: |
引用:
串联后,前60个非空间字符应位于我的目标变量中。
这是您引用的同一段中的稍后一句话。 。 。 |
迪克,您真的认为如果所有变量都有空格并且他不想用其他东西填充它们是可能的吗? |
|
回到顶部 |
|
 |
迪克·谢勒
主持人荣誉

已加入:2006年11月23日 帖子:19245 位置:矩阵内部
|
|
|
|
引用: |
迪克,您真的认为如果所有变量都有空格并且他不想用其他东西填充它们是可能的吗? |
我相信,除非/直到发布更好的定义,否则所有这一切都是浪费精力。 。 。
我继续进行此对话框的唯一原因是有一堂课 威力 从以下主题中获取: 当一个或多个高级贡献者发布需要更多/更好的信息时,TS应该在开始提供主要基于猜测的技术替代方案之前提供该信息。
d |
|
回到顶部 |
|
 |
救助
新的用户
已加入:2009年2月20日 帖子:96 地点:班加罗尔:)
|
|
|
|
引用: |
我相信,除非/直到发布更好的定义,否则所有这一切都是浪费精力。 。 。 |
不,这不是浪费精力,因为许多人通过实际帮助他人来学习和理解……我当然也这样做。
引用: |
我继续进行此对话框的唯一原因是,可以从该主题中吸取一个教训:当一个或多个高级贡献者发布需要更多/更好的信息时,TS应该在提供技术替代方案之前先提供信息。主要基于猜测。 |
我是一个初学者,我的知识与您息息相关
我要感谢您继续进行讨论。
WTH。 |
|
回到顶部 |
|
 |
dbzTHEdinosauer
全球主持人

已加入:2006年10月20日 帖子:6967 位置:瓷宝座
|
|
|
|
然后我们要经过100个帖子 有人为自己的职位辩护(阅读: 猜测 ).
这个 是 为什么 我的 发布 原为 行 ......(太可惜我们没有bbcode表示抱怨!)
(在我撰写这篇文章的时间中-我很慢,我知道-
又发表了一篇文章。。。。,伙计,要说最后一句话!)
抱歉,已经晚了,我不应该“攻击”贡献者。
我的道歉(是的,我的帖子仍然有效) |
|
回到顶部 |
|
 |
罗伯特·桑普
全球主持人

已加入:2008年6月6日 帖子:8569 地点:美国爱荷华州迪比克
|
|
|
|
好,让我们聚在一起,索要wwcode!  |
|
回到顶部 |
|
 |
救助
新的用户
已加入:2009年2月20日 帖子:96 地点:班加罗尔:)
|
|
|
|
引用: |
然后我们必须去捍卫他的帖子的人浏览100篇帖子(阅读:猜测)。 |
您不是主持人来看看每个人都在发布什么...但是您这样做..这就是您增加帖子的方式...尝试给出更好的答案,然后干预发现的任何事情都可以帮助您的事业。我希望有一天您将了解您将在这里为您提供帮助。
是的,对我们所有人来说已经很晚了,我想我已经完成了。
DBz先生..您又成功了...这是我的最后一篇帖子,感谢您嘲笑人们,然后再帮助他们...。
迪克(不是Dbz),我理解并尊重您的观点。您在帮助人们方面非常出色,我对此表示钦佩。
主持人,请不要偏见...这当然不是一个很好的例子。尽管离开这样的论坛不是一个好主意。.我要感谢所有博学的人。
WTF。 |
|
回到顶部 |
|
 |
dbzTHEdinosauer
全球主持人

已加入:2006年10月20日 帖子:6967 位置:瓷宝座
|
|
|
|
如果您认为我要让您在此主题中发表最后一个帖子,那么您就像疯了一样,既不安全又天真。
如果我是主持人,那么我将对那些不应该受到文明对待的人很好。
3/4的时间,启动线程的原因是因为TS 不能 定义问题.
我几乎100%的顾问工作是由于我能够确定问题。
几乎每个人都可以编写代码,但是很少(似乎)可以确定问题的原因。
这个线程是一个不完整想法的一个很好的例子。
目前有几个线程可以解决问题,
他们掩盖了症状(例如,等待工作)
迪克·谢勒试图迫使TS定义他的要求。
之后,TS可能已经解决了他的问题。
强迫张贴者以为没有偏见。
每个线程的帖子数增加一,而不是一个“贡献”到一个线程。
帖子数似乎是您的问题。 |
|
回到顶部 |
|
 |
UmeySan
活跃成员

已加入:2006年8月22日 职位:771 地点:德国
|
|
|
|
所以在这里我也投入了两美分。
为什么有些人会假设有些人有足够的时间去思考另一个完整而复杂的任务描述。
当他与任务小组取得联系时,大多数其他想法和相关提示都应该是TS问题评估的一部分。这是正常工作。 |
|
回到顶部 |
|
 |
救助
新的用户
已加入:2009年2月20日 帖子:96 地点:班加罗尔:)
|
|
|
|
引用: |
vvmanyam,
你是对的。我为我的帖子表示歉意。
_________________
迪克·布伦霍兹(Dick Brenholtz)。 |
引用: |
我试图参加我不了解的讨论。迪克·布伦霍尔茨 |
继续计数...这只是我遇到的那些的子集,这就是您完成的方式
引用: |
我几乎100%的顾问工作是由于我能够确定问题。 |
..希望有一天,您将学习如何确定问题。自称冠上的另一颗珠宝。
DBZ的真诚努力
最好删除此帖子...更多的人阅读所有这些内容...他们对你笑的越多....我从没想过我会再发布......但是像你这样的人....我希望我们在这里停留,直到除非你想让自己更加丢脸-否则新秀。
我知道,您在这个论坛上说了很多糟糕的话,仍然有主持人一直支持您...他们将继续...
祝大家好运。
救助 |
|
回到顶部 |
|
 |
dbzTHEdinosauer
全球主持人

已加入:2006年10月20日 帖子:6967 位置:瓷宝座
|
|
回到顶部 |
|
 |
救助
新的用户
已加入:2009年2月20日 帖子:96 地点:班加罗尔:)
|
|
|
|
您是否与“定义问题”的能力一样“实现”。我认为如此...我有更好的生活要做,然后与像你这样的人发展问题....你不值得。
他们正确地张贴了,人们有头脑去理解..谢谢..不要太努力地迪克,您最终会使自己太混乱了..在这里停止它...我完成了。 |
|
回到顶部 |
|
 |
dbzTHEdinosauer
全球主持人

已加入:2006年10月20日 帖子:6967 位置:瓷宝座
|
|
|
|
赌你不是! |
|
回到顶部 |
|
 |
外籍人士
全球主持人

已加入:2007年3月14日 帖子:8794 地点:威尔士威尔士
|
|
|
|
我相信是时候锁定这个线程了。
我敢肯定,如果您确实愿意,那么离线将是继续战斗的更好场所。 |
|
回到顶部 |
|
 |
|