Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
自作saoriの紹介              http://white-ball.hp.infoseek.co.jp/                                          しらたま2009/03/15     伺...
saoriって? ●   ベースウェアとかに依存せずいろいろやる仕組み ●   機能別にいろいろあります       –     SAORI COLLECTION       –     さおりん       –     何かの略歴2009/0...
自作saori ●   filewatch.dll       –     ファイル更新チェック ●   imgctl_saori.dll       –     画像処理 ●   ssparser_saori.dll       –     ...
filewatch.dll ●   WinAPI FindFirstChangeNotificationのラッパー ●   ファイル/フォルダの更新をNOTIFY SSTPで通知  OnFileWatchChangeNotify{     _a...
imgctl_saori.dll ●   画像処理ライブラリ imgctl.dllのラッパー ●   ただし、一部機能に制限あり #define IMGCTL_SAORI imgctl_saori.dll    _h1 = FUNCTIONEX...
ssparser_saori.dll ●   さくらスクリプト解析クラス TSsParserのラッパー ●   パターンを定義して柔軟な対応が可能 ●   定義の仕方はSSTP Bottle Clientを参考に       –     tag...
ssparser_saori.dll#define SAORI ssparser_saori.dll   _ = FUNCTIONEX(SAORI,SetTagPattern,      h,u,s[%D],s[-%D],s%d,!s%b,!s...
call_func.dll ●   Stdcallな任意のDLL関数を呼び出しが可能 ●   メモリ操作もできます  #define CALL_FUNC_SAORI call_func.dll     _ = FUNCTIONEX(CALL_F...
Saoriネタ募集中2009/03/15     伺的ソフトウェア勉強会 横浜#3   9
Upcoming SlideShare
Loading in …5
×

自作saoriの紹介

715 views

Published on

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

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

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

Published in: Education
  • Be the first to comment

  • Be the first to like this

自作saoriの紹介

  1. 1. 自作saoriの紹介 http://white-ball.hp.infoseek.co.jp/ しらたま2009/03/15 伺的ソフトウェア勉強会 横浜#3 1
  2. 2. saoriって? ● ベースウェアとかに依存せずいろいろやる仕組み ● 機能別にいろいろあります – SAORI COLLECTION – さおりん – 何かの略歴2009/03/15 伺的ソフトウェア勉強会 横浜#3 2
  3. 3. 自作saori ● filewatch.dll – ファイル更新チェック ● imgctl_saori.dll – 画像処理 ● ssparser_saori.dll – さくらスクリプト解析 ● call_func.dll – DLL関数呼び出し2009/03/15 伺的ソフトウェア勉強会 横浜#3 3
  4. 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. 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. 6. ssparser_saori.dll ● さくらスクリプト解析クラス TSsParserのラッパー ● パターンを定義して柔軟な対応が可能 ● 定義の仕方はSSTP Bottle Clientを参考に – tagpat.txt – metapat.txt2009/03/15 伺的ソフトウェア勉強会 横浜#3 6
  7. 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. 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. 9. Saoriネタ募集中2009/03/15 伺的ソフトウェア勉強会 横浜#3 9

×