|
▼ルネッサ さん、じゅんじゅん さん:
おはようございます。
一応、考えて作りましたが、
じゅんじゅんさんのソースが良いかも知れませんね^^;
ただ長いだけであまり良い出来ではないですが
記載します。
自分の場合は配列に値をセットし、選ばれた値は
配列を詰めて行くソースです。
例:
Dim Setval() As String
Dim Maxindex As Integer
Function Main() As String
Dim MaxCnt As Integer
Dim Cnt As Integer
Dim GetStr As String
'初期処理
Call FncFstSetData
GetStr = ""
MaxCnt = Maxindex
For Cnt = 1 To MaxCnt
'配列より取得処理(連結)
GetStr = GetStr & FncGetData
Next
End Function
'初期配列セット処理
Function FncFstSetData()
Dim i As Integer
Maxindex = 5
'5の配列定義
ReDim Setval(Maxindex) As String
'A〜Eまでを配列にセット
For i = 1 To Maxindex
Setval(i) = Chr(64 + i)
Next i
End Function
'配列から1文字を取得
Function FncGetData() As String
Dim Getindex As Integer
Dim CntIndex As Integer
Dim GetStr As String
Randomize
Getindex = Int((Maxindex * Rnd) + 1)
'取得文字列を取得
GetStr = Setval(Getindex)
'取得文字列の配列以降を詰める
For CntIndex = Getindex + 1 To Maxindex
Setval(CntIndex - 1) = Setval(CntIndex)
Next
Setval(Maxindex) = ""
Maxindex = Maxindex - 1
'取得文字列を返す
FncGetData = GetStr
End Function
|
|