角丸四角形: sample15 Web更新チェック
2009/4/18 6:19 更新
テキスト ボックス: 概要

WebページをCSVファイルの情報に基づいて、更新日時を比較チェックし、前回確認時以降に更新があった場合に、メッセージを表示する。

ユーザが確認後は、更新確認済みとする。
(ユーザが更新確認に対し、「はい」を選択した時)

RSSなどに対応していないWebページの更新を知りたい時に役立つかも。
(スタートアップに登録しておけば、PC起動毎にWebページを自動確認できる!)


当例では、当方関連のWebページ
・マウスレコーダー
・同、作成例
・ポイント位置の文字列取得
の更新日をチェックしている。

      注:更新日とは、サーバー上のファイル更新日時のことで、
        ページ内に記述された日時では無い。
テキスト ボックス: コード

001     INIT                                715 230 1018 634  ...
002     SHOW_MSG   //説明                   0 0 -15 4635 11370 ...
003     LoadReg    //開始レコード番号       %REG0% 2
004 ST             //ループ開始
005     CSV読込    //CSVデータ読込          サンプル\Web更新チェック.csv
006     GetCsvData //ページ名読込           %REG0% 1
007     LoadReg    // 退避→REG1           %REG1% %GotData%
008     GetCsvData //更新日時               %REG0% 2
009     LoadReg    // 退避→REG2           %REG2% %GotData%
010     GetCsvData //URL読込             %REG0% 3
011     LoadReg    // 退避→REG3           %REG3% %GotData%
012 !
013     IEGetModified //更新日時取得        %REG3%
014     LoadReg    //退避→REG4             %REG4% %GotData%
015 !
016     SHOW_MSG   //ファイルと更新日時情報 0 1155 3945 12600 6735 ... 
017     Jump       // いいえ→SKP          =7 %MSGBOX% SKP
018     MSG_BOX    //更新確認  CSVファイルの更新確認       ...
019     Jump       // いいえ→SKP          =7 %MSGBOX% SKP
020     SetCsvData //日時更新               サンプル\Web更新チェック.csv   %REG4%     %REG0% 2
021     SHOW_MSG   // 更新MSG              0 5160 3945 10200 5595 ...
021 !
023 SKP AddReg     //レコード位置加算       %REG0% 1
024     Jump       //レコード数分繰り返す   >=%REG0% %CsvRecordCnt% ST
テキスト ボックス: コードの説明

003    LoadReg   開始レコード番号(=3)を%REG0%にセット。
                 以降、%REG0%をレコード番号をあらわす変数として使用

004 ST           ループ開始。レコード数分ここから繰り返す

005    CSV読込   CSVファイルから全レコードを読込む
                 この時、総レコード数は %CsvRecordCnt% にセットされる。 
                 024  Jump で繰り返し回数決定に使用

006〜011         GetCsvData:CSVファイルのフィールドデータを読込む
                 変数 %GotData% に読込まれる。それぞれの値を変数に退避
                 第1フィールド ページ名 → %REG1%
                 第2フィールド 更新日時 → %REG2%
                 第3フィールド URL    → %REG3%

013,014 IEGetModified  更新日時を取得 変数 %GotData% に読込まれる
                 %REG4% に退避

016     SHOW_MSG  CSVファイル情報と、Webページの更新日時を表示

017     Jump      更新日時がCSVに記録されている日時と等しければジャンプ→SKP

018     MSG_BOX   ユーザにCSVファイルを更新するかを尋ねる。
019     Jump      ユーザが「いいえ」(更新しない)を選択したらジャンプ→SKP
020     SetCsvData CSVファイルの第2フィールド(更新日時)を書き換える

023 SKP           レコード番号をカウントアップ
024     Jump      レコード数分繰り返す