ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

ヘルメットカメラと「マウスtoマウス」

2007-05-25 18:39:36 | Weblog

前田(みんみん)アナのトレたまで、

かぶっただけで・・・
http://www.tv-tokyo.co.jp/wbs/toretama/070523.html

という「TV電話ユニット搭載ヘルメット」っていうのをやってました。

ヘルメットにカメラとマイクがついていて、ケータイ機能があるので、
話せるというものです。

昔なら、川口隊長がつけて、どっかにいきそうだ(^^;)

番組では、工事現場がどうのこうの。。っていう話のようでしたが、
それよりも、芸人が危険なところにいくのに、これ付けていきそうな気配。。
そーすると、出川哲郎か、エスパー伊藤??

すくなくとも、みんみんアナではない(>_<!)




うーん、でも、ほかに、こーいうかっこをしてくれそうな
テレビ東京のアナウンサーといえば。。
松丸アナだけど、松丸アナは、もっとたいへんなことになってるんだな。。

マウスtoマウス
http://www.tv-tokyo.co.jp/wbs/toretama/070521.html


マウスがわりの帽子。
あたまを振ると、ポインタが動いて、息を吸ったり吐いたりでクリック。
それは、たいへんでしょう。。。
あたま、ぐらんぐらんして、船酔いしそうだ。。

ほかのトレたまより、
かっちょわるくて、たいへんそうで
2人は、かわいそうっていうのは、
ひいき目に見すぎですかね(^^;)

(でも、帽子のマウスは、うーん。。。ないな。。)


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

プログラムやテストデータを自動生成する方法 その12 動作2

2007-05-25 15:39:22 | Weblog

 雛形ソースを作成し、Excelの仕様書を用意すると、プログラムのソースやテストデータを生成する方法について説明するシリーズ、「プログラムやテストデータを自動生成する方法」です。
インストールして、概要、DBの例を説明しました。
 過去のものに関しては
 ここ http://www.geocities.jp/xmldtp/index_zido.htm
 にリンクしてあります。

 前回から、動き方について説明していて、前回は、押されたとき呼び出されるshiyoToFile()の説明でした。結局、関数は
・前処理
・自動生成
・後処理
というかたちになっていて、前処理と後処理は関数名はきまっていますが、中身は自由に書くことが出来ます。なので、問題は自動生成の関数makefileってことでした。
 今回はそのmakefileを説明します。




■位置づけ

makefileは、押されたとき呼び出されるshiyoToFile()から

   Call makefile(hina_name, sh_name, out_name)

 の形で呼び出されます
hina_name:雛形ファイルのあるパス
sh_name ;仕様書のシート名
out_name :書き出し先
です。

 ここで、指定された雛形ファイルを読み込み、仕様書を元に、書き出し先にファイルをかきだします。




■ソース

こんなかんじ
'//=========================//
'//  出力ファイル作成     //
'//=========================//
Sub makefile(infname As String, shname As String, outfname As String)

            '//=========================//
            '//     雛形を読み込む      //
            '//=========================//
    Open infname For Binary Access Read As #1
    fsize = FileLen(infname)
    Seek #1, 1
    indata = Input(fsize, #1)
    Close #1

            '//=========================//
            '//     書き出し内容作成    //
            '//=========================//
    str_pos = 1         '   開始ポイント
    outdata = ""
    tag_pos = InStr(str_pos, indata, "$#$")
    no_out_flg = 0      '   IF文初期化
    
    Do While (tag_pos > 0)
                        '直前まで書き出し
        If (no_out_flg = 0) Then
            outdata = outdata & Mid(indata, str_pos, tag_pos - str_pos)
        End If
                        '制御内容終わりを探す
        end_pos = InStr(tag_pos + 3, indata, "$#$")
        If (end_pos = 0) Then
            str_pos = tag_pos + 3
            Exit Do
        End If
        
                        '制御内容コピー
        tag_data = Mid(indata, tag_pos, end_pos - tag_pos + 3)
        
                        '  制御内容ごとに処理
        str_pos = chgTagToStr(Replace(tag_data, "$#$", ""), end_pos + 3, shname)
        
        
            '   次のタグ位置を探す
        tag_pos = InStr(str_pos, indata, "$#$")
    Loop
            
            '   最後の残りを書き出し
    If (no_out_flg = 0) Then
        outdata = outdata & Mid(indata, str_pos)
    End If
            
            '//=========================//
            '//     作成データ書き出し  //
            '//=========================//
    If (Dir(outfname) <> "") Then
        Kill outfname       '   ファイルがあったら、削除しておく
    End If
    
    Open outfname For Binary Access Write As #1
    fsize = FileLen(outfname)
    Put #1, 1, outdata
    Close #1

End Sub

(上記 < > ¥は、本当は半角)




■説明

・初めに雛形ファイルの内容を全部読み込みます
 →コメント「雛形を読み込む」のところ。indataに全部のデータが入る

・はじめに(開始)タグ$#$があるところを探します。
 →tag_posにいれます。

・開始タグがみつからなくなるまで、以下の処理を繰り返します
   ・前の終了タグの後(はじめはファイル先頭)から、
    開始タグまでを書き出します。
   ・終了タグ$#$を見つけます
   ・そのタグの間の処理をchgTagToStrに行わせます
    →必要な書き出しも、このchgTagToStr内で行います。
   ・次のタグ開始位置を見つけます。

・最後に残りの終了タグ(タグが見つからない場合、ファイル先頭から)
 から、ファイルの終わりまでを書き出します。

・ファイルを書きだしまず
 →コメント「作成データ書き出し」のところ。outdataの内容を書き出し




■つまり、

・タグをみつけて、そこまでを書き出し、

・見つけたタグについてはchgTagToStrで解析、必要な内容を仕様書から
 もってきて書き出し

・次のタグを探す

という繰り返しをしているだけです。




なので、書き出しの一番の問題は、関数「chgTagToStr」内でタグをどのように処理しているのかですが、これについては、次回ということにします。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

開発の初めから順番に書いていってみる その49:プログラミング(11)自動生成決定表2。

2007-05-25 11:57:55 | Weblog

 シリーズ「開発の初めから順番に書いていってみる」の続きです。
 設計手順には、要求分析、外部設計、内部詳細設計・プログラミング、単体テスト、結合テスト、総合テスト、運用テスト及び運用とあります。
 現在プログラミングです。
(プログラミング以前は、ここ http://www.geocities.jp/xmldtp/index_kaihatsu.htm

 プログラミングでは決定表と自動生成のお話をします。
 現在、決定表の自動生成をやっています。



■仕様の復習

で、決定表は、こんなかんじ

で、前回、出力サンプルを示し、以下の項目が必要ということになりました。

(1)項目名がはいるところ=可変項目
(2)zyoken_list=YNの条件の繰り返し、可変項目
(3)todo_list=下の処理内容の繰り返し、可変項目
(4)条件に使う変数名と型=(未定義)繰り返し、可変項目
(5)条件式=条件式の繰り返し、可変項目
(6)実行内容=実行内容と番号の繰り返し、可変項目


このうち、4,5,6の情報はなく、2,3は回転させるということでした。
(1はあります)

で、今日は、仕様書についてです。




■ない情報に関しては、いれてもらわないといけない

 ここで、(4)、(5)、(6)は、がんばれば生成できるのかもしれないけど、ここにはない情報なので、これは、入力してもらうことになります。

したがって、結局、記入してもらう仕様書はこんな感じです
(黄色の部分が入力部分)





■情報加工は前処理で

で、情報加工に関しては、前処理で行います。
90度回転させるわけですが、実際には、前処理を終わった段階で、
あらたに、こんなシートを作成することになります。



新たにシートを作成した場合、このシートを処理しないといけないので
作業一覧は書き換える(このシートを処理するようにする)必要があります。




■まとめ

このように、

・サンプルから、入力項目を決め
・ない項目に関しては仕様書に追加
・情報がある場合は前処理で加工
  →新しいシートを作るのもOK
     :その場合は作業一覧を書き換えることになる。

というかたちになります。




次回は、このシートから、自動生成を行う、雛形ファイルに関してです。




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

大手アップローダーサイトが、続々閉鎖らしい

2007-05-25 00:56:18 | Weblog

ここの痛いニュース
画像ちゃんねるに続き「VIPろだ」「がむしゃら」「カサマツさん」など大手アップローダーサイトが閉鎖
http://blog.livedoor.jp/dqnplus/archives/978753.html

によると、大手アップローダーサイトが、続々閉鎖らしい

で、次は、どうなる。。。

そして、最終的には、だれが、どうなるんだ。。。

まだまだ波乱があるのか。。。も?


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする