GSL Shell 学習:IUP 実用的使用例(?)

2016-03-16 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での blogramのランクインカテゴリは、
7、2、0、0、1、 0、0、0、0、0(40)で、換算ポイント 88pt 。
「化学業界」「硝子業界」「FM COCOLO」「e-radio」、
「グルコサミン」「Firefox」bg値変動のみ。
「Perl」「C言語」「Python」「FM青森」全く変化無し。
・-・ - -・

さて、本文。


前(2016-03-13)の記事:「GSL Shell 学習:IUP - Portable User Interface
では、「IUP」を使うことは出来た。

そして、次(2016-03-15)の記事:「GSL Shell 学習:LuaJIT で IupLua は …
で、“GSL Shell”即ち“LuaJIT”から使うことは出来ないコトが分かった。


そう云うことで、なんとか、
「IupFileDlg」を使った、実用的(?)なコードが出来た。
local iup = ffi.load( 'iup' )

charA = |s| ffi.cast( 'char*', s )

function mysplit( inputstr, sep )
if sep == nil then sep = '%s' end
local t={} ; i=1
for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
t[i] = str i = i + 1
end
return t
end

ffi.cdef[[
void IupOpen( int, void* );
void* IupFileDlg();
void IupSetAttributes( void*, char* );
void IupPopup( void*, int, int );
int IupGetInt( void*, char* );
char* IupGetAttribute( void*, char* );
]]
iup.IupOpen( 0, ffi.new('void*') ) -- 最初に。

filedlg = iup.IupFileDlg()

A = 'DIALOGTYPE=OPEN, TITLE="Enter File Name", DIRECTORY="E:/work/test/", FILTER="*.csv", FILTERINFO="CSV Files"'
-- ^^^^^^^^^^^^^^^ セパレータは、「/」で可
A = 'DIALOGTYPE=OPEN, TITLE="Enter File Name", DIRECTORY=".", FILTER="*.csv", FILTERINFO="CSV Files"'
-- カレントDir
iup.IupSetAttributes( filedlg, charA(A) )  
iup.IupPopup( filedlg, 0, 0 )

if iup.IupGetInt( filedlg, charA('STATUS') ) ~= -1 then
fname = ffi.string( iup.IupGetAttribute( filedlg, charA('VALUE') ) )
print( fname ) -- これは、フルパス名:「\」セパレート

FN = mysplit( fname, '\\' )
print( FN[#FN] ) -- これで、ファイル名抽出
end
これで、ダイアログ表示時のディレクトリ指定も出来る。


更なる学習ダ。


本日はここまで。


Lua ( GSL Shell ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


160217
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク