tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
動的配列を返すプロシージャ(VB6.0) ( No.0 )  [親スレッドへ]
日時: 2009/12/27 15:15
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[基本コード][][]                                                    *
* キーワード:関数,プロシージャ,戻り値,,,                                         *
***********************************************************************************

元質問:動的配列を返すプロシージャについて - 秋風  2003/01/24-18:51  No.2410
        (VB5.0を使用)
----------------------------------------------------------------------------
Re: 動的配列を返すプロシージャについて - 花ちゃん 2003/01/24-20:28 No.2415
----------------------------------------------------------------------------

http://www001.upp.so-net.ne.jp/shige-3peace/ さんのところの

下記のサンプルを使わせてもらったらどうですか?
http://www001.upp.so-net.ne.jp/shige-3peace/VB_Freak/lzh/VB6toVB5.zip

とりあえず、ちょっといじって見ました。

Private Sub Command1_Click()
    Dim i As Integer
    Dim MyVar As Variant
    MyVar = split("abc,defgh,ijklm")
    For i = LBound(MyVar) To UBound(MyVar)
        Debug.Print MyVar(i)
    Next i
End Sub

Function split(Time As String) As Variant      '←ここでエラー
    Dim intcheck As Integer
    Dim strtime() As String          '←30個以内には、データは収まる
    Dim i As Long
    Dim intlen As Long
    i = 0
    Do
        intlen = Len(Time)
        intcheck = InStr(Time, ",")
        ReDim Preserve strtime(i) As String
        If intcheck <> 0 Then
            strtime(i) = Mid(Time, 1, intcheck - 1)
            Time = Mid(Time, intcheck + 1, intlen - intcheck)
            i = i + 1
        End If
        If intcheck = 0 And Len(Time) > 0 Then
            strtime(i) = Time
        End If
    Loop Until (intcheck = 0)
    split = strtime
End Function



 [スレッド一覧へ] [親スレッドへ]