0

我正在使用一家名为 Visma 的公司的 API。当我从他们的数据库中读取数据时,我需要在字符串中分配空间,具体取决于该字段中可以有多少个最大字符以便从中读取。

是这样的:

dim CustomerName as string
CustomerName = Space(50)

AdkGetStr(pData, ADK_CUSTOMER_NAME, CustomerName, 50)

我必须指定我允许读取多少个字符,问题是如果我读取一堆客户名称,几乎所有人都不会使用允许的最大字符数,而且我无法摆脱多余的空间。

我曾尝试修剪并将“”替换为“”,但没有结果。

然后我尝试输入一个名为“test”的客户,我知道这个字符串中的前 4 个字符是字母,第五个(5)是我无法摆脱的空格。

然后我做了这个测试:

CustomerName = Mid$(CustomerName, 5, 1)
'reading the first space after my customername

templength = Len(temp)
'templength is 1

所以我的客户名后面有一个空格,长度为 1,但看起来像这样:

在此处输入图像描述

而且我无法让我的 MsgBox 显示。看起来它比 len = 1 长……而且它不等于制表符或空或空?这到底是什么?

字符串不可能是唯一的,是吗?所以它必须等于某个东西......如果我知道那是什么,我可以从我的字符串中删除空格。

4

1 回答 1

0

If you have no way of getting the length of the string from the database, you will have to clean the string yourself by searching for the character's position:

Function CleanString(ByRef str As String) As String

    Dim posNullChar As Long
    posNullChar = InStr(1, str, vbNullChar)
    If posNullChar > 0 Then
         CleanString = Left$(str, posNullChar - 1)
    Else
         CleanString = str
    End If

End Function
于 2013-04-24T08:38:30.187 回答