字符串处理 _Campbellsci论坛问答

我有一个关于将字符串从一个位置复制到另一个位置的问题。假设我有:

Public CurrentStr(23)为字符串*150
公共TempData(23)为字符串*150

字符串处理
_Campbellsci论坛问答

如果第一个TempData()字符串的第一个字符是ascii“S”,我想将字符串从TempData(()复制到CurrentStr()。

这应该奏效吗?

如果TempData(1,1)=83,则
dx=1

CurrentStr(dx)=温度数据(dx
dx=dx+1
循环直到dx=22
结束如果

谢谢,Buck

新对话如下:

如果TempData(1,1)=83,则

你好,巴克

我希望您的代码只需进行几个更改即可工作:

如果TempData(1,1,1)=CHR(83),则

我的理解是(这可能有问题!)字符串中的特定字符是使用第三维度引用的(字符串可以声明为不大于两个维度;例如String1(x,y),z保留用于字符引用)。因此,对于修改后的代码,我预计任何时候第一个字符都是“”;S”;,数据将被复制。

我在测试中看到的是,无论我使用TempData(1)(1,1)还是(1,1,1),如果字符串是“1”;S”表示;值被复制。然而,如果字符串是“0”;SSS”;或“;唱“;或除“;S”;,它不起作用。我本以为任何字符串都会以大写“”开头;S”表示;工作。

我会进一步研究这个问题。同时,使用:

如果Mid(TempData(1),1,1)=CHR(83),则

似乎有效——任何时候第一个字符都是“;S”;,字符串被复制。

当做

Dana W。

新对话如下:

我对StringVar(1,1,1)的理解是错误的:)

使用第三维度访问字符串可以访问从指定的第三维度开始的字符串的*余数*。如果TempData是“0”;“停止”;,则TempData(1,1,2)为“1”;顶部”;,TempData(1,1,3)是“;OP”;,TempData(1,1,1)是“;停止”;。

我们的开发人员还指出了其他一些事情。

在最近的一个操作系统中,我们添加了将Strings设置为1的功能(通常,如果不使用size,字符串默认为16个字节——15个带有1个终止字符)。这允许通过仅使用4个字节来更有效地存储单个字符(必须以4个字节的块来分配可变存储器)。将Size设置为1将允许您使用Var(1,1,1)语法仅访问第一个字符。如果STOP是变量,则Var(1,1,1)将返回S,Var(1,1,2)将返回T,等等。

他还指出;S”表示;可以用来代替CHR(83):)

我希望所有这些都能有所帮助!
Dana公司

新对话如下:

既然我们在寻找字符串中的第一个字符,为什么不";左“;是个不错的选择吗?

岛民

新对话如下:

我确实能够使用Left()指令使其工作。我用它来获得字符串的前两个字符,并将其与“”进行比较;S、 ”;它们是期望的字符。

谢谢你的建议。


美元

新对话如下:

既然我们在寻找字符串中的第一个字符,为什么不";左“;是个不错的选择吗?

因为我没有想到那个??:)

(通常至少有三种方法可以在数据记录器中完成您想做的事情!)

CSI的其他人说,他的第一个想法是使用InStr。

Dana公司

新对话如下:

清除字符串的最佳方法是什么?也就是说,让该字符串的每个字符都设置为空字符CHR(0)?

分享到:

原文链接:,转发请注明来源!
海洋仪器网 仪器使用 字符串处理 _Campbellsci论坛问答
「字符串处理 _Campbellsci论坛问答」评论列表

发表评论