PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
13080 00/09/04 21:47:20 RE(17):PBでのポインタの使用 (2) By Taka
13079 00/09/04 21:43:17 RE(16):PBでのポインタの使用 (1) By Taka
13068 00/09/04 12:34:03 RE(15):PB6.5: win32 API関数の使用方法について→PBでのポインタの使用:その2 By ryochan
13067 00/09/04 12:29:11 RE(14):PB6.5: win32 API関数の使用方法について→PBでのポインタの使用:その1 By ryochan
13056 00/09/01 11:50:20 RE(13):PB6.5: win32 API関数 GetOpenFileName()の使用方法について By star6
13054 00/09/01 11:01:00 RE(12):PB6.5: win32 API関数 GetOpenFileName()の使用方法について By SK
13051 00/09/01 02:29:56 RE(11):PB6.5: win32 API関数 GetOpenFileName()の使用方法について By Taka
13050 00/09/01 00:49:45 RE(10):PB6.5: win32 API関数 GetOpenFileName()の使用方法について By ryochan
13043 00/08/31 14:49:29 RE(9):PB6.5: win32 API関数 GetOpenFileName()の使用方法について:サンプル2 By Taka
13042 00/08/31 14:32:41 RE(8):PB6.5: win32 API関数 GetOpenFileName()の使用方法について By Taka
13040 00/08/31 11:22:00 RE(7):PB6.5: win32 API関数 GetOpenFileName()の使用方法について:サンプル2 By ryochan
13039 00/08/31 11:24:44 RE(6):PB6.5: win32 API関数 GetOpenFileName()の使用方法について:サンプル1 By ryochan
13036 00/08/31 11:08:20 RE(5):PB6.5: win32 API関数 GetOpenFileName()の使用方法について By ryochan
13035 00/08/31 10:32:41 RE(4):PB6.5: win32 API関数 GetOpenFileName()の使用方法について By Taka
13024 00/08/30 15:03:26 RE(3):PB6.5: win32 API関数 GetOpenFileName()の使用方法について By Taka
13023 00/08/30 14:45:35 RE(2):PB6.5: win32 API関数 GetOpenFileName()の使用方法について By SK
13020 00/08/30 13:27:57 RE(1):PB6.5: win32 API関数 GetOpenFileName()の使用方法について By Taka
13019 00/08/30 12:10:54 PB6.5: win32 API関数 GetOpenFileName()の使用方法について By star6

カテゴリ: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 (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.