忍者ブログ
[54] [55] [56] [57] [58] [59] [61] [62] [63] [64] [65]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

 毎年、HPの更新作業で一番苦労するのが
試合日程表を作る作業。

 作り方は、先にペナント競争の日程データを作り、
それをベースにエディタで置換しながら作っている。

でも、非常に大変。。。。

ということで、これをJavaScriptで作ってしまおうと考えて作成した。

●考え方
 ?使用するデータ。
    ○ペナント競争の日程データ
    ○カレンダデータ
 ?データ構成
    ○ペナント競争の日程データは、そのまま使用。
       ・開始時間は、デフォルトでhh:mmで出力し、
          ・時間確定時に手入力してもそんなに手間ではない。
          ・hh:mmを置換で18:00に替え、異なる部分だけ変更すればよい。
    ○オープン戦は、ペナント競争データの先頭にオープン戦用のデータを作成し付加する
    ・カレンダデータは、毎年使うので、年毎の変更が容易であること。
     そのため、日付と曜日を対で入力せず、
       ○別データでカレンダの先頭日付の曜日を指定する。
       ○期間は、2/1から日本シリーズ終了+1週間まで
       ・日付には、
         ○祝日の場合は、祝日情報を付加する。
         ○オールスターゲームの場合は、対応する情報を付加する。
         ○クライマックス・日本シリーズの場合は、対応する情報を付加する。
       ○データ形式
         ○二次元配列で、日付(全角4桁:ex2月1日=" 2 1")、付加情報
         ○付加情報:祝日="祝"、オールスター="オ:文字列"、クライマックス="ク:文字列"
               日本シリーズ:"日:文字列"
    ○対象チーム名:対象チーム名をペナント競争データのチーム名で設定する。
 ?仕様
    ○一日1行づつデータを作成していく。
    ○日付はポインタ管理し、カレンダデータとペナントデータで用いる。
      ○基本ポインタは、カレンダデータとし、ポインタを一つ進める。完了なら終了。
      ○基本ポインタの日付と同じ日がペナントデータにあれば、試合ポインタを当該データに進める。なければNULL。
    ○1行データの作成(1行データはNULLとし、ここに挿入して作成)
      ○基本データの文字毎に対応する処理へ進み、基本データ文字の最後まで繰り返す。
         ○祝:基本ポインタの日付が
             ○日曜日、もしくはカレンダデータの付加情報が祝日であれば、1行データに赤タグ付加
             ○土曜日であれば、1行データに青タグ付加
         ○日:基本ポインタの日付が1日でカレンダデータの先頭でなければ、前月の最終行を出力
              "</pre><a href="#INDEX">このページの先頭へ</A>"
           ○1日の場合は、月初めの月行を出力。x=月の数値
              "<a name="x"><h4><font color="green">"
              "x月</font></h4></a>"
              "<pre>"
           ○1行データに日付(全角2桁)+"日"を挿入
         ○曜:曜日を求め、1行データに挿入。
         ○閉:1行データの先頭にfontタグがあれば、</font>を挿入。
         ○(:試合ポインタがNULLでなく、対象チームが試合があるが予備日(=(があるとき)なら、半角の"("を挿入。
         ○ホ:試合ポインタがNULLでない場合、
              ○対象チームが試合があれば、ホームチーム名+"−"を全角3桁で挿入。
              ○対象チームが試合がなければ、全角3桁で"   "を挿入。
         ○ビ:試合ポインタがNULLでない場合、
              ○対象チームが試合があれば、ビジターチーム名+" "を全角3桁で挿入。
              ○対象チームが試合がなければ、全角3桁で"   "を挿入。
         ○球:試合ポインタがNULLでない場合、
              ○対象チームが試合があれば、球場名+" "を全角5桁で挿入。
              ○対象チームが試合がなければ、全角5桁で"     "を挿入。
         ○時:試合ポインタがNULLでない場合、
              ○対象チームが試合があれば、"hh:mm"を挿入。
              ○対象チームが試合がなければ、" "を挿入。
         ○):試合ポインタがNULLでなく、対象チームが試合があるが予備日(=)があるとき)なら、半角の")"を挿入。
         ○他:試合ポインタがNULLでなく、
              ○他チームの試合があれば、" "+"CD,GT"にペナントデータを変換し挿入。
    ○すべて作成したらテキストBOXに出力する。

    ○1行の基本データ(すべての情報を配置したデータ)の中の半角文字を
      ○用いるデータから対応する内容に置換する。
      ・したがって、以下のテーブルを作る。
      ○「データ内の情報文字→対応した置換文字配列のインデックス番号」テーブル
      ○置換文字配列テーブル
      ○1行基本データは、以下とする。
         「祝日曜閉(ホビ球時)他」
          祝:祝日のFONTタグ(土曜:青、日曜・祝日:赤)
          日:日付(全角3桁): 8日、12日
          曜:曜日(全角3桁):(月)
          閉:祝日のFONT閉じタグ
          (:予備日の場合(半角1桁)
          ホ:ホームチーム名(横浜、ヤク、日ハ)+"−"(全角3桁)
          ビ:ビジターチーム名+" "(全角3桁)
          球:球場名(ナゴヤド)+" "(全角5桁)
          時:開始時間(hh:mm)半角5桁
          ):予備日の場合(半角1桁)
          他:他の試合(CD,GT)(最大半角24桁)

拍手[0回]

PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


トラックバック
この記事にトラックバックする:
忍者ブログ [PR]
カレンダー
09 2017/10 11
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
フリーエリア
[-]最新トラックバック
プロフィール
HN:
7maru
性別:
非公開
自己紹介:

バーコード
ブログ内検索
[+]アーカイブ
アクセス解析