home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 2 / HACKER2.BIN / 446.NETDISP.PAS < prev    next >
Pascal/Delphi Source File  |  1989-10-29  |  7KB  |  319 lines

  1. procedure update_time;
  2. begin
  3.   window(1,1,80,25);
  4.   textcolor(status_f);
  5.   textbackground(border_b);
  6.   gotoxy(59,25); write(SystemDate,' ',SystemTime);
  7.   gotoxy(2,10);
  8. end;
  9.  
  10. procedure status;
  11. begin
  12.   window(1,1,80,25);
  13.   textcolor(status_f);
  14.   textbackground(border_b);
  15.   gotoxy(15,2); write(nbr_calls:4);
  16.   gotoxy(26,2); write(new_pntr:2);
  17.   gotoxy(8,25); write(curr_pntr:3);
  18.   gotoxy(17,25); write(top_pntr:3);
  19.   update_time;
  20. end;
  21.  
  22. procedure display_call(var call : log_type);
  23. begin
  24.   with call do
  25.     write(Trim(prefix) + area + suffix:6);
  26. end;
  27.  
  28. procedure display_log_time(row,n: integer);
  29. begin
  30.   gotoxy(1,row);
  31.   write(checkins[n].hr_min);
  32.   gotoxy(3,row);
  33.   if (n = mark1) then write(#31);
  34.   if (n = mark2) then write(#30);
  35. end;
  36.  
  37. procedure display_checkin(nbr : integer);
  38. var diff : integer;
  39. begin
  40.   normcolor;
  41.   diff := nbr - curr_pntr;
  42.   if (diff < 14) then
  43.   begin
  44.     with checkins[nbr] do
  45.         begin
  46.           window(2,6,7,24);
  47.           gotoxy(1,5 + diff);
  48.           if (list_nbr = 0)
  49.             then display_call(net_list[position]^)
  50.             else display_call(new_list[position]^);
  51.           window(9,6,18,24);
  52.           gotoxy(1,5 + diff);
  53.           if (list_nbr = 0)
  54.             then  write(net_list[position]^.name:10)
  55.             else  write(new_list[position]^.name:10);
  56.           window(20,6,23,24);
  57.           gotoxy(1,5 + diff);
  58.           if (list_nbr = 0)
  59.             then if (net_list[position]^.net_nbr > 0)
  60.                    then write(net_list[position]^.net_nbr:4)
  61.                    else write('----')
  62.             else write('----');
  63.           window(25,6,29,24);
  64.           display_log_time(5 + diff,nbr);
  65.         end;
  66.     end;
  67. end;
  68.  
  69. procedure scroll_up;
  70. begin
  71.   if curr_pntr < top_pntr then
  72.   begin
  73.     window(2,6,7,23);
  74.     normcolor;
  75.     gotoxy(1,1);
  76.     DelLine;
  77.     window(9,6,18,23);
  78.     gotoxy(1,1);
  79.     DelLine;
  80.     window(20,6,23,23);
  81.     gotoxy(1,1);
  82.     DelLine;
  83.     window(25,6,29,23);
  84.     gotoxy(1,1);
  85.     DelLine;
  86.     window(1,1,80,25);
  87.     curr_pntr := curr_pntr + 1;
  88.     if (curr_pntr + 12 < top_pntr) then
  89.       display_checkin(curr_pntr + 13);
  90.   end;
  91.   status;
  92. end;
  93.  
  94. procedure scroll_down;
  95. begin
  96.   if curr_pntr > 1 then
  97.   begin
  98.     window(2,6,7,23);
  99.     normcolor;
  100.     gotoxy(1,1);
  101.     InsLine;
  102.     window(9,6,18,23);
  103.     gotoxy(1,1);
  104.     InsLIne;
  105.     window(20,6,23,23);
  106.     gotoxy(1,1);
  107.     InsLine;
  108.     window(25,6,29,23);
  109.     gotoxy(1,1);
  110.     InsLine;
  111.     curr_pntr := curr_pntr - 1;
  112.     if (curr_pntr - 4 > 0) then
  113.     begin
  114.       with checkins[curr_pntr - 4] do
  115.         begin
  116.           window(2,6,7,23);
  117.           gotoxy(1,1);
  118.           if (list_nbr = 0)
  119.             then display_call(net_list[position]^)
  120.             else display_call(new_list[position]^);
  121.           window(9,6,18,23);
  122.           gotoxy(1,1);
  123.           if (list_nbr = 0)
  124.             then  write(net_list[position]^.name:10)
  125.             else  write(new_list[position]^.name:10);
  126.           window(20,6,23,23);
  127.           gotoxy(1,1);
  128.           if (list_nbr = 0)
  129.             then if (net_list[position]^.net_nbr > 0)
  130.                    then write(net_list[position]^.net_nbr:4)
  131.                    else write('----')
  132.             else write('----');
  133.           window(25,6,29,23);
  134.           display_log_time(1,curr_pntr - 4);
  135.         end;
  136.     end;
  137.   end;
  138.   status;
  139. end;
  140.  
  141. procedure display_nbr(nbr: integer);
  142. var n: integer;
  143. begin
  144.   if (nbr = 0) then exit;
  145.   if (top_pntr = 0) then exit;
  146.   normcolor;
  147.   window(2,6,7,23); clrscr;
  148.   window(9,6,18,23); clrscr;
  149.   window(20,6,23,23); clrscr;
  150.   window(25,6,29,23); clrscr;
  151.   curr_pntr := nbr;
  152.   for n := nbr - 4 to nbr + 13 do
  153.   begin
  154.     if (n > 0) AND (n <= top_pntr) then
  155.     begin
  156.       with checkins[n] do
  157.         begin
  158.           window(2,6,7,24);
  159.           gotoxy(1,n - nbr + 5);
  160.           if (list_nbr = 0)
  161.             then display_call(net_list[position]^)
  162.             else display_call(new_list[position]^);
  163.           window(9,6,18,24);
  164.           gotoxy(1,n - nbr + 5);
  165.           if (list_nbr = 0)
  166.             then  write(net_list[position]^.name:10)
  167.             else  write(new_list[position]^.name:10);
  168.           window(20,6,23,24);
  169.           gotoxy(1,n - nbr + 5);
  170.           if (list_nbr = 0)
  171.             then if (net_list[position]^.net_nbr > 0)
  172.                    then write(net_list[position]^.net_nbr:4)
  173.                    else write('----')
  174.             else write('----');
  175.           window(25,6,29,24);
  176.           display_log_time(n - nbr + 5,n);
  177.         end;
  178.     end;
  179.   end;
  180.   status;
  181. end;
  182.  
  183. procedure top_of_roster;
  184. begin
  185.   display_nbr(1);
  186. end;
  187.  
  188. procedure end_of_roster;
  189. begin
  190.   display_nbr(top_pntr);
  191. end;
  192.  
  193. procedure re_display;
  194. begin
  195.   normcolor;
  196.   window(2,6,7,23);
  197.   gotoxy(1,5);
  198.   DelLine;
  199.   window(9,6,18,23);
  200.   gotoxy(1,5);
  201.   DelLine;
  202.   window(20,6,23,23);
  203.   gotoxy(1,5);
  204.   DelLine;
  205.   window(25,6,29,23);
  206.   gotoxy(1,5);
  207.   DelLine;
  208.   window(1,1,80,25);
  209.   if (curr_pntr + 12 < top_pntr) then
  210.     display_checkin(curr_pntr + 13);
  211.   status;
  212. end;
  213.  
  214. procedure check_old_mark(mark : integer);
  215. var posit : integer;
  216. begin
  217.   window(25,6,29,23);
  218.   if mark = 0 then exit;
  219.   posit := mark - curr_pntr;
  220.   if (posit > -5) AND (posit < 14) then
  221.   begin
  222.     gotoxy(1,5 + posit);
  223.     normcolor;
  224.     write(checkins[mark].hr_min);
  225.   end;
  226. end;
  227.  
  228. procedure set_mark1;
  229. begin
  230.   if curr_pntr = 0 then exit;
  231.   check_old_mark(mark1);
  232.   mark1 := curr_pntr;
  233.   gotoxy(3,5);
  234.   normcolor;
  235.   write(#31);
  236.   window(1,1,80,25);
  237.   status;
  238. end;
  239.  
  240. procedure clr_mark1;
  241. begin
  242.   if curr_pntr = 0 then exit;
  243.   check_old_mark(mark1);
  244.   mark1 := 0;
  245. end;
  246.  
  247. procedure set_mark2;
  248. begin
  249.   if curr_pntr = 0 then exit;
  250.   check_old_mark(mark2);
  251.   mark2 := curr_pntr;
  252.   gotoxy(3,5);
  253.   normcolor;
  254.   write(#30);
  255.   window(1,1,80,25);
  256.   status;
  257. end;
  258.  
  259. procedure clr_mark2;
  260. begin
  261.   if curr_pntr = 0 then exit;
  262.   check_old_mark(mark2);
  263.   mark2 := 0;
  264. end;
  265.  
  266. procedure clr_mark;
  267. begin
  268.   if curr_pntr = mark1 then clr_mark1;
  269.   if curr_pntr = mark2 then clr_mark2;
  270. end;
  271.  
  272. procedure change_log_status;
  273. var NuStatus : char;
  274. begin
  275.   if curr_pntr = 0 then exit;
  276.   normcolor;
  277.   window(25,6,29,23);
  278.   gotoxy(3,5);
  279.   case Ord(checkins[curr_pntr].hr_min[3]) of
  280.     001 : NuStatus := '■';
  281.     254 : NuStatus := ':';
  282.     else  NuStatus := chr(1);
  283.   end;
  284.   write(NuStatus);
  285.   checkins[curr_pntr].hr_min[3] := NuStatus;
  286.   gotoxy(3,5);
  287.   if (curr_pntr = mark1) then
  288.     write(#31);
  289.   if (curr_pntr = mark2) then
  290.     write(#30);
  291.   window(1,1,80,25);
  292.   status;
  293. end;
  294.  
  295. procedure ModName;
  296. begin
  297.   window(9,6,18,24);
  298.   Set_Confirm_On;
  299.   with checkins[curr_pntr] do
  300.   begin
  301.     if list_nbr = 0
  302.       then begin
  303.              sayget(1,5,'',net_list[position]^.name,_S,10,0);
  304.              readGETS;
  305.              go(net_list[position]^.recnbr);
  306.              Nbase._NAME := net_list[position]^.name;
  307.            end
  308.       else begin
  309.              sayget(1,5,'',new_list[position]^.name,_S,10,0);
  310.              readGETS;
  311.              go(new_list[position]^.recnbr);
  312.              Nbase._NAME := new_list[position]^.name;
  313.            end;
  314.   end;
  315.   replace;
  316.   window(20,6,23,24);
  317.   display_checkin(curr_pntr);
  318. end;
  319.