■ファイル構造  ヘッダ:T_DATA  番組データ(固定長):T_PGDATA[G_MAXPG]  番組テキストデータ(可変長) 番組名等の文字情報はテキストデータ部分にASCIIZ文字列であり、T_PGDATAに参照アドレスを持ちます。 文字コードはShiftJISなのでサイトがUTF8だとコード変換が必要になります。 ■定義 const int c_ChVer = 205; const int c_DspVer = 214; const int c_TBarVer = 212; #define G_MAXCH 100 // 登録チャンネル数 #define G_MAXDSP 50 // 設定数 #define G_MAXDCH 50 // 設定列数 #define G_MAXPG 200 // 番組数 #define G_MAXCTGC 9 // ジャンル背景色数 #define G_MAXCTG 100 // ジャンル設定数(0-19:Reserve, 20-99:User) #define G_MAXKEY 16 // キーワード設定数 #define G_CHTLEN 32 #define G_CHLEN 128 #define G_CHCDLEN 8 const enum E_TBar {TbMenu, TbDsp, TbCh, TbDate, TbBtn1, TbBtn2, TbBtn3, TbMax}; const enum E_TBBtn {TbbNone, TbbBasic, TbbEx, TbbDsp, TbbCh, TbbDate, TbbTool, TbbMax}; const enum E_Data {DLink, DIcon, DTitle, DInf, DGenre, DPerson, DMax}; const enum E_Ttxt {TxHead, TxTime, TxIcon, TxTitle, TxInf, TxMax}; const enum E_BColor {BCDef, BCBorder, BCCh, BCTime, BCHead, BCHldy, BCMax}; typedef struct{ int ver; int maxsite; int maxch; int dummy[16]; } T_CHHDR; typedef struct{ int sno; BOOL exe; // exe有無(起動時設定) char name[32]; // サイト名 char url[4][256]; // サイトURL int prtcl; // プロトコル 1:http, 2:https(default) int dummy[6]; int idx; // c_Site(SetChannelで使用) } T_SITE; typedef struct{ int sno; int pid; int region; // 地域 int media; // メディア int media2; // PackId(インターネットTVガイド用) int page; // ページ(インターネットTVガイド用) int dummy[8]; char title[G_CHTLEN]; // 表示名 char name[G_CHLEN]; // 局名 char mname[G_CHLEN]; // メディア・CATV名 char url[256]; // チャンネルURL } T_CH; // 番組データ(1番組分) typedef struct{ // 48byte char type;  // ジャンル番号 char dummy[3]; int stime; // 開始時間 ※時*60+分 int etime; // 終了時間 ※時*60+分 DWORD icon; DWORD title; // 番組名 DWORD inf; // 詳細 DWORD link; // 番組情報リンク DWORD genre; // ジャンル情報 DWORD person; int height; // 高さ(描画時計算) int wgen; // ジャンル(読込時セット) int wkw; // キーワード,新番組(読込時セット) } T_PGDATA; // 番組データ typedef struct{ // 48+48=92 int ver; // ※c_ChVer int date; // 日付(取得時設定)※2001/1/1を1とした経過日数 int sno; // サイト(取得時設定) int pid; // チャンネル(取得時設定) int cnt; // データ数 time_t update; // 8byte char dummy[20]; T_PGDATA tbl[1]; } T_DATA;