• ベストアンサー

VB2005 文字型(String)について

VB6 では文字型でも配列(Global Itemdata(0 To 100) As String)にできていたのですが、VB2005では、文字型は配列にできないのでしょうか?どなたか文字型を配列にする方法を知っていれば教えて頂きたいのですが。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.1

できますよ。 配列の下限の指定では? .netでは指定できませんけど、VB2005ではできるはずですけど。 http://www.atmarkit.co.jp/fdotnet/special/vb6tovb2005mig02/vb6tovb2005mig02_02.html なんていうエラーなんですか?GlobalではなくてPublicでは?

shimakichi
質問者

お礼

okg00様ありがとうございました。問題解決致しました。

関連するQ&A

  • VB6.0のString関数に代わるVB2008のそれは?

    2009年1月27日にVB 2008Expressをダウンロードしたばかりの初学者です。 ですから、色々とわからないことだらけです。 で、今回は VB6.0のString関数に代わるVB2008のそれ。 ? String(12, "*") ************ Function Strings(ByVal C As Char, ByVal L As Integer) As String   Return Space(L).Replace(" ", C) End Function 少しは探しましたが、適当なのがなくてStrings関数を作成してしまいました。 2週間程度の初学者。 しかも、文字列関連のヘルプは昨日に初めて紐解いたばかり。 ですから、「適当なのがない」との判断はかなり怪しいものです。 そこで、「VB6.0のString関数に代わるVB2008のそれは、これですよ!」という回答をお願いします。

  • VBのString型の配列をVCで受け取るには?

    VBでString型の配列として定義されている変数を VCのプログラムで受け取るにはどうすればよいのでしょうか? 試しにVBでString型の配列を作って DLLのC_TESTというファンクションを呼び出すという 処理を作ってみたのですが、コンパイルエラーになってしまいます。 なにかおかしいところありますか? そもそもVCにはString型ってないんですよね? プログラミング初心者ですので、変な言葉遣いに なってるかもしれませんが宜しくお願いします。 VB Declare Function C_TEST Lib "\test.dll" (ByVal data() As String) As Integer Dim A(1) As String dim rtn as Integer A(0)="あああ" A(1)="いいい" rtn= C_TEST(A) VCのプログラム int _stdcall C_TEST(LPSTR A[2] ){ AfxMessageBox( A[0] ); return(0); }

  • VB6.0からVB2008移植時のStringの使用方法

    初歩的な質問だと思うのですが色々調べてもわからなかったのでご教授願います。 VB6.0からVB2008にプログラムを移植しているのですが以下の部分の修正方法がわかりません。 元(VB6.0)のソース Dim strStart, strEnd As String strStart = Format( data.Start(0), "0.0" ) strEnd = Format( data.End(0), "0.0" ) Label.Caption = strStart & "-" & strEnd 'data.Start/data.EndはSingleの配列 VB2008のソース Dim strStart As String Dim strEnd As String strStart = VB6.Format( data.Start(0), "0.0" ) strEnd = VB6.Format( data.End(0), "0.0" ) Label.Caption = strStart & "-" & strEnd 'VB6.Format~はソースをUpGradeしたときに自動で変換されました VB2008のstrStartに設定する時点でエラー('System.NullReferenceException' の初回例外が DataRcvSample.exe で発生しました。)となりstrStartがNothingなのがいけないところまではわかったのですが、Newを使ってどのように設定すればいいのかがわかりません。 VB自体まだ2週間位しか触っていない初心者なのですが、急ぎの仕事で勉強する時間がなく、どうすればいいのか困っています。 修正方法をご教授願います。

  • VB.NET DLL 参照型String読込み

    VCで作成されたDLLの参照型Stringの読込みに困っております。 ご存じの方、お教え下さい。 VB6では次のような定義で、問題なく実行できます。 Private Declare Function VcToVb _ Lib "xxxxxxx.dll" Alias "VcToVb" _ (ByVal Input_DATA As String, ByVal Input_DATA_Cnt As Long, _ ByRef strData As String, ByRef Err_Cnt As Long, ByRef Err_DATA As String) As Long ------------------------------------ Out_Str , Err_Str の領域を確保 iRent = Check_VcToVb1(Input_STR, Input_Cnt, Out_STR, Err_Cnt, Err_STR) これを VB.NETで実施 Private Declare Ansi Function VcToVb _  Lib "xxxxxxx.dll" Alias "VcToVb" _ (ByVal Input_DATA As String, ByVal Input_DATA_Cnt As Int32, _ <MarshalAs(UnmanagedType.LPStr)> ByRef strData As StringBuilder, _ ByRef err_cnt As Int32, ByRef Err_DATA As StringBuilder) As Int32 (テストのため、strDataのみ) -------------------------------------- Out_Str , Err_Str の領域を確保 iRent = Check_VcToVb1(Input_STR, Input_Cnt, Out_STR, Err_Cnt, Err_STR) ******************************************* 調べた結果、VB.NETでは参照型は簡単にはいかないみたいで、StringBuilderを使用するとか、色々な方法を試しました。 結果は戻ってくるのですが、問題は DLLが文字列を返すときに、文字列内の項目区切文字として chr(0)を設定します。 このため、結果は Chr(0)の前までしか設定されません。 (VB.NETが Chr(0)を文字列の最後と判断する?) これを解決する方法はありますでしょうか。 現在は VB6で呼出す DLLを作成し、VB.NETはこれを使用していますが、 C#.Netならできるのでしょうか。 よろしくお願い申し上げます。

  • vb6のstringについて256文字以上連結

    Dim str as String Dim intloop as Integer For intloop=0 TO 19 str=str+"work joint“+intloop Next intloop 20個分の文字列が連結されません。 どのようにすればよろしいでしょうか?

  • 文字比較 

    VB習って2週間です。ソート比較というんでしょうか 今 Dim newLedger(100) as string Dim oldLedger(100) as string が、ありそれぞれ文字が入っています。 newLedgerの配列に格納されている文字を oldLedgerの配列に格納されている文字に 一つづつ比較し、同じ文字があればnum変数に1追加 なければ1減少というプログラムを作成しているのですが、作りかた教えていただけないでしょうか?

  • VBの「As String * 128」とは?

    VBの「As String * 128」とは? Visual Basic 2010 Expressでコンソールアプリケーションを作成しています。 OSのヴァージョンを取得する機能を作成したかったので、 http://hanatyan.sakura.ne.jp/vbhlp/Version.htm を参考にして、OSVERSIONINFOの構造体を定義しました。 しかし szCSDVersion As String * 128 の 「* 128」 の部分で、ステートメントの終わりを指定してくださいとエラーが出ます。 「* 128」とは、いったいどういう意味ですか? また、エラーを無くす方法はありますか? いろいろ検索しましたが、調べ方が悪いのか、分かりませんでした。 よろしくお願いします。

  • VB6.0 String型変数の文字数制限の250文字制約を外したい。

    VB6.0 String型変数の文字数制限の250文字制約を外したい。 VB6.0を使用しています。他人が作ったプログラムを再利用しています。 String型の変数に文字列が250文字しかどうしてもはいりません。 SQL文ですので、どうしても1000文字ほど入れたいのです。 どこかでString型の文字数制限を行っていると思うのですが、それを外したいのです。

  • VB6 任意の順番でのソート

    現在VB6の勉強をしております。 Public Type udtMenberData name As String '名前 kana As String '読み仮名 tel As String '電話番号 End Type Public udtArrayMember() As udtMenberData 'データ保持用配列 上記のような配列に、ファイルから読み込んだデータが格納されております。 これを、電話番号でソートしたいのですが、文字コード順ではなく、 「'*' < '#' < '0' < ... < '9' 」 という順番でソートしたいのです。(上記以外の文字は入力されないです。) クイックソートで実現させたいのですが、方法が分かりません・・・。 ヒントや実装方法だけでも教えていただけませんでしょうか? 以上、よろしくお願いいたします。

  • VB6.0のモジュール内が文字化けを直す方法を教えていただけないでしょ

    VB6.0のモジュール内が文字化けを直す方法を教えていただけないでしょうか。 Visual Studio2008で作成したものを、 VB6.0で見ようとしています。 以下のようにコードが文字化けしているのですが、 どうしたら文字化けを直すことが出来るのでしょうか? ご存知の方がおられましたら教えてください。 どうぞよろしくお願いいたします。 Public 蜈・蜉帙ヵ繧。繧、繝ォ As String, 險ュ螳壹ヵ繧。繧、繝ォ As String, 邨先棡繝輔ぃ繧、繝ォ As String Public 迴セ蝨ィ繝代せ As String, 繝・・繧ソ繝代せ As String Public DataFile As System.IO.StreamReader

専門家に質問してみよう