構造体?について

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
クックル

構造体?について

#1 投稿記事 by クックル »

”Win32プログラミング講座 ~ Step8. 構造体とファイルオープンダイアログ ~”にて
プログラム作例では、”OPENFILENAME”を”Type~End Type”などで
定義せず、構造体として扱ってるようですが、どういうフウに解釈すれば
いいでしょうか?

類似の”構造体”?ってどんなのがありますか?



初歩的なことで申し訳ありません。
mako20

#2 投稿記事 by mako20 »

構造体は、簡単に言えばClassと似た構造で
ClassではInherits(継承)、Public、Private、Protectedを利用してオブジェクト指向で宣言されていますが
構造体ではある定数を構成するためのデータをまとめる変数で、ヘルプ中にある「構造体」の例のように宣言してやれば、Classと同じように宣言できるようになる文法です
mako20

#3 投稿記事 by mako20 »

類似の”構造体”?ってどんなのがありますか?
C言語の宣言では
例:
struct hoge{
char str[100];
int ptr;
};

struct hoge a;

a.str="aaaaa\n";
a.ptr=1;
MessageBox(NULL,a.str,a.ptr,MB_OK);

で、ABでの宣言では
例:
Type hoge
str As String
ptr As Int
End Type

Dim a As hoge
a.str="aaaaaa\n"
a.ptr=1
MessageBox(0,Str$(a.str),Str$(a.ptr),MB_OK)
で、宣言できます

あと、OPENFAILENAME構造体はIncludeディレクトリのapi_commdlg.sbpの171行目の保存、読み込み部に存在します
イグトランス

#4 投稿記事 by イグトランス »

OPENFILENAMEももちろん普通の構造体であり、どこかでTypeを使って宣言されています。
No.5870に書いたように自動的にインクルードされるので意識せずに使えるというわけです。
返信する