VB如何初始化赋值给字符数组?

wyc73 2003-10-20 10:39:34
VC 很简单:
const TCHAR cz_arrNames[10][50] = {
"小岗","小红","效力","张明","王武","","","","","" }

VB呢?
dim names(10) as string
然后呢?

...全文
2736 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
wyc73 2003-10-20
  • 打赏
  • 举报
回复
很好!试通了。要感谢最先回答的“northwolves(野性的呼唤)”和各位大虾。
另外,这种办法是动态分配数组个数的,如何获得数组的有效个数呢?
abcwzl 2003-10-20
  • 打赏
  • 举报
回复
嘻,,他们都说了,我来看看。能不能给分。
守城小轩 2003-10-20
  • 打赏
  • 举报
回复
Option Explicit
Dim names
Sub Init()
With ThisWorkbook.Worksheets("Sheet1")
names = Array( _
"xiaohong", _
"xiaoli", _
"xiaozhang" _
)
End With
MsgBox (names(0))
End Sub

你的可以 在宏下调试通过了
守城小轩 2003-10-20
  • 打赏
  • 举报
回复
Sub sda()
Dim names()


names = Array( _
"xiaohong", _
"xiaoli", _
"xiaozhang" _
)
MsgBox (names(1))
End Sub
wyc73 2003-10-20
  • 打赏
  • 举报
回复
我正在试。
好像没全说清楚:我在Excel VBA中。
我采用了 Array 的方式:
Option Explicit
dim names
Sub Init(0
With ThisWorkbook.Worksheets("Sheet1")
names = Array( _
"xiaohong", _
"xiaoli", _
"xiaozhang" _
)
End With
End Sub
好像不行
射天狼 2003-10-20
  • 打赏
  • 举报
回复
该示例使用 Array 函数来返回一个包含 Variant 的数组。

Dim MyWeek, MyDay
MyWeek = Array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
'返回值假设下界的设置为 1(使用 Option Base
' 语句)。
MyDay = MyWeek(2) 'MyDay 的值为 "Tue"。
MyDay = MyWeek(4) 'MyDay 的值为 "Thu"。
射天狼 2003-10-20
  • 打赏
  • 举报
回复
Array 函数

返回一个包含数组的 Variant。

语法

Array(arglist)

所需的 arglist 参数是一个用逗号隔开的值表,这些值用于给 Variant 所包含的数组的各元素赋值。如果不提供参数,则创建一个长度为 0 的数组。

说明

用来表示数组元素的符号由变量名、圆括号以及括号中的所需元素的索引号组成。在下面的示例中,第一条语句创建一个 Variant 的变量 A。第二条语句将一个数组赋给变量 A。最后一条语句将该数组的第二个元素的值赋给另一个变量。

Dim A As Variant
A = Array(10,20,30)
B = A(2)

使用 Array 函数创建的数组的下界总是 0。这和其它类型的数组不同,它不受 Option Base 语句指定的下界的影响。

注意 没有作为数组声明的 Variant 也可以表示数组。除了长度固定的字符串以及用户定义类型之外,Variant 变量可以表示任何类型的数组。尽管一个包含数组的 Variant 和一个元素为 Variant 类型的数组在概念上有所不同,但对数组元素的访问方式是相同的。
lop008 2003-10-20
  • 打赏
  • 举报
回复
结构体吗?
haisuifeng 2003-10-20
  • 打赏
  • 举报
回复
Dim names(0 To 10, 0 To 50) As String


names(0, 0) = "小岗"
names(0, 1) = "小红"
names(0, 2) = "效力"
names(0, 3) = "张明"
names(0, 4) = "王武"
MsgBox names(0, 1)
j4sxw 2003-10-20
  • 打赏
  • 举报
回复
OK
northwolves 2003-10-20
  • 打赏
  • 举报
回复
Private Sub Form_Load()
Dim names
names = Array("小岗", "小红", "效力", "张明", "王武", "", "", "", "", "", "")
MsgBox names(2)
End Sub
eaglezhao 2003-10-20
  • 打赏
  • 举报
回复
vb中不可以!!!
strongfisher 2003-10-20
  • 打赏
  • 举报
回复
names(0)="小岗"
names(1)="小红"

names(2)="张明"
......

flc 2003-10-20
  • 打赏
  • 举报
回复
学习
hemeijun81 2003-10-20
  • 打赏
  • 举报
回复
用 Array 函数
还可以用循环一个一个赋值
NotReady 2003-10-20
  • 打赏
  • 举报
回复
Option Base 1 '设置下标
Private Sub Form_click()
Dim names
'赋值
names = Array("小明", "小红", "效力", "张明", "王武", "", "", "", "", "", "")
'通过Ubound()函数计算上界
i = UBound(names)
For j = 1 To i
Print names(j)
Next
End Sub
yjch 2003-10-20
  • 打赏
  • 举报
回复
Option Base 1 '设置下标
Private Sub Form_click()
Dim names
'赋值
names = Array("小明", "小红", "效力", "张明", "王武", "", "", "", "", "", "")
'通过Ubound()函数计算上界
i = UBound(names)
For j = 1 To i
Print names(j)
Next
End Sub
sunnyBelt 2003-10-20
  • 打赏
  • 举报
回复
VB没有办法赋初值,这是很郁闷的。不过我还是喜欢VB
northwolves 2003-10-20
  • 打赏
  • 举报
回复
Private Sub Form_Load()
Dim names
names = Array("小岗", "小红", "效力", "张明", "王武", "", "", "", "", "", "")
MsgBox UBound(names)
End Sub
在工程实践中经常需要实现上下位机间的串口通信,为了编程的方便性我们通常采用字符方式进行数据传输,由于需要数据转换以及转换后的数据长度增加,数据传输速度不够理想,为了提高系统实时性在某些特殊场合更需要直接采用二进制进行数据传输。Delphi6.0是一种面向对象的可视化的快速应用开发(RAD)工具,它既具有C++语言的强大功能,同时又有VB的易用性,Delphi6.0的伸缩性强,既可用于开发小项目,也可用于开发大项目,尤其适用于快速应用的开发,其大量优点使它迅速成为一种非常流行的编程语言。Delphi6.0中串口通信的实现方法很多,可以使用嵌入式汇编语言、API函数以及VB的MSComm控件来实现。其中使用MSComm控件来实现串口通信最方便,但有关Delphi如何实现二进制通信的资料很少,大部分参考书都只介绍了VB中MSComm控件的字符通信方式。由于Delphi中数组跟Variant变量不兼容,即在Delphi中字节数组不能直接赋值给MSComm控件的output属性,这跟VB有中很大的不同(VB中可以直接赋值),本人通过摸索总结出两种实现Delphi二进制通信的方法,即动态数组法和可变数组(Variant Array)法,并给出了应用实例。在应用实例中我们使用Delphi的absolute关键字来定义两个同地址的动态数组,类型分别为字节型数组和短整型数组,使用字节动态数组接收数据后,可以直接使用短整型动态数组获得短整型数据,省却了数据转换的麻烦

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧