Your SlideShare is downloading. ×

自作saoriの紹介

452

Published on

「うかべん@横浜#3」講演「自作saoriの紹介」スライド資料 …

「うかべん@横浜#3」講演「自作saoriの紹介」スライド資料

しらたまさん謹製SAORIの使い方の概要。

「うかべん@横浜#3」
http://study.nanican.net/2009/0315/

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
452
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 自作saoriの紹介 http://white-ball.hp.infoseek.co.jp/ しらたま2009/03/15 伺的ソフトウェア勉強会 横浜#3 1
  • 2. saoriって? ● ベースウェアとかに依存せずいろいろやる仕組み ● 機能別にいろいろあります – SAORI COLLECTION – さおりん – 何かの略歴2009/03/15 伺的ソフトウェア勉強会 横浜#3 2
  • 3. 自作saori ● filewatch.dll – ファイル更新チェック ● imgctl_saori.dll – 画像処理 ● ssparser_saori.dll – さくらスクリプト解析 ● call_func.dll – DLL関数呼び出し2009/03/15 伺的ソフトウェア勉強会 横浜#3 3
  • 4. filewatch.dll ● WinAPI FindFirstChangeNotificationのラッパー ● ファイル/フォルダの更新をNOTIFY SSTPで通知 OnFileWatchChangeNotify{ _a = REPLACE(reference0,"","") -- if FWID != -1 { _b = FUNCTIONEX(filewatch.dll,StopFileWatch,FWID); FWID = -1; } -- "1s[10]0s[0]%_aの更新を確認。e" } OnBoot{ FWID = FUNCTIONEX(filewatch.dll, StartFileWatch,C:nanikassp,true,,sakurahwnd) }2009/03/15 伺的ソフトウェア勉強会 横浜#3 4
  • 5. imgctl_saori.dll ● 画像処理ライブラリ imgctl.dllのラッパー ● ただし、一部機能に制限あり #define IMGCTL_SAORI imgctl_saori.dll _h1 = FUNCTIONEX(IMGCTL_SAORI,ToDIB,src1.jpg) _h2 = FUNCTIONEX(IMGCTL_SAORI,ToDIB,src2.jpg) if _h1 != 0 { _ = FUNCTIONEX(IMGCTL_SAORI,PasteDIB, _h1,100,100,-100,-100,_h2,200,200,"frame",30) _ = FUNCTIONEX(IMGCTL_SAORI,DIBtoPNG,des.png,_h1,0) }else{ _ = FUNCTIONEX(IMGCTL_SAORI,ImgctlError) } _ = FUNCTIONEX(IMGCTL_SAORI,DeleteDIB,_h1) _ = FUNCTIONEX(IMGCTL_SAORI,DeleteDIB,_h2)2009/03/15 伺的ソフトウェア勉強会 横浜#3 5
  • 6. ssparser_saori.dll ● さくらスクリプト解析クラス TSsParserのラッパー ● パターンを定義して柔軟な対応が可能 ● 定義の仕方はSSTP Bottle Clientを参考に – tagpat.txt – metapat.txt2009/03/15 伺的ソフトウェア勉強会 横浜#3 6
  • 7. ssparser_saori.dll#define SAORI ssparser_saori.dll _ = FUNCTIONEX(SAORI,SetTagPattern, h,u,s[%D],s[-%D],s%d,!s%b,!s%b,!s%.) FUNCTIONEX(SAORI,GetTagPatternAsDelimitedText) -- _ = FUNCTIONEX(SAORI,SetTagPatternFromFile,tagpat.txt) _ = FUNCTIONEX(SAORI,SetMetaPatternAsDelimitedText, selfname+CHR(1)+keroname+CHR(1)+username) _ = FUNCTIONEX(SAORI,SetInputString, tus[10]hs[7]おとーさーん!w9w9us[13]こーしーん!e) FUNCTIONEX(SAORI,GetStrAsDelimitedText) -- FUNCTIONEX(SAORI,GetMarkUpTypeAsDelimitedText)2009/03/15 伺的ソフトウェア勉強会 横浜#3 7
  • 8. call_func.dll ● Stdcallな任意のDLL関数を呼び出しが可能 ● メモリ操作もできます #define CALL_FUNC_SAORI call_func.dll _ = FUNCTIONEX(CALL_FUNC_SAORI,add_func,kernel32.dll, GetCurrentDirectoryA,u32,u32,ptr) _a = FUNCTIONEX(CALL_FUNC_SAORI,alloc_mem,p,260) _ = FUNCTIONEX(CALL_FUNC_SAORI,call_func, GetCurrentDirectoryA,260,_a) _path = FUNCTIONEX(CALL_FUNC_SAORI,get_mem,_a,s) _ = FUNCTIONEX(CALL_FUNC_SAORI,free_mem,_a,p) _ = FUNCTIONEX(CALL_FUNC_SAORI,remove_func, GetCurrentDirectoryA)2009/03/15 伺的ソフトウェア勉強会 横浜#3 8
  • 9. Saoriネタ募集中2009/03/15 伺的ソフトウェア勉強会 横浜#3 9

×