Luarida v1.67Betaを公開しました
Luarida v1.67Betaを公開しました。少しのバグフィックスとHttp関連のコマンドの追加、及びZIP圧縮関連のコマンドの追加を行いました。また、実行中のプログラムのPathを取得するgetAppPath()コマンドも追加しました。直接のダウンロードはここから(Luarida v1.67Beta)。最新版は[Luarida最新版]カテゴリーを選んでください。
実行しているプログラムのPathを取得する
system.getAppPath()はLuaridaが起動したプログラムの絶対Pathを返します。
--縦向きに変更 system.setScreen(1) --内部グラフィック画面設定の変更 w,h = canvas.getviewSize() canvas.setMainBmp( w, h ) dialog( "アプリのPathの表示", "AppPath = "..system.getAppPath() ) touch(3) system.exit()
httpコマンドの追加
httpのGETプロトコルは以前からサポートしていたのですが、POSTプロトコルにも対応しました。下記のコマンドが新たに追加されました。
- http.post(POSTするURL) : POST先のURLを指定してPOSTします。
- http.setPostFile(POSTするファイル名) : POSTするファイルを指定します。
- http.addParam(パラメータ) : POSTするときのパラメータを指定します。パラメータは追加できます。
- http.clrParam() : パラメータを消去します。
- http.clrHeader() : addHeader()によって追加したヘッダファイルを消去します。
- http.setContentType(POSTファイルのコンテントタイプ) : POSTファイルのContent-Typeをセットします。text/plain、image/jpeg、text/xml、application/zip などです。
--縦向きに変更 system.setScreen(1) --内部グラフィック画面設定の変更 w,h = canvas.getviewSize() canvas.setMainBmp( w, h ) --アプリと同じフォルダににある画像ファイルをPOSTします。 http.clrParam() http.clrHeader() http.setPostFile( system.getAppPath().."/img_1.jpg" ) http.setContentType( "image/jpeg" ) http.addParam("func=upload") http.post( "http://aaa.bbb.ccc.com/" ) while( http.status()==0 )do end dialog( "POST処理の終了", "img_1.jpgをPOSTしました" ) system.exit()
ファイルをPOSTする必要が無くPOSTプロトコルのみ発行したい場合は、setPostFileを指定せずにPOSTすればOKです。
http.clrParam() http.clrHeader() http.addParam("ccc=0") http.addParam("bbb=10") http.post( "http://aaa.bbb.ccc.com/" ) while( http.status()==0 )do end dialog( "POST処理の終了", "http://aaa.bbb.ccc.com/?ccc=0&bbb=10 をPOSTしました" ) system.exit()
zipコマンドの追加
複数のファイルを圧縮するzipコマンドを追加しました。
- zip.status() : zip圧縮処理の結果を取得します。
- zip.exec(zipファイル名) : 圧縮ファイル名をフルパスで指定します。
- zip.addFile(圧縮するファイル名) : 圧縮するファイルをフルパスで指定します。ファイルは追加して指定できます。
- zip.clrFile() : 指定した圧縮ファイルを全てクリアします。
以下にzipしたファイルをPOSTするサンプルプログラムを書いておきます。
--縦向きに変更 system.setScreen(1) --内部グラフィック画面設定の変更 w,h = canvas.getviewSize() canvas.setMainBmp( w, h ) --ファイルを圧縮します zip.clrFile() zip.addFile( system.getAppPath().."/exitsample.lua" ) zip.addFile( system.getAppPath().."/graphicsample.lua" ) zip.addFile( system.getAppPath().."/hajimeni.lua" ) zip.addFile( system.getAppPath().."/luarida.lua" ) zip.addFile( system.getAppPath().."/textSample.lua" ) zip.addFile( system.getAppPath().."/textinput.lua" ) zip.addFile( system.getAppPath().."/touchsample.lua" ) zip.exec( system.getAppPath().."/luaridasample.zip" ) while( zip.status()==0 )do end dialog( "zip圧縮の終了", system.getAppPath().."/luaridasample.zip" ) http.clrHeader() http.clrParam() http.setPostFile( system.getAppPath().."/luaridasample.zip" ) http.setContentType( "application/zip" ) http.addParam("func=upload") http.post( "http://aaa.bbb.ccc.com/" ) while( http.status()==0 )do end dialog( "POST処理の終了", "luaridasample.zip をPOSTしました" )
以上です。
system.getAppPath() 戻り値: Luaridaが実行したアプリのPath
Luaridaが実行したアプリのPathがフルPathで返ります。
戻り値
- Luaridaが実行したアプリのPath
使用例
LuaridaAppPath = system.getAppPath().."/"
http.clrHeader()
設定したヘッダを全てクリアします。
引数も戻り値もありません。
使用例は、http.addHeader()を参照してください。
http.post( POSTするURL )
POST先のURLを指定してPOSTします。setPostFile()でPOSTファイルを指定しなくてもPOSTできます。そのときはPOSTパラメータのみ送信されます。
引数
- POSTするURL: POST先のURLです。?パラメータ1&パラメータ2という風に書いても大丈夫です。
使用例
--アプリと同じフォルダににある画像ファイルをPOSTします。 http.clrParam() http.clrHeader() http.setPostFile( system.getAppPath().."/img_1.jpg" ) --POSTするファイルを指定します。 http.setContentType( "image/jpeg" ) --コンテントタイプを指定します。 http.addParam("func=upload") --パラメータを設定します。 http.post( "http://aaa.bbb.ccc.com/" ) --POSTします。 while( http.status()==0 )do end --POSTが終了するまで待ちます。
http.addParam( POSTパラメータ )
POSTパラメータをセットします。
引数
- POSTパラメータ: POSTパラメータとは、POSTするときにURLの後に付く & で区切られたパラメータのことです。addParamを繰り返して、複数個セットすることが可能です。
使用例
http.addParam("ccc=0") http.addParam("bbb=10") http.post( "http://aaa.bbb.ccc.com/" ) while( http.status()==0 )do end dialog( "POST処理の終了", "http://aaa.bbb.ccc.com/?ccc=0&bbb=10 をPOSTしました" )
http.clrParam()
設定したPOSTパラメータを全てクリアします。
引数も戻り値もありません。
使用例は、http.post()を参照してください。
http.setContentType( POSTファイルのContent-Type )
POSTファイルのContent-Typeを指定します。
引数
- POSTファイルのContent-Type: POSTファイルのコンテントタイプです。jpgファイルなら"image/jpeg"、テキストファイルなら"text/plain"、zip圧縮ファイルなら"application/zip" などです。
使用例は、http.post()を参照してください。
zip.addFile( 圧縮するファイル名 [,解凍フォルダ] )
圧縮するファイル名と解凍するフォルダ名をセットします。
引数
- 圧縮するファイル名: 圧縮するファイル名をフルパスで書きます。addFileを繰り返して、複数ファイルを設定します。
- 解凍フォルダ: 省略すると解凍先はルートフォルダになります。解凍フォルダを指定すると、ルートフォルダ下にできる解凍フォルダに解凍されます。
以下の使用例では、生成されたluaridasample.zipを解凍すると、下記のようなフォルダに解凍されます。
- luarida.lua
- folder1/exitsample.lua
- folder1/graphicsample.lua
- folder1/folder3/textSample.lua
- folder1/folder3/textinput.lua
- folder2/hajimeni.lua
- folder4/touchsample.lua
使用例
--ファイルを圧縮します zip.clrFile() zip.addFile( system.getAppPath().."/exitsample.lua", "folder1" ) zip.addFile( system.getAppPath().."/graphicsample.lua", "folder1" ) zip.addFile( system.getAppPath().."/hajimeni.lua", "folder2" ) zip.addFile( system.getAppPath().."/luarida.lua" ) zip.addFile( system.getAppPath().."/textSample.lua", "folder1/folder3" ) zip.addFile( system.getAppPath().."/textinput.lua", "folder1/folder3" ) zip.addFile( system.getAppPath().."/touchsample.lua", "folder4" ) zip.exec( system.getAppPath().."/luaridasample.zip" ) while( zip.status()==0 )do end --zip圧縮が終了するまで待ちます。 dialog( "zip圧縮の終了", system.getAppPath().."/luaridasample.zip",1 ) El_Psy_Congroo()