PB 電子会議室
カテゴリ:PowerBuilderの開発環境
日付:2000年08月31日 11:08 発信者:ryochan
題名:RE(5):PB6.5: win32 API関数 GetOpenFileName()の使用方法について
みなさん、お久しぶりです。ryochanです。
start6さん、おはようございます。
Takaさんがおっしゃっていたように、
複数ファイルの取得の件について、
flgでOFN_EXPLORER定数を使用すると、
SHFileoperation関数と同じくファイル名の区切りはnullで区切られ
終端はダブルnullとなります。
また、OFN_EXPLORER定数を使用しないと
ファイル名は8.3形式となり、スペースで区切られます。
一番最初に取得されるファイル情報はディレクトリ情報となります。
フィルタの定義も同様でファイルと同じく
nullが区切りとなります。
一つ疑問がありまして、構造体は参照渡しが必須なので
構造体のポインタがAPI関数に渡るのですが
ということは、構造体のメンバはバッファのポインタ(アドレス)
を格納するlong型の変数なので
このlong変数のポインタが渡ってしまうような
気がするのですが、何でこれで正常に動くのか不思議です。
以下、本日暇でしたし、良い機会なのでサンプルを書きます。
Win98 SEでで動作確認済みです。
OPENFILENAME 構造体はPBではこのように定義して下さい。
str_ofn ofn
メンバ
unsignedlong lstructsize
unsignedlong hwndowner
unsignedlong hinstance
unsignedlong lpstrfilter
unsignedlong lpstrcustomfilter
unsignedlong nmaxcustfilter
unsignedlong nfilterindex
unsignedlong lpstrfile
unsignedlong nmaxfile
unsignedlong lpstrfiletitle
unsignedlong nmaxfiletitle
unsignedlong lpstrinitialdir
unsignedlong lpstrtitle
unsignedlong flags
unsignedinteger nfileoffset
unsignedinteger nfileextension
unsignedlong lpstrdefext
unsignedlong lcustdata
unsignedlong lpfnhook
unsignedlong lptemplatename
...次の発言に続きます。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS Oracle SQL*Net 8
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.