//  _____________ // |             | // | ダンププログラム    | // |  ファイルの内容を   | // |  数値にして表示します | // |_____________| // PAINT { SetFont("MS ゴシック",0) ; call("DrawScreen") ; } DrawScreen { Box(8,30,464,SCR_Y,14,14) ; Box(9,31,465,SCR_Y,7,7) ; Box(9,31,464,SCR_Y,15,15) ; Box(472,30,630,SCR_Y,14,14) ; Box(473,31,631,SCR_Y,7,7) ; Box(473,31,630,SCR_Y,15,15) ; Line(28*4+10,34,28*4+10,SCR_Y,14) ; Line(28*8+10,34,28*8+10,SCR_Y,14) ; Line(28*12+10,34,28*12+10,SCR_Y,14) ; y = 8 ; loop(10){ Line(12,12*y+33,460,12*y+33,14) ; y = y + 8 ; } x = 0 ; y = 0 ; n = add ; h = (WIN_Y - 30) / 12 ; // 1ページの行数 loop(h){ loop(16){ if(n >= len){ return ; } p = 0 ; if(dat(0,n) < 100){ p = 6 ; } if(dat(0,n) < 10){ p = p + 6 ; } PrintData(x*28+16+p,y*12+34,0,6,12,0,0,dat(0,n)) ; // 数値データ PrintCode(x*8+488,y*12+34,0,6,12,0,dat(0,n)) ; // 文字データ x = x + 1 ; n = n + 1 ; } x = 0 ; y = y + 1 ; } } CREATE { SetWinSize(640,400) ; SetWinColor(15) ; Data("dat",1,20000) ; len = 0 ; add = 0 ; x = 8 ; y = 4 ; CreateControl(101,"0","ID_add",x,y+2,40,16) ; x = x + 42 ; CreateControl(0,"へ ジャンプ","ID_jump",x,y,80,20) ; x = x + 90 ; CreateControl(0,"前ページに移動","ID_before",x,y,100,20) ; x = x + 110 ; CreateControl(0,"次ページに移動","ID_next",x,y,100,20) ; CreateControl(0,"ファイルを開く","ID_open",420,y,130,20) ; } // ファイルを開く ID_open { n = OpenFileReadDlg("ファイルを開く") ; if(n == 0){ return ; } CloseFile ; len = GetFileLength("FILE_NAME") ; if(len >= 20000){ MessBox("ファイルが大きすぎます","エラー",0,0) ; } OpenFileRead("FILE_NAME") ; n = 0 ; loop(len){ dat(0,n) = ReadFile(n) ; n = n + 1 ; } CloseFile ; SetCaption("FILE_NAME") ; } // ジャンプ ID_jump { add = GetEditData("ID_add") ; if(add >= len){ return ; } call("DrawScreen") ; } // 前ページに移動 ID_before { n = fix((WIN_Y - 30)/12) * 16 ; add = add - n ; if(add < 0){ add = 0 ; } AllSelectEdit("ID_add") ; SetEditData("ID_add",add,0) ; call("DrawScreen") ; } // 次ページに移動 ID_next { n = fix((WIN_Y - 30)/12) * 16 ; if(add + n >= len){ return ; } add = add + n ; AllSelectEdit("ID_add") ; SetEditData("ID_add",add,0) ; call("DrawScreen") ; }