VBの「As String * 128」とは?
Visual Basic 2010 Expressでコンソールアプリケーションを作成しています。
OSのヴァージョンを取得する機能を作成したかったので、
http://hanatyan.sakura.ne.jp/vbhlp/Version.htm
を参考にして、OSVERSIONINFOの構造体を定義しました。
しかし
szCSDVersion As String * 128
の
「* 128」
の部分で、ステートメントの終わりを指定してくださいとエラーが出ます。
「* 128」とは、いったいどういう意味ですか?
また、エラーを無くす方法はありますか?
いろいろ検索しましたが、調べ方が悪いのか、分かりませんでした。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
参考にされたサイトはVB6.0用のソースですね。
VB6.0とVB2010(=VB.NET)は色々な部分が変わってますので、VB.NET用のサンプルを見た方が良いと思います。
http://dobon.net/vb/dotnet/system/osversion.html
ちなみに一応、質問に答えると…
> 「* 128」とは、いったいどういう意味ですか?
VB6.0(VB2010の5世代前のバージョン?)で固定長文字列を表す定義です。
* 128と記述すると128文字以上の文字列を入れても自動的に128文字でカットされます。
> また、エラーを無くす方法はありますか?
VB2010(=VB.NET)では以下のように記述します。
<VBFixedStringAttribute(128)> Private szCSDVersion As String
No.4
- 回答日時:
極く旧い時代のBasic(VB Basicよりずっと前の当初の、特にビジネスで使うBasic)時代から、文字列の長さを許容長以下で定義するとき、ありました。
文字列長を指定するものです。構造体と言う考えは無いが、私の使っていたものは、ビジネス向けだったのでたしかRecdef
simei*16
jyusho*60
keisuu
Recend
などとフィールド長を定義して、レコードを読むと、このインプトエリアに読み込んでくれました。
具体的な文字列を代入すると、その長さを超えない文字列が左詰めでセットされたように記憶する。
ーー
VB6->VB.NETでは
http://msdn.microsoft.com/ja-jp/library/f47b0zy4 …
http://msdn.microsoft.com/ja-jp/vbasic/cc707243. …
のユーザー定義型記憶領域の固定長文字列。
VB6からVB.NET移行の際の、大きなテーマ(修正項目)の1つのようです。
No.3
- 回答日時:
Win32APIを利用しなくてもNET Frameworkにあるみたいです。
http://dobon.net/vb/dotnet/system/osversion.html
> System.Environment.OSVersion
Win32APIを利用して取得する方法も同じページに記されているので、
下手にVB6用のページを参照するより、こちらを見たほうが分かり易いと思います。
No.1
- 回答日時:
お調べのページは、コメントに記述してあるとおり「VB6.0」のソースです。
~As String * 128
というのは、VB6.0の時代にあった「固定長(この場合は128バイト)の文字列型」です。
VB2010では固定長はサポートされていません。そもそも、VB2010でAPIを使う事自体がナンセンスです。
OperatingSystemオブジェクトで調べるべきでしょう。
http://dobon.net/vb/dotnet/system/osversion.html
ご回答ありがとうございます。
Vb6.0の機能がVb2010でも使えるわけではないのですね。
見当違いなところを探していたようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/26 17:13
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Excel(エクセル) VBA でvlookup エラーなどは削除したい 8 2022/12/30 04:03
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
土曜の昼、学校帰りの昼メシの思い出
週休2日が当たり前の今では懐かしい思い出ですが、昔は土曜日も午前中まで学校や会社がある「半ドン」で、いつもよりちょっと早く家に帰って食べる昼ご飯が、なんだかちょっと特別に感じたものです。
-
おすすめのモーニング・朝食メニューを教えて!
コメダ珈琲店のモーニング ロイヤルホストのモーニング 牛丼チェーン店の朝食などなど、おいしいモーニング・朝食メニューがたくさんありますよね。
-
とっておきの「まかない飯」を教えて下さい!
飲食店で働く方だけが食べられる、とっておきの「まかない飯」。 働いてらっしゃる方がSNSなどにアップしているのを見ると、表のメニューには出てこない秘密感もあって、「食べたい!!」と毎回思ってしまいます。
-
VB6.0の「vbFromUnicode」はVB.NETではどれに相当しますか?
Visual Basic(VBA)
-
Form_Load と Form_Activate のタイミング
Visual Basic(VBA)
-
VB.NET でのLaod/unLoad について
Visual Basic(VBA)
-
-
4
VB6 String型変数の文字数制限
IT・エンジニアリング
-
5
VS 2008(VB.NET)
Visual Basic(VBA)
-
6
VB6の変数宣言で、末尾に*"と数値がつく構文の意味"
Visual Basic(VBA)
-
7
VB6で固定長の文字列の長さを変更するには
Visual Basic(VBA)
-
8
VB6のAttribute VB_Nameの意味について
Visual Basic(VBA)
-
9
DoEventsがやはり分からない
Visual Basic(VBA)
-
10
VB6でユーザー定義型がNothingかどうか調べるには?
Visual Basic(VBA)
-
11
frxファイルの役目
Visual Basic(VBA)
-
12
VBの画面サイズについて
Visual Basic(VBA)
-
13
VB6.0のString関数に代わるVB2008のそれは?
Visual Basic(VBA)
-
14
CloseとDisposeの違い
Visual Basic(VBA)
-
15
VB6とVB.NETでNullの扱いが違う?
Visual Basic(VBA)
-
16
VB6からVB2010への変換について
Visual Basic(VBA)
-
17
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
18
VBの質問#if 0 then ってどう言う意味?
Excel(エクセル)
-
19
VB6 開発環境のエディタに行番号を表示
Visual Basic(VBA)
-
20
VB6.0-整数と余りを求める
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでアルファベットか数...
-
文字列からタブコードを取り除...
-
EXCELで=より左の文字を一括で...
-
Left関数とRight関数を合わせた...
-
【Excel VBA】複数ある特定の文...
-
VBAでの Replace関数で、ワイル...
-
vbsからバッチファイル実行時の...
-
Excelで指数表現しないようにす...
-
エクセルで文字列の最大値を抽...
-
C#で年月を比較する
-
Excelで3E8を3.00E+8にしない方...
-
エクセルで文字列をtxtファイル...
-
アクセスで特定の数字以外(複...
-
16進数を10進数に簡単に変換す...
-
同一セル内に関数と文字列を同...
-
VBA2005 16進を2桁で表示したい。
-
CStringの文字列検索&抜き出し...
-
VBの「As String * 128」とは?
-
C# 巨大な文字列の計算をさせたい
-
MS SQLServer のSQLで文字列の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
文字列からタブコードを取り除...
-
VBAでの Replace関数で、ワイル...
-
Excelで3E8を3.00E+8にしない方...
-
エクセルで文字列をtxtファイル...
-
Excelで指数表現しないようにす...
-
【Excel VBA】複数ある特定の文...
-
Left関数とRight関数を合わせた...
-
エクセルで文字列の最大値を抽...
-
同一セル内に関数と文字列を同...
-
VBA2005 16進を2桁で表示したい。
-
VBの「As String * 128」とは?
-
MS SQLServer のSQLで文字列の...
-
エクセル 数値データを桁をそ...
-
C#で年月を比較する
-
16進数を10進数に簡単に変換す...
-
“丸(〇/○/◯)”に似た文字…
-
アクセスで特定の数字以外(複...
-
Msgboxの×が押されたとき
おすすめ情報