人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VisualBasic2008ExpressEditionでプログラムしています。

(以前した質問の内容が不完全でしたので、再質問します)

Module1.vb内に、次のような処理をしてくれるPublic Functionを作りたいです。

つきましては、コードをご教示ください。

0. Public Functionの名前はAaaとする
1. 各種パラメータを受け取る
1-1. strGiven As String
1-2. strFind As String
1-3. strResult As String
2. strGivenの中に、strFindに格納されているのと同じ文字列が含まれているかどうか判定する
3. strResultに結果を代入する
3-1. もし含まれていたら、strResultに"Exist"を代入する
3-2. もし含まれていなかったら、strResultに"NotExist"を代入する
4. strResultを返す

●質問者: jjkkjpjjkkjp
●カテゴリ:コンピュータ
✍キーワード:AAA as String VB いるか
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Mook
●100ポイント ベストアンサー

呼び出し側は

 Dim strGiven As String
 strGiven = "ABC DEF GHI"
 Dim strResult As String
 Dim res As String
 res = Aaa( strGiven, "DEF", strResult)
 msgBox( "引数の結果 = " & strResult ) 
 msgBox( "関数の結果 = " & res ) 

のように使用します。どちらも同じものが返ってくるので、通常このような実装はしませんが・・・。


Module Module1
 Const AAA_NoDirection As Integer = 0
 Const AAA_ToBackward As Integer = 1
 Const AAA_ToForward As Integer = 2

 Public Function Aaa(ByRef strGiven As String, ByVal strFind As String, ByRef strResult As String) As String
 Const searchDirection As Integer = AAA_NoDirection '検索方向
 Const deleteDirection As Integer = AAA_NoDirection '削除方向

 If InStr(strGiven, strFind) > 0 Then
 strResult = "Exist"
 Aaa = "Exist"
 Else
 strResult = "NoExist"
 Aaa = "NoExist"
 Exit Sub
 End If

 Dim strPos As Integer
 Select Case searchDirection
 Case AAA_ToBackward
 strPos = InStr(strGiven, strFind)
 Case AAA_ToForward
 strPos = InStrRev(strGiven, strFind)
 Case Else
 Exit Sub
 End Select

 Select Case deleteDirection
 Case AAA_ToBackward
 strGiven = Right(strGiven, Len(strGiven) - Len(strFind) - strPos + 1)
 Case AAA_ToForward
 strGiven = Left(strGiven, strPos - 1)
 Exit Sub
 End Select
 End Function
End Module
◎質問者からの返答

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ