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

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

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

...全文
2732 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

7,762

社区成员

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

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