Http://white-ball.hp.infoseek.co.jp/ しらたま 自作saoriの紹介 http://white-ball.hp.infoseek.co.jp/ しらたま 2009/03/15 伺的ソフトウェア勉強会 横浜#3.

Slides:



Advertisements
Similar presentations
© 2007 Autodesk1 ProjectPoint API 概要 AEC ソリューション CPM オートデスク株式会社.
Advertisements

Flash SWF ファイル書き換え PHP extension 2008 年 7 月 21 日 よや.
数学のかたち 数学解析の様々なツール GRAPSE編 Masashi Sanae.
・ω・.
如何かは 如何にして 動くか ソフトマター物理の佐藤と申します。私は末端に水酸基を持つ液晶がしめすフラストレート液晶相の発現条件に迫る研究を行いました。
2006/10/26 山下 諒蔵 佐藤 春旗 前田 俊行 大山 恵弘 佐藤 秀明 住井 英二郎
ソースプログラム・アーカイブ・サイト -関数依存グラフと検索への応用-
OpenDocumentで広がる オフィススイートの可能性
実例に見る 軽いけど凄い? 伺かゴーストの作り方
情報基礎演習B 後半第5回 担当 岩村 TA 谷本君.
Win32APIとMFC H107102 古田雅基 H107048 佐藤一樹 H107126 山下洋平.
2008/03/01 D-BOF k.inaba はじめての initial D 2008/03/01 D-BOF k.inaba
いもうとデスクトップが出来るまで 話すひと: 646.
データ構造とアルゴリズム 第10回 mallocとfree
とても使いやすい Boost の serialization
とても使いやすい Boost の serialization
Lightweight Language Weekend ls-lRシェル
伺か with なでしこ 発表者:しらたま /05/05 うかべん大阪#3.
バージョン管理超入門 まだファイルコピーしてます?
プログラミング演習II 2004年10月19日(第1回) 理学部数学科・木村巌.
Moveであそぼう! 〜デスクトップを動きまわるゴーストを考える〜
3-3 クラス図の関係その2.
2006/11/02 山下 諒蔵 佐藤 春旗 前田 俊行 大山 恵弘 佐藤 秀明 住井 英二郎
マスタリング バベル Boost.勉強会 #2 ( ).
プログラミング論 II 電卓,逆ポーランド記法電卓
Linuxカーネルについて 2014/01.
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
Tokuda Lab. NISHIMURA Taichi
早坂千尋( 伺かをフロントエンドに使ってみたら 早坂千尋( うかべん大阪#4 早坂千尋 2008/11/03.
Flyingware : バイトコード変換による 安全なエージェントの実行
参加者情報 代表者氏名 所属 メールアドレス 格子 提供 自作 L2 L3 ・提出内容(○:提出、△:一部提出、×:未提出) データ 提出
二分探索木によるサーチ.
データ構造とアルゴリズム論 第8章 再帰処理 平成15年12月2日 森田 彦.
C 言語について 補足資料 資料および授業の情報は :
型付きアセンブリ言語を用いた安全なカーネル拡張
Javaソースコード蓄積・ 検索システムSPARS-Jの概要
FlexとBison+アルファ -実習編-
Windows PowerShell Cmdlet
IMAQ Vision Builderを使用して、グリッドキャリブレーションを行う方法
ポインタ解析におけるライブラリの スタブコードへの置換の効果
R8C/Tiny I/Oポートの仕組み.
アルゴリズムとデータ構造 補足資料5-2 「サンプルプログラムsetop.c」
知能情報工学演習I 第12回(後半第6回) 課題の回答
データ構造とアルゴリズム論 第3章 ファイルを用いたデータ入出力2
第7回課題 フィボナッチ数列 (コード:p.171) について,fib(4) を呼び出したときの起こる出来事は以下の通りである.
オブジェクト指向言語論 第八回 知能情報学部 新田直也.
東京工科大学 コンピュータサイエンス学部 亀田弘之
Cプログラムの理解を 支援するナビゲーション機能
データ構造とアルゴリズム論 第4章 レコード構造を使った処理-クラスの利用
プログラミングⅠ 平成30年10月15日 森田 彦.
情報処理基礎A・B 坂口利裕 横浜市立大学・商学部
様々なデータの蓄積,共有が簡単操作で可能に!
ファイルの読み込み #!/usr/bin/env perl #Perlスクリプトの指定 open(FILE, "food.txt");
実装について 前田俊行.
情報基礎演習B 後半第2回 担当 岩村 TA 谷本君.
R8C I/Oポートの仕組み SFR定義ファイルの中身.
ロールを基にした構造進化の表現 Role based Evolution Dependency Structure Matrix
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
ソフトウェア工学 知能情報学部 新田直也.
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
関数と再帰 教科書13章 電子1(木曜クラス) 2005/06/22(Thu.).
プログラミング演習I 2003年6月11日(第9回) 木村巌.
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
情報処理Ⅱ 第9回:2003年12月16日(火).
プログラミング演習II 2003年12月10日(第7回) 木村巌.
プログラミング言語論 プログラミング言語論 演習7 解答と解説 演習7 解答と解説 1.
岩村雅一 知能情報工学演習I 第13回(後半第7回) 岩村雅一
Presentation transcript:

http://white-ball.hp.infoseek.co.jp/ しらたま 自作saoriの紹介 http://white-ball.hp.infoseek.co.jp/ しらたま 2009/03/15 伺的ソフトウェア勉強会 横浜#3

saoriって? ベースウェアとかに依存せずいろいろやる仕組み 機能別にいろいろあります SAORI COLLECTION さおりん 何かの略歴 2009/03/15 伺的ソフトウェア勉強会 横浜#3

自作saori filewatch.dll ファイル更新チェック imgctl_saori.dll 画像処理 ssparser_saori.dll さくらスクリプト解析 call_func.dll DLL関数呼び出し 2009/03/15 伺的ソフトウェア勉強会 横浜#3

filewatch.dll WinAPI FindFirstChangeNotificationのラッパー ファイル/フォルダの更新をNOTIFY SSTPで通知 OnFileWatchChangeNotify{ _a = REPLACE(reference0,"\","\\") -- if FWID != -1 { _b = FUNCTIONEX('filewatch.dll','StopFileWatch',FWID); FWID = -1; } "\1\s[10]\0\s[0]%_aの更新を確認。\e" OnBoot{ FWID = FUNCTIONEX('filewatch.dll', 'StartFileWatch','C:\nanika\ssp','true','',sakurahwnd) 2009/03/15 伺的ソフトウェア勉強会 横浜#3

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

ssparser_saori.dll さくらスクリプト解析クラス TSsParserのラッパー パターンを定義して柔軟な対応が可能 定義の仕方はSSTP Bottle Clientを参考に tagpat.txt metapat.txt 2009/03/15 伺的ソフトウェア勉強会 横浜#3

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', '\t\u\s[10]\h\s[7]おとーさーん!\w9\w9\u\s[13]こーしーん!\e') FUNCTIONEX(SAORI,'GetStrAsDelimitedText') FUNCTIONEX(SAORI,'GetMarkUpTypeAsDelimitedText') 2009/03/15 伺的ソフトウェア勉強会 横浜#3

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

S a o r i ネ タ 募 集 中 2009/03/15 伺的ソフトウェア勉強会 横浜#3