home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / docum / c-book.doc / t3.cod < prev    next >
Encoding:
Text File  |  1990-10-26  |  84.5 KB  |  2,013 lines

  1.           öπ¡¬µ¿∩  display_window «»Ñα¿απÑΓ  »«-αạ«¼π ñ½∩ ßΓѬ«óδσ ¿
  2.      ß½«Ñ¡δ󠫬«¡.  é  ½εí«¼ ß½πτáÑ  «¡á ¡¿τÑú«  ¡Ñ  ñѽáÑΓ, Ñß½¿ «¬¡«
  3.      ∩ó½∩ÑΓß∩ ó¿ñ¿¼δ¼ ñ½∩ »«½∞º«óáΓѽ∩.   àß½¿ «¬¡« ¡Ñó¿ñ¿¼«, Γ« »πΓѼ
  4.      ó맮óá  Σπ¡¬µ¿¿  vswap    display_window   ºá¼ÑΘáÑΓ   ó¿ñÑ«»á¼∩Γ∞
  5.      íπΣÑα«¼ ß«σαá¡Ñ¡¿∩,  Ñß½¿ ñÑ⌐ßΓóπεΓ  ß½«Ñ¡δÑ  «¬¡á.  ä½∩ ßΓѬ«óδσ
  6.      «¬«¡ ñѽáÑΓß∩ »α«óÑα¬á,  ¡Ñ ß¬αδΓ« ½¿ «¬¡«.  àß½¿ «¬¡« ß¬αδΓ«, Γ«
  7.      «¬«¡¡δ⌐  íπΣÑα  ß«σαá¡Ñ¡¿∩  ºá»¿ßδóáÑΓß∩  ó  ó¿ñÑ«»á¼∩Γ∞  ó맮ó«¼
  8.      vrstr.  àß½¿ «¬¡« ¡Ñ ß¬αδΓ«, Γ« «¡« ¡¿¬«úñá ¡Ñ óδñáÑΓß∩,  »«φΓ«¼π
  9.      óδºδóáÑΓß∩   vsave   ñ½∩   ß«σαá¡Ñ¡¿∩    ΓѬπΘÑú«     ß«ñÑন¼«ú«
  10.      ó¿ñÑ«»á¼∩Γ¿,    a   clear_window  ¿  wframe óδºδóáεΓß∩ ñ½∩ óδñáτ¿
  11.      »πßΓ«ú« «¬¡á.
  12.  
  13.           öπ¡¬µ¿∩  close_all  π¡¿τΓ«ªáÑΓ  óßÑ  «¬¡á  »πΓѼ »α«σ«ñá  »«
  14.      ß»¿ß¬π ßΓαπ¬Γπα WINDOW ¿ ó맮óá delete_window.
  15.  
  16.           öπ¡¬µ¿∩  delete_window  πñá½∩ÑΓ  «¬¡«  ¿º  ß¿ßΓÑ¼δ »πΓѼ Ñú«
  17.      ß¬αδΓ¿∩,   «ßó«í«ªñÑ¡¿∩   »á¼∩Γ¿,   ºá¡∩Γ«⌐  íπΣÑα«¼  ß«σαá¡Ñ¡¿∩,
  18.      πñá½Ñ¡¿∩  ßΓαπ¬Γπαδ  WINDOW  ¿º  ß»¿ß¬á  ¿  «ßó«í«ªñÑ¡¿∩  »á¼∩Γ¿,
  19.      ß«ñÑαªáΘÑ⌐ ßΓαπ¬Γπαπ WINDOW.
  20.  
  21.           öπ¡¬µ¿∩ hide_window  óδºδóáÑΓ  vswap   ñ½∩   ºá¼Ñ¡δ   íπΣÑαá
  22.      ß«σαá¡Ñ¡¿∩  ó¿ñÑ«»á¼∩Γ∞ε  ñ½∩  ß½«Ñ¡«ú«  «¬¡á  ¿ ó맮óá vrstr ñ½∩
  23.      ó«ßßΓá¡«ó½Ñ¡¿∩ ó¿ñÑ«»á¼∩Γ¿ ñ½∩ ßΓѬ«ó«ú« «¬¡á.
  24.  
  25.           öπ¡¬µ¿∩  repos_window  ¿¼ÑÑΓß∩ Γ«½∞¬«  ñ½∩ ß½«Ñ¡δ󠫬«¡. Ä¡á
  26.      óδºδóáÑΓß∩   «ñ¡¿¼   ¿º   ¼á¬α«ß«ó   move_window,   rmove_window,
  27.      rear_window  ¿  forefront.  Ä¡á  ¿º¼Ñ¡∩ÑΓ  »«½«ªÑ¡¿Ñ  «¬¡á  »πΓѼ
  28.      ß«ºñá¡¿∩  óαѼѡ¡«ú«  «¬¡á,  »«¼ÑΘá∩  óαѼѡ¡«Ñ «¬¡«  ó  ß»¿ß«¬ ó
  29.      ß««ΓóÑΓßΓó¿¿  ß  ¿¡Σ«α¼áµ¿Ñ⌐,  »«½πτÑ¡¡«⌐  ¿º  ¼á¬α«ßá, ºá»¿ßδóá∩
  30.      «α¿ú¿¡á½∞¡«Ñ ß«ñÑন¼«Ñ «¬¡á ó íπΣÑα  ß«σαá¡Ñ¡¿∩ óαѼѡ¡«ú« «¬¡á,
  31.      óδñáóá∩ óαѼѡ¡«Ñ «¬¡« ¿ ß¬αδóá∩ «α¿ú¿¡á½.
  32.  
  33.           Crear_window ºá»¿ßδóáÑΓ  »α«íÑ½δ  ó  «í½áßΓ∞  ñá¡¡δ󠫬¡á, á
  34.      wframe ¿ dtitle ¿º«íαáªáεΓ «¬¡« ß ºáú«½«ó¬«¼ ¡áóÑασπ. ¥Γ¿ Σπ¡¬µ¿¿
  35.      ¿ß»«½∞ºπεΓ Σπ¡¬µ¿ε displ ñ½∩ ºá»¿ß¿ º¡áτÑ¡¿⌐ ó «¬¡«.
  36.  
  37.           öπ¡¬µ¿∩  wprintf  ∩ó½∩ÑΓß∩  »α¿¼Ñα«¼  ¡«ó«ú« »αÑñ»«½áúáѼ«ú«
  38.      ßΓá¡ñáαΓá ANSI  ñ½∩ Σπ¡¬µ¿⌐  ß  »ÑαѼѡ¡δ¼  τ¿ß½«¼  »áαá¼ÑΓα«ó. é
  39.      »α«Φ½«¼   í«½∞Φ¿¡ßΓó«   ¬«¼»¿½∩Γ«α«ó   «íαáíáΓδó὿   printf   ¡á
  40.  
  41.                              - 2 -
  42.      áßßѼí½ÑαÑ ñ½∩  »α«ß¼«Γαá »ÑαѼѡ¡«ú« τ¿ß½á »áαá¼ÑΓα«ó  ¿º ßΓѬá.
  43.      ÅαÑñ»«½áúáѼδ⌐  ßΓá¡ñáαΓ  ¿ß»«½∞ºπÑΓ  ¼¡«ú«Γ«τ¿Ñ  (...)  ó ß»¿ß¬Ñ
  44.      »áαá¼ÑΓα«ó Σπ¡¬µ¿¿ ñ½∩ π¬áºá¡¿∩  »α¿ßπΓßΓó¿∩    »ÑαѼѡ¡«ú« τ¿ß½á
  45.      »áαá¼ÑΓα«ó ß αẽ¿τ¡δ¼¿  Γ¿»á¼¿  ñá¡¡δσ.  æ»Ñµ¿á½∞¡δ⌐ Γ¿» ¼áßß¿óá
  46.      va_list   ¿ß»«½∞ºπÑΓß∩   ñ½∩   «íΩ∩ó½Ñ¡¿∩   ß»¿ß¬á,   á  va_start
  47.      πßΓá¡áó½¿óáÑΓ  ¡áτὫ  ¿ ¬«¡Ñµ ß»¿ß¬á.  öπ¡¬µ¿∩ vsprintf ∩ó½∩ÑΓß∩
  48.      óÑαß¿Ñ⌐  sprintf,  ¬«Γ«αá∩ ñ«»π߬áÑΓ »áαá¼ÑΓα  va_list.  é ñá¡¡«¼
  49.      ß½πτáÑ       »áαá¼ÑΓαδ,        »ÑαÑñáóáѼδÑ       ó      wprintf,
  50.      »ÑαÑαáíáΓδóáεΓß∩ vsprintf ó  ßΓ᫬π ß ¿¼Ñ¡Ñ¼ dlin.   çáΓѼ ßΓ᫬á
  51.      óδñáÑΓß∩ ó «¬¡« »« «ñ¡«¼π  ß¿¼ó«½π ºá αẠ »πΓѼ ó맮óá wputchar.
  52.      àß½¿ π óáß »«½πτ¿Γß∩ óδº«ó   wprintf,   ¬«Γ«αδ⌐  «íαáºπÑΓ  ßΓ᫬π
  53.      í«½ÑÑ  100  ß¿¼ó«½«ó, »α¿ñÑΓß∩ πóѽ¿τ¿Γ∞ ñ½¿¡π ¼áßß¿óá dlin.
  54.  
  55.           öπ¡¬µ¿∩ wputchar  óδñáÑΓ  ß¿¼ó«½  ó  «¬¡«  ó ΓѬπΘÑ⌐ »«º¿µ¿¿
  56.      ¬παß«αá.  Éáß»«½«ªÑ¡¿Ñ «¬«¡¡«ú«  ¬παß«αá  ∩ó½∩ÑΓß∩  Σπ¡¬µ¿Ñ⌐ ñóπσ
  57.      φ½Ñ¼Ñ¡Γ«ó  ßΓαπ¬Γπαδ WINDOW,  ¬«Γ«αδÑ π¬áºδóáεΓß∩ ¼á¬α«ßἿ WCURS
  58.      (ßΓ«½íѵ)   ¿ SCROLL  (ßΓ᫬á).   öπ¡¬µ¿∩  αÑáú¿απÑΓ   ¡á ß¿¼ó«½δ
  59.      ¡«ó«⌐ ßΓ᫬¿ (\n)  ¿ Γáíπ½∩µ¿¿ (\t)  ß½ÑñπεΘ¿¼ «íαẫ¼. ä½∩ ¡«ó«⌐
  60.      ßΓ᫬¿,   Ñß½¿   »ÑαѼѡ¡á∩  SCROLL   ß««ΓóÑΓßΓóπÑΓ   ¡¿ºπ  «¬¡á,
  61.      ß«ñÑন¼«Ñ   «¬¡á  »α«ó«αáτ¿óáÑΓß∩   óóÑασ  ¡á «ñ¡π ßΓ᫬π; ¿¡áτÑ
  62.      º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐ SCROLL    πóѽ¿τ¿óáÑΓß∩.   é   ½εí«¼   ß½πτáÑ
  63.      »ÑαѼѡ¡á∩    WCURS  πßΓá¡áó½¿óáÑΓß∩   ¡á   ßΓ«½íѵ  0.   àß½¿  ó
  64.      wputchar     »«ß½á¡   ß¿¼ó«½    Γáíπ½∩µ¿¿,     »ÑαѼѡ¡á∩   WCURS
  65.      »α«ñó¿úáÑΓß∩  ¬  ß½ÑñπεΘÑ⌐ »«º¿µ¿¿ Γáíπ½∩µ¿¿  ó  «¬¡Ñ.  ÄßΓá½∞¡δÑ
  66.      ß¿¼ó«½δ   «Γ«íαáªáεΓß∩  ó  «¬¡Ñ, á »ÑαѼѡ¡á∩  WCURS  ó«ºαáßΓáÑΓ.
  67.      æΓ᫬¿,   ñ½¿¡á   ¬«Γ«αδσ »αÑóδΦáÑΓ Φ¿α¿¡π  «¬¡á, ¡Ñ »ÑαÑ¡«ß∩Γß∩;
  68.      «¡¿ «íαѺáεΓß∩.
  69.  
  70.           öπ¡¬µ¿∩ wcursor πßΓá¡áó½¿óáÑΓ »ÑαѼѡ¡δÑ  WCURS  ¿ SCROLL ¡á
  71.      ¬««αñ¿¡áΓδ,   ºáñá¡¡δÑ  »α¿   ó맮óÑ.   Ä¡á  ΓᬪѠ πßΓá¡áó½¿óáÑΓ
  72.      ó¿ñÑ«¬παß«α   ¡á  φ¬αá¡¡πε   »«º¿µ¿ε,   ß««ΓóÑΓßΓóπεΘπε  «¬«¡¡«¼π
  73.      ¬παß«απ.
  74.  
  75.           öπ¡¬µ¿∩ get_selection  ß«ºñáÑΓ  í½«¬  ¬παß«αá   ó   «¬¡Ñ   ¿
  76.      »«ºó«½∩ÑΓ  »«½∞º«óáΓÑ½ε  »ÑαѼÑΘáΓ∞  í½«¬  óóÑασ ¿ ó¡¿º,  á ΓᬪÑ
  77.      »α«¿ºó«ñ¿Γ∞  óδí«α  ¡áªáΓ¿Ñ¼  ¬½áó¿Φ¿  <éó«ñ>.   îá¬α««»αÑñѽѡ¿Ñ
  78.      SELECT  ßßδ½áÑΓß∩ ¡á »ÑαѼѡ¡πε ó ßΓαπ¬ΓπαÑ WINDOW ¿ ¿ß»«½∞ºπÑΓß∩
  79.  
  80.                              - 3 -
  81.      ñ½∩ »ÑαѼÑΘÑ¡¿∩ í½«¬á ¬παß«αá ó «¬¡Ñ.  öπ¡¬µ¿¿ accent ¿  deaccent
  82.      ¿ß»«½∞ºπεΓß∩  ñ½∩  ó¬½ετÑ¡¿∩  ¿  ó䬽ετÑ¡¿∩  í½«¬á  ¬παß«αá »πΓѼ
  83.      ¿º¼Ñ¡Ñ¡¿∩ ó¿ñÑ«áΓα¿íπΓá ßΓ᫬¿ ¡á ACCENT ¿  NORMAL.  Åα¿  ¡áªáΓ¿¿
  84.      óÑασ¡Ñ⌐  ¿  ¡¿ª¡Ñ⌐  ¬½áó¿Φ ß« ßΓαѽ¬á¼¿ Σπ¡¬µ¿∩ ¿º¼Ñ¡∩ÑΓ º¡áτÑ¡¿Ñ
  85.      »ÑαѼѡ¡«⌐ SELECT.  Åα¿ ó맮óÑ ¼«ª¡« ΓᬪѠ»ÑαÑñáΓ∞ áñαÑß ¼áßß¿óá
  86.      ß¿¼ó«½«ó,  ß«ñÑαªáΘÑú« ß»¿ß«¬ ¬½áó¿Φ,  ¿ß»«½∞ºπѼδσ ñ½∩ óδí«αá ¿º
  87.      «¬¡á.  àß½¿  »«½∞º«óáΓѽ∞   ¡áª¿¼áÑΓ   «ñ¡π   ¿º   φΓ¿σ   ¬½áó¿Φ,
  88.      »α«¿ºó«ñ¿Γß∩  ß««ΓóÑΓßΓóπεΘ¿⌐  óδí«α  Γᬠ ªÑ,  ¬á¬  Ñß½¿ íδ í½«¬
  89.      ¬παß«αá ¡áσ«ñ¿½ß∩ ó ß««ΓóÑΓßΓóπεΘÑ⌐ ßΓα«¬Ñ ¿ íδ½á  ¡áªáΓá ¬½áó¿Φá
  90.      <éó«ñ>.
  91.  
  92.           öπ¡¬µ¿∩ scroll »α«ó«αáτ¿óáÑΓ »«αµ¿ε ΓѬßΓá ó  «¬¡Ñ óóÑασ ¿½¿
  93.      ó¡¿º  ¡á  «ñ¡π  ßΓ᫬π.  àß½¿ «¬¡« ∩ó½∩ÑΓß∩ »«ß½Ññ¡¿¼  ¿ ó¿ñ¿¼δ¼,
  94.      Σπ¡¬µ¿∩ »α«¬απΓ¬¿ ROM-BIOS »α¿¼Ñ¡∩ÑΓß∩ ñ½∩ π߬«αÑ¡¿∩ »« ßαáó¡Ñ¡¿ε
  95.      ß »α«úαá¼¼¡«⌐ »α«¬απΓ¬«⌐.  öπ¡¬µ¿∩ ROM-BIOS ¡Ñ  »α¿¼Ñ¡∩ÑΓß∩, Ñß½¿
  96.      «¬¡«  ¿¼ÑÑΓ Γ«½∞¬«  «ñ¡π  ßΓ᫬π ΓѬßΓá ¿º-ºá «Φ¿í¬¿  ó IBM  PC ¿
  97.      ¡Ñ¬«Γ«αδσ ¼«ñѽ∩σ  ÇÆ.  ¥Γá  «Φ¿í¬á  óδºδóáÑΓ  »«∩ó½Ñ¡¿Ñ ¡ÑóÑα¡δσ
  98.      ó¿ñÑ«αѺπ½∞ΓáΓ«ó  »α¿  »«»δΓ¬Ñ  »α«óÑα¡πΓ∞  Ññ¿¡ßΓóÑ¡¡πε  ßΓ᫬π.
  99.      ÄΦ¿í¬á íδ½á πßΓαá¡Ñ¡á IBM ó ÇÆ  BIOS,  ¡« ó ¡Ñ¬«Γ«αδσ ¼«ñѽ∩σ «¡á
  100.      «ßΓá½áß∞. àß½¿ «¬¡« ¡Ñ ∩ó½∩ÑΓß∩ »«ß½Ññ¡¿¼ ¿½¿ Ñß½¿ «¡« ¿¼ÑÑΓ «ñ¡π
  101.      ßΓ᫬π  ΓѬßΓá,  ΓѬßΓ«óá∩  «í½áßΓ∞ »α«ó«αáτ¿óáÑΓß∩  »α«úαá¼¼¡« ß
  102.      »«¼«Θ∞ε Σπ¡¬µ¿⌐ dget ¿ displ ñ½∩ τΓÑ¡¿∩ ¿ ºá»¿ß¿  ß¿¼ó«½«ó ΓѬßΓá
  103.      ¿º «¬¡á ¿ ó «¬¡«.
  104.  
  105.           öπ¡¬µ¿∩  waddr  «»Ñα¿απÑΓ  Γ«½∞¬«  ß«  ß½«Ñ¡δ¼¿  «¬¡á¼¿. Ä¡á
  106.      ó«ºóαáΘáÑΓ µÑ½«τ¿ß½Ñ¡¡δ⌐ áñαÑß »«º¿µ¿¿  ó  «¬¡Ñ,  úñÑ αáß»«½«ªÑ¡δ
  107.      ß¿¼ó«½ ¿ áΓα¿íπΓ. àß½¿ «¬¡« ¡Ñ ó¿ñ¿¼«, Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ áñαÑß ó
  108.      íπΣÑαÑ ß«σαá¡Ñ¡¿∩, óδτ¿ß½Ñ¡¡δ⌐  »«  ¬««αñ¿¡áΓá¼ x ¿ y.  àß½¿ «¬¡«
  109.      ó¿ñ¿¼«,  ß¬á¡¿απÑΓß∩ ß»¿ß«¬  ñ½∩ »«¿ß¬á «¬«¡,  í«½ÑÑ »«ºñ¡¿σ, τѼ
  110.      áñαÑßπѼ«Ñ  «¬¡«.  àß½¿  í«½ÑÑ  »«ºñ¡ÑÑ  «¬¡«  ºá¬αδóáÑΓ  »«º¿µ¿ε
  111.      áñαÑßπѼ«ú«   ß¿¼ó«½á,    ó«ºóαáΘáÑΓß∩   áñαÑß,   ß««ΓóÑΓßΓóπεΘ¿⌐
  112.      ß«σαá¡Ñ¡¡«¼π áñαÑßπ φΓ«ú« «¬¡á.  àß½¿ ¡¿ «ñ¡«  í«½ÑÑ »«ºñ¡ÑÑ «¬¡«
  113.      ¡Ñ ºá¬αδóáÑΓ »«º¿µ¿ε  ß¿¼ó«½á,  ó«ºóαáΘáÑΓß∩  π¬áºáΓѽ∞  NULL ñ½∩
  114.      ß««íΘÑ¡¿∩ ó Γ«τ¬π ó맮óá «í ¿ß»«½∞º«óá¡¿¿ ó¿ñÑ«»á¼∩Γ¿.
  115.  
  116.           öπ¡¬µ¿∩ displ ¿ Σπ¡¬µ¿∩ dget óδºδóáεΓß∩ ñ½∩  óδñáτ¿ ¿ »α¿Ñ¼á
  117.      ó¿ñѫ߿¼ó«½á ¿  áΓα¿íπΓá  ó   ¿  ¿º  ß½«Ñ¡«ú«  «¬¡á.  ¥Γ¿ Σπ¡¬µ¿¿
  118.  
  119.                              - 4 -
  120.      óδºδóáεΓ waddr   ñ½∩ »α«óÑન  ¡Ñ«íσ«ñ¿¼«ßΓ¿ τΓÑ¡¿∩  ¿½¿ ºá»¿ß¿ ó
  121.      «í½áßΓ∞ ß«σαá¡Ñ¡¿∩. àß½¿ ¡ÑΓ, áñαÑßπÑΓß∩ ó¿ñÑ«»á¼∩Γ∞.
  122.  
  123.           öπ¡¬µ¿∩  wsvap ¼Ñ¡∩ÑΓ  ¼ÑßΓἿ  ß«ñÑন¼«Ñ íπΣÑαá ß«σαá¡Ñ¡¿∩
  124.      ß½«Ñ¡«ú«  «¬¡á  ¿ ó¿ñÑ«»á¼∩Γ¿ ¿½¿,  ó«º¼«ª¡«,  íπΣÑα«ó ß«σαá¡Ñ¡¿∩
  125.      í«½ÑÑ  »«ºñ¡¿σ  «¬«¡,  ¬«Γ«αδÑ  ºá¬αδóáεΓ  áñαÑßπѼ«Ñ  «¬¡«.  ¥Γá
  126.      Σπ¡¬µ¿∩ ¿ß»«½∞ºπÑΓ displ ¿ dget ñ½∩ óδ»«½¡Ñ¡¿∩ ¿º¼Ñ¡Ñ¡¿∩.
  127.  
  128.           öπ¡¬µ¿¿  vsave ¿ vrstr αáí«ΓáεΓ  ß«  ßΓѬ«ó묨 «¬¡á¼¿. Vsave
  129.      ¬«»¿απÑΓ  ß«ñÑন¼«Ñ  ó¿ñÑ«»á¼∩Γ¿  ó  íπΣÑα  ß«σαá¡Ñ¡¿∩,  á vrstr
  130.      ¬«»¿απÑΓ íπΣÑα ß«σαá¡Ñ¡¿∩ ó ó¿ñÑ«»á¼∩Γ∞.
  131.  
  132.           öπ¡¬µ¿∩  acline óδºδóáÑΓß∩  ¼á¬α«ßἿ  accent ¿ deaccent ñ½∩
  133.      ¿º¼Ñ¡Ñ¡¿∩ óδíαá¡¡«⌐ ßΓ᫬¿  «¬¡á ¡á µóÑΓ«óπε  ¬«¡Σ¿úπαᵿε ACCENT
  134.      ¿½¿ NORMAL.
  135.  
  136.           öπ¡¬µ¿∩ add_list  ñ«íáó½∩ÑΓ ßΓαπ¬Γπαπ WINDOW ó ¬«¡Ñµ ß»¿ß¬á.
  137.  
  138.           öπ¡¬µ¿∩ beg_list ñ«íáó½∩ÑΓ ßΓαπ¬Γπαπ WINDOW ó ¡áτὫ ß»¿ß¬á.
  139.  
  140.           öπ¡¬µ¿∩ remove_list πñá½∩ÑΓ ßΓαπ¬Γπαπ WINDOW ¿º ß»¿ß¬á.
  141.  
  142.           öπ¡¬µ¿∩ iusert_list  óßΓáó½∩ÑΓ  ßΓαπ¬Γπαπ  WINDOW  ó  ß»¿ß«¬
  143.      »«ß½Ñ ñαπú«⌐ ºáñá¡¡«⌐ ßΓαπ¬Γπαδ WINDOW.
  144.  
  145.           öπ¡¬µ¿∩ verify_wnd  ¿ΘÑΓ  ó ß»¿ß¬Ñ  ºáñá¡¡δ⌐ áñαÑß ßΓαπ¬Γπαδ
  146.      WINDOW.  Ä¡á ó«ºóαáΘáÑΓ ¿ßΓ¿¡π ¿½¿ ½«ª∞ ó  ºáó¿ß¿¼«ßΓ¿ «Γ ¡á½¿τ¿∩
  147.      ¿½¿ «ΓßπΓßΓó¿∩ ßΓαπ¬Γπαδ WINDOW ó ß»¿ß¬Ñ. àß½¿ ºáñá¡¡δ⌐ π¬áºáΓѽ∞
  148.      WINDOW αáóÑ¡  NULL,  Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ áñαÑß »«ß½Ññ¡Ñ⌐ ßΓαπ¬Γπαδ
  149.      WINDOW ó ß»¿ß¬Ñ.
  150.  
  151.           öπ¡¬µ¿∩  error_message ß«ºñáÑΓ «¬¡«  ñ½∩ óδñáτ¿ ß»Ñµ¿á½∞¡«ú«
  152.      ß««íΘÑ¡¿∩  «í  «Φ¿í¬Ñ.  æ««íΘÑ¡¿Ñ  ºá»¿ßδóáÑΓß∩  ó  «¬¡«  ó맮ó«¼
  153.      wprintf, ¿ ó¬½ετáÑΓß∩ ºóπ¬«ó«⌐ ß¿ú¡á½.
  154.  
  155.           öπ¡¬µ¿∩ clear_message «τ¿ΘáÑΓ »«ß½Ññ¡ÑÑ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.
  156.  
  157.  
  158.                              - 5 -
  159.  
  160.  
  161.  
  162.                       Åα¿¼Ñαδ «¬«¡
  163.      -----------------------------------------------------------------
  164.  
  165.           äá½ÑÑ αáßß¼áΓα¿óáεΓß∩   ó«º¼«ª¡«ßΓ¿   «¬«¡¡«⌐    í¿í½¿«ΓѬ¿.
  166.      Åα¿ó«ñ∩Γß∩  »α¿¼Ñαδ  »α«úαá¼¼,  ¬áªñá∩  ¿º  ¬«Γ«αδσ  ¿½½εßΓα¿απÑΓ
  167.      αáßß¼áΓα¿óáѼδÑ  ó«º¼«ª¡«ßΓ¿.  Åα¿¼Ñαδ   ß«ßΓ«∩Γ   ¿º   ¡Ñí«½∞Φ«⌐
  168.      π»αáó½∩εΘÑ⌐   »α«úαá¼¼δ  ß  ú½áó¡«⌐  Σπ¡¬µ¿Ñ⌐,  ¬«Γ«αá∩  óδºδóáÑΓ
  169.      Σπ¡¬µ¿ε »α¿¼Ñαá ñ½∩ ñѼ«¡ßΓα¿απѼ«⌐ ó«º¼«ª¡«ßΓ¿.  öπ¡¬µ¿∩ »α¿¼Ñαá
  170.      ß«ñÑαª¿Γ ó맮óδ αá¡ÑÑ αáßß¼«ΓαÑ¡¡δσ í¿í½¿«ΓÑτ¡δσ Σπ¡¬µ¿⌐ ¿ ß½πª¿Γ
  171.      ¿½½εßΓαᵿÑ⌐ ¿σ ¿ß»«½∞º«óá¡¿∩.  èáªñδ⌐ »α¿¼Ñα »α«úαá¼¼δ  ó¬½ετáÑΓ
  172.      »α«Ñ¬Γ¡δ⌐  (.prj)  Σá⌐½,  ¿ß»«½∞ºπѼδ⌐  Æπαí«  æ¿  ñ½∩ »«ßΓα«Ñ¡¿∩
  173.      óδ»«½¡∩Ѽ«⌐ »α«úαá¼¼δ.
  174.  
  175.           çáΓѼ φΓ¿ ªÑ ßá¼δÑ »α¿¼Ñαδ Σπ¡¬µ¿⌐  íπñπΓ  «íΩÑñ¿¡Ñ¡δ ó «ñ¿¡
  176.      óδ»«½¡∩Ѽδ⌐ ¼«ñπ½∞,  ¬«Γ«αδ⌐ ñѼ«¡ßΓα¿απÑΓ  «¬«¡¡δÑ ¼Ñ¡ε. Å«φΓ«¼π
  177.      «¡¿ ¡á»¿ßá¡δ íѺ ß«íßΓóÑ¡¡δσ main-Σπ¡¬µ¿⌐.
  178.  
  179.  
  180.                            ÅÑαѼÑΘÑ¡¿Ñ  «¬¡á
  181.                            -----------------
  182.  
  183.           Åα¿ ¿ß»«½∞º«óá¡¿¿  ß½«Ñ¡δσ  «¬«¡   óá¼   ñ«ßΓπ»¡δ   Σπ¡¬µ¿¿,
  184.      »«ºó«½∩εΘ¿Ñ   »ÑαѼÑΘáΓ∞  «¬¡«  ó  áíß«½εΓ¡πε  ¿½¿  «Γ¡«ß¿Γѽ∞¡πε
  185.      »«º¿µ¿ε ¡á φ¬αá¡Ñ. çá¼ÑΓ¿¼, τΓ« φΓ¿ Σπ¡¬µ¿¿ - move_window ¿ rmove
  186.      _window - ¡Ññ«ßΓπ»¡δ ñ½∩ ßΓѬ«óδ󠫬«¡.
  187.  
  188.           Åα«úαá¼¼á, ¿½½εßΓα¿απεΘá∩  »ÑαѼÑΘÑ¡¿Ñ  «¬¡á,  »α¿óÑñѡᠠ¡á
  189.      ½¿ßΓ¿¡úáσ  6.3,  6.4  ¿  6.5.  ï¿ßΓ¿¡ú  6.3  ∩ó½∩ÑΓß∩   ¼á½Ñ¡∞¬«⌐
  190.      π»αáó½∩εΘÑ⌐ »α«úαá¼¼«⌐, á ½¿ßΓ¿¡ú 6.5 »αÑñßΓáó½∩ÑΓ »α«Ñ¬Γ¡δ⌐ make
  191.      -Σá⌐½. ÄíαáΘá⌐ΓÑß∞ ¬ ½¿ßΓ¿¡úπ 6.4, testmove.c, »α¿ τΓÑ¡¿¿ ñá¡¡«ú«
  192.      «»¿ßá¡¿∩.
  193.  
  194.           ä½∩ ºá»πß¬á »α¿¼Ñαá óóÑñ¿ΓÑ ß½ÑñπεΘπε ¬«¼á¡ñπ:
  195.  
  196.  
  197.                              - 6 -
  198.      c>move
  199.  
  200.           (é φΓ«¼   ¿   »«ß½ÑñπεΘ¿σ  »α¿¼Ñαáσ  »αÑñ»«½áúáÑΓß∩,  τΓ«  æ
  201.      ∩ó½∩ÑΓß∩ óáΦ¿¼ ß¿ßΓѼ¡δ¼ ñ¿ß¬«ó«ñ«¼. ìÑ óó«ñ¿ΓÑ »«ñ߬Ậπ ß>.).
  202.  
  203.           Å«¼¿¼« ¿½½εßΓαᵿ¿  ñó¿ªÑ¡¿∩  «¬¡á,  testmove.c   »«¬áºδóáÑΓ
  204.      ΓᬪѠ»α«µÑßß ß«ºñá¡¿∩ «¬«¡, πßΓá¡«ó¬π ¿σ µóÑΓ«ó, óδñáτπ ¡á φ¬αá¡
  205.      ¿ ºá»¿ß∞ ΓѬßΓá ó ¡¿σ.  Åα«úαá¼¼á ß«ºñáÑΓ Γα¿  «¬¡á,  »α¿ßóá¿óáÑΓ
  206.      ¬áªñ«¼π  ¿º ¡¿σ ß«íßΓóÑ¡¡δÑ µóÑΓá,  óδñáÑΓ ¿σ ¿ ºá»¿ßδóáÑΓ µ¿ΓáΓπ
  207.      ó« óΓ«α«Ñ ¿º ΓαÑσ  «¬«¡.  ¥Γ«Γ  »α¿¼Ñα  ¿½½εßΓα¿απÑΓ  ó«º¼«ª¡«ßΓ∞
  208.      ºá»¿ß¿  ΓѬßΓá  ó  «¬¡«,  ¬«Γ«α«Ñ  τáßΓ¿τ¡« ºá¬αδΓ« ñαπú¿¼ «¬¡«¼.
  209.      Å«ß½Ñ ºá»π߬ᠻα«úαá¼¼δ óδ πó¿ñ¿ΓÑ ¡á ñ¿ß»½ÑÑ Γ«, τΓ« »«¬áºá¡« ¡á
  210.      α¿ßπ¡¬Ñ 6.4.
  211.  
  212.      ┌──────────────────────────────────────────────────────────────┐
  213.      │                                                              │
  214.      │  C>                                                          │
  215.      │                                                              │
  216.      │              ┌──────────────────────┐                        │
  217.      │       ┌──────│ I wouldn't care who  │                        │
  218.      │       │      │ wrote the laws if I  │                        │
  219.      │       │      │ could write the      │                        │
  220.      │       │      │ b ┌─────────┐        │                        │
  221.      │       │      │   │         │ferson  │                        │
  222.      │       │      └───│         ├────────┘                        │
  223.      │       │          │         │                                 │
  224.      │       └──────────┤         │                                 │
  225.      │                  └─────────┘                                 │
  226.      │                                                              │
  227.      │                                                              │
  228.      └──────────────────────────────────────────────────────────────┘
  229.  
  230.              É¿ßπ¡«¬ 6.4. ÅÑαѼÑΘÑ¡¿Ñ ß½«Ñ¡δ󠫬«¡.
  231.  
  232.  
  233.           ÆÑ»Ñα∞ »α«úαἼᠠ «ª¿ñáÑΓ   ¡áªáΓ¿∩   ¬½áó¿Φ¿.    Åα«úαá¼¼á
  234.      ß»Ñµ¿á½∞¡«  ªñÑΓ  ¡áªáΓ¿∩ «ñ¡«⌐ ¿º ¬½áó¿Φ π»αáó½Ñ¡¿∩ ¬παß«α«¼ ¿½¿
  235.  
  236.                              - 7 -
  237.      ¬½áó¿Φ¿ <è½ετ>.  èáªñ«Ñ  ¡áªáΓ¿Ñ  ¬½áó¿Φ¿  ß«  ßΓαѽ¬«⌐  óδºδóáÑΓ
  238.      »ÑαѼÑΘÑ¡¿Ñ   «¬¡á  ¡á  «ñ¡π  ß¿¼ó«½∞¡πε  »«º¿µ¿ε  ó  ¡á»αáó½Ñ¡¿¿
  239.      ßΓαѽ¬¿.  öπ¡¬µ¿∩ rmove_window ¿ß»«½∞ºπÑΓß∩ ñ½∩ »ÑαѼÑΘÑ¡¿∩ «¬¡á.
  240.      ÄíαáΓ¿ΓѠ󡿼᡿Ѡ¡á Γ«,  ¬á¬ µÑ¡Γαá½∞¡«Ñ «¬¡« »ÑαѼÑΘáÑΓß∩ ¼Ñªñπ
  241.      ñóπ¼∩ «ßΓá½∞¡δ¼¿.
  242.  
  243.           è«úñá óδ ¡áª¿¼áÑΓÑ  ¬½áó¿Φπ  <è½ετ>,  «Γ¬αδΓ«Ñ  »Ñαóδ¼  «¬¡«
  244.      π¡¿τΓ«ªáÑΓß∩.  àΘÑ  «ñ¡«  ¡áªáΓ¿Ñ  óδºδóáÑΓ  π¡¿τΓ«ªÑ¡¿Ñ óÑασ¡Ñú«
  245.      «¬¡á.  çᬽετ¿Γѽ∞¡«Ñ ¡áªáΓ¿Ñ π¡¿τΓ«ªáÑΓ ßαÑñ¡ÑÑ «¬¡« ß µ¿ΓáΓ«⌐ ¿
  246.      ºáóÑαΦáÑΓ »α«úαá¼¼π.
  247.  
  248.           ÅÑαѼÑΘÑ¡¿Ñ «¬¡á  ¿½½εßΓα¿απÑΓ ¿ß»«½∞º«óá¡¿Ñ «¬«¡¡δσ íπΣÑα«ó
  249.      ß«σαá¡Ñ¡¿∩, ºá»α«úαá¼¼¿α«óá¡¡«Ñ ó í¿í½¿«ΓѬÑ. Å«ß¬«½∞¬π ΓαÑíπÑΓß∩
  250.      «»αÑñѽѡ¡á∩ «íαáí«Γ¬á  ñ½∩  á¡á½¿ºá  ¬áªñ«ú«  íπΣÑαá  »α¿ ºá»¿ß¿
  251.      ß¿¼ó«½á  ó «¬¡«,  αáí«Γá Σπ¡¬µ¿⌐ πß½«ª¡∩ÑΓß∩  »«  ¼ÑαÑ πóѽ¿τÑ¡¿∩
  252.      αẼÑαá «¬«¡ ¿ ¿σ  ¬«½¿τÑßΓóá.  Åα¿ »ÑαѼÑΘÑ¡¿¿ í«½∞Φ«ú« ß½«Ñ¡«ú«
  253.      «¬¡á  ¡á  ßΓáαδσ  ¼Ññ½Ñ¡¡δσ  ¼«ñѽ∩σ  Å¥éî  φΓ«  ¼«ª¡«  ¡áí½εñáΓ∞
  254.      ó¿ºπá½∞¡«.
  255.  
  256.  
  257.      ï¿ßΓ¿¡ú 6.3: move.c
  258.  
  259.      /* move.c */
  260.  
  261.      void testmove(void);
  262.  
  263.      main()
  264.      {
  265.         testmove();
  266.      }
  267.  
  268.  
  269.      ï¿ßΓ¿¡ú 6.4: testmove.c
  270.  
  271.      /* testmove.c */
  272.  
  273.      #include "twindow.h "
  274.  
  275.                              - 8 -
  276.      #include "keys.h"
  277.  
  278.      void testmove()
  279.      {
  280.         WINDOW *wndA, *wndB, *wndC;
  281.         int c;
  282.  
  283.         wndA = establish_window(5, 5, 9, 19);
  284.         wndB = establish_window(10, 3, 9, 23);
  285.         wndC = establish_window(13, 8, 9, 12);
  286.         set_colors(wndA, ALL, RED,  YELLOW, BRIGHT);
  287.         set_colors(wndB, ALL, AQUA, YELLOW, BRIGHT);
  288.         set_colors(wndC, ALL, WHITE, YELLOW, BRIGHT);
  289.         display_window(wndA);
  290.         displey_window(wndB);
  291.         display_window(wndC);
  292.         wprintf(wndB, "\n I wouldn't care who");
  293.         wprintf(wndB, "\n wrote the laws if I");
  294.         wprintf(wndB, "\n could write the");
  295.         wprintf(wndB, "\n ballads.");
  296.         wprintf(wndB, "\n\n    Thomas Jefferson");
  297.         do  {
  298.             int x = 0, y = 0;
  299.             c = get_char();
  300.             switch (c)  {
  301.                 case FWD:   x++;
  302.                             break;
  303.                 case BS:    --x;
  304.                             break;
  305.                 case UP:    --y;
  306.                             break;
  307.                 case DN:    y++;
  308.                 default:    break;
  309.             }
  310.             if (x || y)
  311.                 rmove_window(wndB, x, y);
  312.         } while (c != ESC);
  313.  
  314.                              - 9 -
  315.           delete_window(wndA);
  316.           get_char();
  317.           delete_window(wndC);
  318.           get_char();
  319.           delete_window(wndB);
  320.      }
  321.  
  322.  
  323.  
  324.      ï¿ßΓ¿¡ú 6.5: move.prj
  325.  
  326.      move
  327.      testmove (twindow.h, keys.h)
  328.      twindow (twindow.h, keys.h)
  329.      ibmpc.obj
  330.  
  331.  
  332.  
  333.                         Å«ñΩѼ ¿ «»π߬᡿Ѡ«¬«¡
  334.                         -----------------------
  335.  
  336.           æ »«¼«Θ∞ε Σπ¡¬µ¿⌐ forefront ¿ rear_window  óδ ¼«ªÑΓÑ »«ñ¡∩Γ∞
  337.      «¬¡« ó »«ß½Ññ¡εε »«º¿µ¿ε,  »«¼ÑΘá∩ Ñú« »«óÑασ  óßÑσ  «ßΓá½∞¡δσ, á
  338.      ΓᬪѠ «»πßΓ¿Γ∞  «¬¡«  ó »Ñαóπε  »«º¿µ¿ε,  »«¼ÑΘá∩ Ñú«  »«ñ óßѼ¿
  339.      «ßΓá½∞¡δ¼¿.  ¥Γá ó«º¼«ª¡«ßΓ∞ »α¿¼Ñ¡¿¼á ó »α«úαá¼¼áσ ß ¡Ñ߬«½∞¬¿¼¿
  340.      «¬¡á¼¿,  úñÑ »«½∞º«óáΓѽ∞ óδí¿αáÑΓ «ñ¡« ¿º ¡¿σ ñ½∩ ¡Ñ¬«Γ«α«⌐ µÑ½¿
  341.      »πΓѼ  óαѼѡ¡«ú«  »ÑαÑó«ñá  «ßΓá½∞¡δσ  ¡á  Σ«¡.  ¥Γá ó«º¼«ª¡«ßΓ∞
  342.      »«½Ñº¡á  ó  ½εíδσ  »α¿½«ªÑ¡¿∩σ,   ó  ¬«Γ«αδσ  »«½∞º«óáΓѽ∞  τáßΓ«
  343.      »ÑαÑσ«ñ¿Γ «Γ «¬¡á ¬ «¬¡π.
  344.  
  345.           Åα«úαá¼¼á, ¿½½εßΓα¿απεΘá∩   »«ñΩÑ¼δ   ¿   «»π߬᡿∩    «¬«¡,
  346.      »α¿óÑñѡᠠ󠠽¿ßΓ¿¡úáσ  6.6,  6.7  ¿  6.8.  ï¿ßΓ¿¡ú 6.6 ∩ó½∩ÑΓß∩
  347.      ¼á½Ñ¡∞¬«⌐ π»αáó½∩εΘÑ⌐ »α«úαá¼¼«⌐, á ½¿ßΓ¿¡ú 6.8 - »α«Ñ¬Γ¡δ¼ make-
  348.      Σá⌐½«¼.  ÄíαáΘá⌐ΓÑß∞ ¬ ½¿ßΓ¿¡úπ 6.7, promote.c, »α¿ τΓÑ¡¿¿ ñá¡¡δσ
  349.      αáºΩ∩ߡѡ¿⌐.
  350.  
  351.           ä½∩ ºá»πß¬á »α¿¼Ñαá óóÑñ¿ΓÑ ß½ÑñπεΘπε ¬«¼á¡ñπ:
  352.  
  353.                              - 10 -
  354.  
  355.      c>prom
  356.  
  357.           Åα«úαá¼¼á promote.c ¿ß»«½∞ºπÑΓ ΓÑ ªÑ «íαẵδ ΓαÑσ  «¬«¡, τΓ«
  358.      ¿ »α«úαá¼¼á testmove.c. ÆÑ»Ñα∞ óßÑ Γα¿ «¬¡á ó¬½ετáεΓ ºá»¿ßá¡¡δ⌐ ó
  359.      ¡¿σ ΓѬßΓ,  ¬áªñδ⌐ ¿º ¬«Γ«αδσ ß«ñÑαª¿Γ ¿¼∩ «¬¡á: window A, window
  360.      B  ¿  window  C.  ìá  α¿ßπ¡¬Ñ  6.5 »«¬áºá¡ »Ñαó«¡áτá½∞¡« óδñá¡¡δ⌐
  361.      φ¬αá¡.
  362.  
  363.      ┌───────────────────────────────────────────────────────────────┐
  364.      │                                                               │
  365.      │  C>                                                           │
  366.      │                                                               │
  367.      │             ┌───────────────────┐                             │
  368.      │             │  window B         │                             │
  369.      │       ┌─────┤                   │                             │
  370.      │       │     │    ┌──────────┐   │                             │
  371.      │       │ win │    │          │   │                             │
  372.      │       │     │    │          │   │                             │
  373.      │       │     └────┤ window C ├───┘                             │
  374.      │       │          │          │                                 │
  375.      │       └──────────┤          │                                 │
  376.      │                  └──────────┘                                 │
  377.      │                                                               │
  378.      │                                                               │
  379.      │                                                               │
  380.      │                                                               │
  381.      └───────────────────────────────────────────────────────────────┘
  382.  
  383.               É¿ßπ¡«¬ 6.5. Å«ñΩѼ ß½«Ñ¡δ󠫬«¡.
  384.  
  385.           ä½∩ »«ñΩѼᠠ¿  «»π߬᡿∩  «¬«¡   ¿ß»«½∞ºπÑΓß∩   ¬½áó¿áΓπαá.
  386.      êß»«½∞ºπ⌐ΓÑ  ¡áªáΓ¿∩  ¬½áó¿Φ  ß  ¼á½Ñ¡∞¬¿¼¿ íπ¬óἿ á,  b ¿ ß ñ½∩
  387.      »«ñΩѼᠫ¬«¡,  ¡áºóá¡¡δσ φΓ¿¼¿  íπ¬óἿ.  êß»«½∞ºπ⌐ΓÑ  ¬½áó¿Φ¿  ß
  388.      í«½∞Φ¿¼¿  íπ¬óἿ ñ½∩ ¿σ «»π߬᡿∩.  ¥Γ«Γ »α«µÑßß »α«ñ«½ªáÑΓß∩ ñ«
  389.      ΓÑσ »«α, »«¬á óδ ¡Ñ ¡áª¼ÑΓÑ ¬½áó¿Φπ <è½ετ> ñ½∩ π¡¿τΓ«ªÑ¡¿∩ «ñ¡«ú«
  390.      ¿º «¬«¡. àΘÑ ñóá ¡áªáΓ¿∩ ó맮óπΓ π¡¿τΓ«ªÑ¡¿Ñ «ßΓá½∞¡δσ ñóπ󠫬«¡,
  391.  
  392.                              - 11 -
  393.      ¿ »α«úαἼᠺáóÑαΦ¿Γß∩.
  394.  
  395.      ï¿ßΓ¿¡ú 6.6: prom.c
  396.  
  397.      /* prom.c */
  398.  
  399.      void promote(void);
  400.  
  401.      main()
  402.      {
  403.         promote();
  404.      }
  405.  
  406.      ï¿ßΓ¿¡ú 6.7: promote.c
  407.  
  408.      /* promote.c */
  409.  
  410.      #include "twindow.h"
  411.      #include "keys.h"
  412.  
  413.      void promote()
  414.      {
  415.          WINDOW *wndA, *wndB, *wndC;
  416.          int c;
  417.          wndA = establish_window(5, 5, 9, 19);
  418.          wndB = establish_window(10, 3, 9, 20);
  419.          wndC = establish_window(13, 8, 9, 12);
  420.          set_colors(wndA, ALL, RED, YELLOW, BRIGHT);
  421.          set_colors(wndB, ALL, AQUA, YELLOW, BRIGHT);
  422.          set_colors(wndC, ALL, WHITE, YELLOW, BRIGHT);
  423.          display_window(wndA);
  424.          display_window(wndB);
  425.          display_window(wndC);
  426.          wprintf(wndA, "\n\n Window A");
  427.          wprintf(wndB, "\n\n Window B");
  428.          wprintf(wndC, "\n\n Window C");
  429.          do  {
  430.  
  431.                              - 12 -
  432.              c = get_char();
  433.              switch (c)  {
  434.                  case 'a':   forefront(wndA);
  435.                              break;
  436.                  case 'b':   forefront(wndB);
  437.                              break;
  438.                  case 'c':   forefront(wndC);
  439.                              break;
  440.                  case 'A':   rear_window(wndA);
  441.                              break;
  442.                  case 'B':   rear_window(wndB);
  443.                              break;
  444.                  case 'C':   rear_window(wndC);
  445.                              break;
  446.                  default:    break;
  447.          }
  448.      } while (c != ESC);
  449.           delete_window(wndA);
  450.           get_char();
  451.           delete_window(wndC);
  452.           get_char();
  453.           delete_window(wndB);
  454.      }
  455.  
  456.  
  457.  
  458.  
  459.      ï¿ßΓ¿¡ú 6.8: prom.prj
  460.  
  461.      prom
  462.      promote (twindow.h, keys.h)
  463.      twindow (twindow.h, keys.h)
  464.      ibmpc.obj
  465.  
  466.  
  467.  
  468.            ìạáτÑ¡¿Ñ ºáú«½«ó¬«ó ¿ ¿º¼Ñ¡Ñ¡¿Ñ µóÑΓ«ó «¬¡á
  469.  
  470.                              - 13 -
  471.            ---------------------------------------------
  472.  
  473.           è«úñá «¬¡«  ß«ºñá¡«,  óδ  ¼«ªÑΓÑ  ¡áº¡áτ¿Γ∞ Ñ¼π ºáú«½«ó«¬, á
  474.      ΓᬪѠπßΓá¡«ó¿Γ∞ µóÑΓá »ÑαÑñ¡Ñú« »½á¡á ¿ Σ«¡á.
  475.  
  476.           Åα«úαá¼¼á, ¿½½εßΓα¿απεΘá∩ ºáú«½«ó¬¿ ¿ µóÑΓá  «¬«¡, »α¿óÑñÑ¡á
  477.      ó ½¿ßΓ¿¡úáσ  6.9,  6.10  ¿  6.11.  ï¿ßΓ¿¡ú 6.9 ∩ó½∩ÑΓß∩ ¼á½Ñ¡∞¬«⌐
  478.      π»αáó½∩εΘÑ⌐  »α«úαá¼¼«⌐,  á ½¿ßΓ¿¡ú 6.11 - »α«Ñ¬Γ¡δ¼ make-Σá⌐½«¼.
  479.      ÄíαáΘá⌐ΓÑß∞  ¬  ½¿ßΓ¿¡úπ 6.10,  ccolor.c,   »α¿   τΓÑ¡¿¿   ñá¡¡δσ
  480.      αáºΩ∩ߡѡ¿⌐.
  481.  
  482.           ä½∩ ºá»πß¬á »α¿¼Ñαá óó«ñ¿ΓÑ ß½ÑñπεΘπε ¬«¼á¡ñπ
  483.  
  484.      c>color
  485.  
  486.           æ¡«óá óδñáÑΓß∩ Γα¿ «¬¡á. èáªñ«Ñ ¿º ¡¿σ ¿¼ÑÑΓ ßó«⌐ µóÑΓ (Ñß½¿
  487.      π óáß µóÑΓ¡«⌐ ¼«¡¿Γ«α), ¡« ¡¿ π «ñ¡«ú« ¿º ¡¿σ ¡ÑΓ ºáú«½«ó¬á. Ä¬¡á
  488.      αáß»«½«ªÑ¡δ  ó  ΓÑσ  ªÑ  ¼ÑßΓáσ  ¿  ¿¼ÑεΓ ΓÑ ªÑ αẼÑαδ,  τΓ« ¿ ó
  489.      »αÑñδñπΘ¿σ »α¿¼Ñαáσ. Åα«úαἼᠫª¿ñáÑΓ ¡áªáΓ¿∩ ¬½áó¿Φ¿ ß «ñ¡«⌐ ¿º
  490.      íπ¬ó:  r, g ¿½¿ b. Ä¡á íπñÑΓ ¿ß»«½∞º«óáΓ∞ φΓ¿ íπ¬óδ ñ½∩ ¿º¼Ñ¡Ñ¡¿∩
  491.      ºáú«½«ó¬á ßαÑñ¡Ñú« «¬¡á ¡á "RED",  "GREEN" ¿½¿  "BLUE",  á  ΓᬪÑ
  492.      ¿º¼Ñ¡¿Γ  µóÑΓ  ßαÑñ¡Ñú« «¬¡á ¡á ß««ΓóÑΓßΓóπεΘ¿⌐ ¡«ó«¼π ºáú«½«ó¬π.
  493.      É¿ßπ¡«¬ 6.6 »«¬áºδóáÑΓ φ¬αá¡ »«ß½Ñ óδí«αá á½«ú« (red) «¬¡á.
  494.  
  495.      ┌───────────────────────────────────────────────────────────────┐
  496.      │                                                               │
  497.      │   C>                                                          │
  498.      │                                                               │
  499.      │                                                               │
  500.      │                                                               │
  501.      │               ┌───────RED───────┐                             │
  502.      │               │                 │                             │
  503.      │          ┌────┤                 │                             │
  504.      │          │    │                 │                             │
  505.      │          │    │   ┌─────────┐   │                             │
  506.      │          │    │   │         │   │                             │
  507.      │          │    └───┤         ├───┘                             │
  508.  
  509.                              - 14 -
  510.      │          │        │         │                                 │
  511.      │          └────────┤         │                                 │
  512.      │                   └─────────┘                                 │
  513.      │                                                               │
  514.      │                                                               │
  515.      └───────────────────────────────────────────────────────────────┘
  516.  
  517.                É¿ßπ¡«¬ 6.6. êº¼Ñ¡Ñ¡¿Ñ µóÑΓ«ó ¿ ºáú«½«ó¬«ó.
  518.  
  519.  
  520.           ì᪼¿ΓÑ ¬½áó¿Φπ  <è½ετ>  ñ½∩  óδσ«ñá  ¿ π¡¿τΓ«ªÑ¡¿∩ «¬¡á,  á
  521.      ΓᬪѠ½εíδÑ ñóÑ ñαπú¿Ñ ¬½áó¿Φ¿  ñ½∩  π¡¿τΓ«ªÑ¡¿∩  ñóπσ  «ßΓá½∞¡δσ
  522.      «¬«¡ ¿ ºáóÑαΦÑ¡¿∩ »α«úαá¼¼δ.
  523.  
  524.      ï¿ßΓ¿¡ú 6.9: color.c
  525.  
  526.      /* color.c */
  527.  
  528.      void ccolor(void);
  529.  
  530.      main()
  531.      {
  532.         ccolor();
  533.      }
  534.  
  535.      ï¿ßΓ¿¡ú 6.10: ßcolor.c
  536.  
  537.      /* ccolor.c */
  538.  
  539.      #include "twindow.h"
  540.      #include "keys.h"
  541.  
  542.      void ccolor()
  543.      {
  544.         WINDOW *wndA, *wndB, *wndC;
  545.         int c;
  546.  
  547.  
  548.                              - 15 -
  549.         wndA = establish_window(8, 8, 9, 19);
  550.         wndB = establish_window(13, 6, 9, 20);
  551.         wndC = establish_window(16, 11, 9, 12);
  552.         set_colors(wndA, ALL, RED, YELLOW, BRIGHT);
  553.         set_colors(wndB, ALL, AQUA, YELLOW, BRIGHT);
  554.         set_colors(wndC, ALL, WHITE, YELLOW, BRIGHT);
  555.         display_window(wndA);
  556.         display_window(wndB);
  557.         display_window(wndC);
  558.         do  {
  559.             c = get_char();
  560.             switch (c)  {
  561.                 case 'r':
  562.                     set_title(wndB, " RED ");
  563.                     set_colors(wndB, ALL, RED, WHITE, BRIGHT);
  564.                     break;
  565.                 case 'b':
  566.                     set_title(wndB, " BLUE ");
  567.                     set_colors(wndB, ALL, BLUE, WHITE, BRIGHT);
  568.                     break;
  569.                 case 'g':
  570.                     set_title(wndB, " GREEN ");
  571.                     set_colors(wndB, ALL, GREEN, WHITE, BRIGHT);
  572.                     break;
  573.                 default:
  574.                     break;
  575.              }
  576.           } while (c != ESC);
  577.           delete_window(wndA);
  578.           get_char();
  579.           delete_window(wndC);
  580.           get_char();
  581.           delete_window(wndB);
  582.      }
  583.  
  584.  
  585.  
  586.  
  587.                              - 16 -
  588.  
  589.      ï¿ßΓ¿¡ú 6.11: color.prj
  590.  
  591.      color
  592.      ccolor (twindow.h, keys.h)
  593.      twindow (twindow.h, keys.h)
  594.      ibmpc.obj
  595.  
  596.  
  597.  
  598.  
  599.                 æαáó¡Ñ¡¿Ñ ßΓѬ«óδσ ¿ ß½«Ñ¡δ󠫬«¡
  600.                 ---------------------------------
  601.  
  602.           Éáßß¼áΓα¿óáѼá∩ ºñÑß∞  »α«úαἼᠠñáÑΓ  ó«º¼«ª¡«ßΓ∞ ßαáó¡¿Γ∞
  603.      »αÑñßΓáó½Ñ¡¿∩ ßΓѬ«óδσ ¿ ß½«Ñ¡δ󠫬«¡.  éδ ¼«ªÑΓÑ «Γ¬«¼»¿½¿α«óáΓ∞
  604.      ÑÑ  ß  «¬«¡¡«⌐ í¿í½¿«ΓѬ«⌐,  ¬«Γ«αá∩ íδ½á ¬«¼»¿½¿α«óá¡á ñ½∩ «í«¿σ
  605.      Γ¿»«ó «¬«¡.
  606.  
  607.           Åα«úαá¼¼á, ¿½½εßΓα¿απεΘá∩   αẽ¿τ¿∩   ¼Ñªñπ   ßΓѬ«ó묨   ¿
  608.      ß½«Ñ¡δ¼¿ «¬¡á¼¿, »«¬áºá¡á ¡á ½¿ßΓ¿¡úáσ 6.12, 6.13 ¿ 6.14. ï¿ßΓ¿¡ú
  609.      6.12 ∩ó½∩ÑΓß∩ ¼á½Ñ¡∞¬«⌐ π»αáó½∩εΘÑ⌐ »α«úαá¼¼«⌐,  á ½¿ßΓ¿¡ú 6.14 -
  610.      »α«Ñ¬Γ¡δ¼ make-Σá⌐½«¼.  ÄíαáΘá⌐ΓÑß∞ ¬ ½¿ßΓ¿¡úπ 6.13,  fast.c, »α¿
  611.      τΓÑ¡¿¿ ñá¡¡δσ αáºΩ∩ߡѡ¿⌐.
  612.  
  613.           ä½∩ ºá»πß¬á »α¿¼Ñαá óóÑñ¿ΓÑ ß½ÑñπεΘπε ¬«¼á¡ñπ:
  614.  
  615.      c>fast
  616.  
  617.           Å«¼¡¿ΓÑ, τΓ« »α«úαá¼¼á ßá¼á »« ßÑíÑ ¡Ñ »«¬áºδóáÑΓ ßαáó¡Ñ¡¿Ñ.
  618.      éá¼  ¡Ñ«íσ«ñ¿¼«  »«ßΓα«¿Γ∞  ñóÑ  óÑαß¿¿  ÑÑ,  «ñ¡π  - ß« ßΓѬ«ó«⌐
  619.      «¬«¡¡«⌐ í¿í½¿«ΓѬ«⌐, á óΓ«απε - ß« ß½«Ñ¡«⌐ «¬«¡¡«⌐ í¿í½¿«ΓѬ«⌐, ¿
  620.      ßαáó¡¿Γ∞ »αÑñßΓáó½Ñ¡¿∩ «íÑ¿σ »α«úαá¼¼.
  621.  
  622.           Å«ß½Ñ ºá»π߬ᠻα«úαá¼¼δ «¡á ß«ºñáßΓ ¿ óδñáßΓ »∩Γ¡áñµáΓ∞ «¬«¡
  623.      ó  »«ß½Ññ«óáΓѽ∞¡«ßΓ¿,  »«¬áºá¡¡«⌐  ¡á  α¿ßπ¡¬Ñ  6.7.  è«úñá   óδ
  624.      ¡áª¿¼áÑΓÑ  ½εíπε  ¬½áó¿Φπ,  »α«úαἼᠠπ¡¿τΓ«ªáÑΓ  ¬áªñ«Ñ  «¬¡« ó
  625.  
  626.                              - 17 -
  627.      «íαáΓ¡«¼ »«α∩ñ¬Ñ.  éδ ¼«ªÑΓÑ  ßαáó¡¿Γ∞  ß««ΓóÑΓßΓóπεΘ¿Ñ  ß¬«α«ßΓ¿
  628.      αáí«Γδ »α«úαá¼¼, ¬«¼»¿½¿α«óá¡¡δσ ó ñóπσ ßαÑñáσ.
  629.  
  630.      ┌───────────────────────────────────────────────────────────────┐
  631.      │ ┌──────────────┐                                              │
  632.      │ │ ┌───────────────┐                                           │
  633.      │ │ │ ┌───────────────┐                                         │
  634.      │ │ │ │ ┌───────────────┐                                       │
  635.      │ └─│ │ │ ┌───────────────┐                                     │
  636.      │   └─│ │ │ ┌───────────────┐                                   │
  637.      │     └─│ │ │ ┌───────────────┐                                 │
  638.      │       └─│ │ │ ┌───────────────┐                               │
  639.      │         └─│ │ │ ┌────────────────┐                            │
  640.      │           └─│ │ │ ┌─────────────────┐                         │
  641.      │             └─│ │ │ ┌──────────────────┐                      │
  642.      │               └─│ │ │ ┌───────────────────┐                   │
  643.      │                 └─│ │ │ ┌───────────────────┐                 │
  644.      │                   └─│ │ │ ┌───────────────────┐               │
  645.      │                     └─│ │ │ ┌───────────────────┐             │
  646.      │                       └─│ │ │                   │             │
  647.      │                         └─│ │ Hello, Dolly # 14 │             │
  648.      │                           └─│                   │             │
  649.      │                             └───────────────────┘             │
  650.      │                                                               │
  651.      └───────────────────────────────────────────────────────────────┘
  652.  
  653.                 É¿ßπ¡«¬ 6.7. æαáó¡Ñ¡¿Ñ ßΓѬ«óδσ ¿ ß½«Ñ¡δ󠫬«¡.
  654.  
  655.  
  656.      ï¿ßΓ¿¡ú 6.12: fast.c
  657.  
  658.      /* fast.c */
  659.  
  660.      void fasttest(void);
  661.  
  662.      main()
  663.      {
  664.  
  665.                              - 18 -
  666.          fasttest();
  667.      }
  668.  
  669.  
  670.      ï¿ßΓ¿¡ú 6.13: fasttest.c
  671.  
  672.      /* fasttest.c */
  673.  
  674.      #include <stdio.h>
  675.      #include "twindow.h"
  676.  
  677.      void fasttest()
  678.      {
  679.         int row, col;
  680.  
  681.         for (row = 0, col = 0; col < 15; row += 3, col++)   {
  682.             establish_window(row, col, 10, 30);
  683.             set_colors(NULL, ALL, RED, YELLOW, BRIGHT);
  684.             display_window(NULL);
  685.             wprintf(NULL, "\n\n\n  Hello, Dolly # %d", col);
  686.         }
  687.         get_char();
  688.         while (col--)
  689.             delete_window(NULL);
  690.      }
  691.  
  692.  
  693.  
  694.      ï¿ßΓ¿¡ú 6.14: fast.prj
  695.  
  696.      fast
  697.      fasttest (twindow.h)
  698.      twindow (twindow.h, keys.h)
  699.      ibm.obj
  700.  
  701.  
  702.  
  703.  
  704.                              - 19 -
  705.  
  706.  
  707.      ÅÑαѼÑΘÑ¡¿Ñ, »«ñΩѼ, ß¬αδΓ¿Ñ «¬«¡, ¼Ñ¡ε, ¿º¼Ñ¡Ñ¡¿Ñ ¿¡Γѡ߿ó¡«ßΓ¿
  708.      ----------------------------------------------------------------
  709.  
  710.           é ß½ÑñπεΘѼ  »α¿¼ÑαÑ  ¬«¼í¿¡¿απÑΓß∩ ¡Ñ߬«½∞¬« πªÑ »«¬áºá¡¡δσ
  711.      ó«º¼«ª¡«ßΓÑ⌐   ¿   ñáεΓß∩   »α¿¼Ñαδ   ÑΘÑ   ñóπσ    ó«º¼«ª¡«ßΓÑ⌐:
  712.      ¿ß»«½∞º«óá¡¿Ñ   get_selection   ñ½∩  «íαáí«Γ¬¿  »α«ßΓ«ú«  ¼Ñ¡ε  ¿
  713.      ¿ß»«½∞º«óá¡¿Ñ set_intensity ñ½∩ ¿º¼Ñ¡Ñ¡¿∩ ∩ᬫßΓ¿ »ÑαÑñ¡Ñú« »½á¡á
  714.      «¬«¡.
  715.  
  716.           Åα«úαá¼¼á, ¿½½εßΓα¿απεΘá∩  φΓ¿ ó«º¼«ª¡«ßΓ¿,  »αÑñßΓáó½Ñ¡á ¡á
  717.      ½¿ßΓ¿¡úáσ 6.15,  6.16 ¿ 6.17.  ï¿ßΓ¿¡ú  6.15  ∩ó½∩ÑΓß∩  ¼á½Ñ¡∞¬«⌐
  718.      π»αáó½∩εΘÑ⌐  »α«úαá¼¼«⌐,  á ½¿ßΓ¿¡ú 6.17 - »α«Ñ¬Γ¡δ¼ make-Σá⌐½«¼.
  719.      ÄíαáΘá⌐ΓÑß∞  ¬  ½¿ßΓ¿¡úπ  6.16,  poems.c,   »α¿   τΓÑ¡¿¿   ñá¡¡δσ
  720.      αáºΩ∩ߡѡ¿⌐.
  721.  
  722.           ä½∩ ºá»πß¬á »α¿¼Ñαá óóÑñ¿ΓÑ ß½ÑñπεΘπε ¬«¼á¡ñπ:
  723.  
  724.      c>poetry
  725.  
  726.           ¥Γá »α«úαá¼¼á óδñáÑΓ »∩Γ∞ αẽ¿τ¡δσ ßΓ¿σ«Γó«αÑ¡¿⌐ ¡á φ¬αá¡ ¿
  727.      »«ºó«½∩ÑΓ óá¼ óδíαáΓ∞ «ñ¡« ¿º ¡¿σ, »ÑαѼÑΘáΓ∞ Ñú«, »«ñ¡∩Γ∞ Ñú« ¡á
  728.      »ÑαÑñ¡¿⌐   »½á¡,  «»πßΓ¿Γ∞  Ñú«  ¡áºáñ  ¿  π¡¿τΓ«ª¿Γ∞.  Åα«úαá¼¼á
  729.      ¡áτ¿¡áÑΓ αáí«Γπ ß óδñáτ¿ «¬«¡¡«ú« ¼Ñ¡ε,  ¬«Γ«α«Ñ »ÑαÑτ¿ß½∩ÑΓ  óßÑ
  730.      ßΓ¿σ«Γó«αÑ¡¿∩.  éδ  ¼«ªÑΓÑ  »ÑαѼÑßΓ¿Γ∞  ¬παß«α  óóÑασ ¿½¿ ó¡¿º ¿
  731.      óδíαáΓ∞ «ñ¡« ßΓ¿σ«Γó«αÑ¡¿Ñ  ¡áªáΓ¿Ñ¼  ¬½áó¿Φ¿  <éó«ñ>.  éδ  ΓᬪÑ
  732.      ¼«ªÑΓÑ   ¡áªáΓ∞   «ñ¡π   ¿º   µ¿Σα  «Γ  1  ñ«  5,  óδí¿αá∩  ¡«¼Ñα
  733.      ßΓ¿σ«Γó«αÑ¡¿∩.   é   αѺπ½∞ΓáΓÑ    íπñÑΓ    »«¬áºá¡«    óδíαá¡¡«Ñ
  734.      ßΓ¿σ«Γó«αÑ¡¿Ñ. ìá α¿ßπ¡¬Ñ 6.8 »«¬áºá¡« ¼Ñ¡ε ßΓ¿σ«Γó«αÑ¡¿⌐.
  735.  
  736.      ┌───────────────────────────────────────────────────────────────┐
  737.      │                                                               │
  738.      │   ┌────────────────── Select A Poem────────────┐              │
  739.      │   │                                            │              │
  740.      │   │ 1: TELL ALL THE TRUTH BUT TELL IT SLANT    │              │
  741.      │   │ 2: AFTER LONG SILENSE                      │              │
  742.  
  743.                              - 20 -
  744.      │   │ 3: A MAN SAID TO THE UNIVERSE              │              │
  745.      │   │ 4: FLYING CROOKED                          │              │
  746.      │   │ 5: THE IDLE LIFE I LEAD                    │              │
  747.      │   │                                            │              │
  748.      │   └────────────────────────────────────────────┘              │
  749.      │                                                               │
  750.      │                                                               │
  751.      │                                                               │
  752.      │                                                               │
  753.      │                                                               │
  754.      │                                                               │
  755.      │                                                               │
  756.      └───────────────────────────────────────────────────────────────┘
  757.  
  758.                     É¿ßπ¡«¬ 6.8. îÑ¡ε ßΓ¿σ«Γó«αÑ¡¿⌐.
  759.  
  760.  
  761.           Å«ß½Ñ óδí«αá  ßΓ¿σ«Γó«αÑ¡¿∩  óδ   ¼«ªÑΓÑ   »ÑαÑñó¿¡πΓ∞   Ñú«
  762.      ¬½áó¿ΦἿ  ß«  ßΓαѽ¬á¼¿,  ó«ºóαáΘá∩ß∞  ¬  ¼Ñ¡ε  ¡áªáΓ¿Ñ¼ ¬½áó¿Φ¿
  763.      <è½ετ> ¿½¿ óδí¿αá∩ ñαπú«Ñ ßΓ¿σ«Γó«αÑ¡¿Ñ  ¡áªáΓ¿Ñ¼ ß««ΓóÑΓßΓóπεΘÑ⌐
  764.      µ¿Σα«ó«⌐  ¬½áó¿Φ¿.  éδíαá¡¡«Ñ  ΓѬπΘÑÑ  ßΓ¿σ«Γó«αÑ¡¿Ñ  óδñáÑΓß∩ ß
  765.      »«óδΦÑ¡¡«⌐ ∩ᬫßΓ∞ε,  á  óßÑ  «ßΓá½∞¡δÑ  -  ß  «íδτ¡«⌐.  àß½¿  óδ
  766.      óδí¿αáÑΓÑ  ßΓ¿σ«Γó«αÑ¡¿Ñ,  óδñá¡¡«Ñ  ß  «íδτ¡«⌐ ∩ᬫßΓ∞ε,  Γ« «¡«
  767.      ßΓá¡«ó¿Γß∩  ∩ન¼,  á  «ßΓá½∞¡δÑ   -   «íδτ¡δ¼¿.   ä½∩   »ÑαÑó«ñá
  768.      ßΓ¿σ«Γó«αÑ¡¿∩  ¡á  »ÑαÑñ¡¿⌐ »½á¡ ¡áª¼¿ΓÑ ¬½áó¿Φπ <Žεß> (+);  ñ½∩
  769.      »«ß佬¿ Ñú« ¡á Σ«¡ ¡áª¼¿ΓÑ ¬½áó¿Φπ <î¿¡πß> (-).  ä½∩  π¡¿τΓ«ªÑ¡¿∩
  770.      ΓѬπΘÑú«   ßΓ¿σ«Γó«αÑ¡¿∩   ¡áª¼¿ΓÑ   ¬½áó¿Φπ   <ôñ½>.  éδ  ¼«ªÑΓÑ
  771.      ó«ßßΓá¡«ó¿Γ∞ Ñú« ¡áªáΓ¿Ñ¼ ¬½áó¿Φ¿ ß ¡«¼Ñα«¼.  Å«ß½Ñ φΓ«ú« ¡áª¼¿ΓÑ
  772.      ¬½áó¿Φπ <è½ετ> ñ½∩ ó«ºóαáΓá ¬ ¼Ñ¡ε,  á ºáΓѼ ß¡«óá ¬½áó¿Φπ <è½ετ>
  773.      ñ½∩ óδσ«ñá ¿º »α«úαá¼¼δ.
  774.  
  775.           ìá α¿ßπ¡¬Ñ  6.9  »«¬áºá¡δ  ßΓ¿σ«Γó«αÑ¡¿∩,  αáºíα«ßá¡¡δÑ   »«
  776.      φ¬αá¡π ó αẽ¿τ¡δσ ¼ÑßΓáσ.
  777.  
  778.      ┌─────────────────────────────────────────────────────────────...
  779.      │                          ┌ 1: TELL ALL THE TRUTH BUT TELL IT...
  780.      │  C>                      │
  781.  
  782.                              - 21 -
  783.      │                          │ Tell all the truth but tell it sl...
  784.      │                          │
  785.      │ ┌───────── 2: AFTER LONG SILENCE ─────────┐t lies
  786.      │ │                                         │r infirm Delight
  787.      │ │Speesh after long silense; it is right,  │b surprise
  788.      │ │All other lovers being estranged or dead │ ┌─── 5: THE IDLE...
  789.      │ │Unfriendly lamplight hid under its shade,│h│
  790.      │ │The curtai┌──────── 4: FLYING CROOKED ──── │The idle life I...
  791.      │ │That we de│                                │Is like a pleas...
  792.      │ │Upon the s│The butterfly, a cabbare-white, │Wherein I rest ...
  793.      │ │Bodily dec│(His honest idiocy of flight)   │The dreams that...
  794.      │ │We loved e│Will never now, it is too late, │
  795.      │ │          │Master the art of flying straigh│And still of al...
  796.      │ │          │Yet has - who knows so well as I│In turt so swif...
  797.      │ └─┌─3: A MAN SAID TO THE UNIVERSE───┐ o fly:│Each in its fan...
  798.      │   │                                 │ by gue│A nobler than t...
  799.      │   │A man said to the universe:      │lessnes│
  800.      │   │"Sur, I exist!"                  │       │And every eve I...
  801.      │   │"However," replied the uviverse, │d gift │Noting my step ...
  802.      │   │"The fast has not created in me  │es     │That I have kvo...
  803.      │   │A sense of obligation."          │       │In all my life ...
  804.      │   │               Stephen Crane     ├───────┤         Robert...
  805.      │   │                                 │       │
  806.      │   └─────────────────────────────────┘       └───────────────...
  807.      │
  808.      │
  809.      └────────────────────────────────────────────────────────────────────────┘
  810.  
  811.                      É¿ßπ¡«¬ 6.9. æΓ¿σ«Γó«αÑ¡¿∩.
  812.  
  813.  
  814.      ï¿ßΓ¿¡ú 6.15: poetry.c
  815.  
  816.      /* poetry.c */
  817.  
  818.      #include "twindow.h"
  819.      void poems(void);
  820.  
  821.                              - 22 -
  822.  
  823.      main()
  824.      {
  825.          load_help("tcprogs.hlp");
  826.          poems();
  827.      }
  828.  
  829.      ï¿ßΓ¿¡ú 6.16: poems.c
  830.  
  831.      /* poems.c */
  832.  
  833.      #include <stdio.h>
  834.      #include <string.h>
  835.      #include <stdlib.h>
  836.      #include "twindow.h"
  837.      #include "keys.h"
  838.  
  839.      /* ½«¬á½∞¡δÑ »α«Γ«Γ¿»δ */
  840.      void get_poem(int s);
  841.      int ht (char **tb);
  842.      int wd (char **tb);
  843.      char *titles [] = {
  844.          " 1: TELL ALL THE TRUTH BUT TELL IT SLANT ",
  845.          " 2: AFTER LONG SILENSE ",
  846.          " 3: A MAN SAID TO THE UNIVERSE ",
  847.          " 4: FLYING CROOKED ",
  848.          " 5: THE IDLE LIFE I LEAD ",0
  849.      };
  850.      WINDOW *pno [] = {0, 0, 0, 0, 0};
  851.      static int x [] = {20, 15, 29, 10, 17};
  852.      static int y [] = {5,10, 13, 18, 6};
  853.      static int wcl [] [2] = {  {BLUE, WHITE},
  854.                                 {MAGENTA, WHITE},
  855.                                 {RED, WHITE},
  856.                                 {GREEN, WHITE},
  857.                                 {AQUA, WHITE}   };
  858.      char *poem1 [] = {
  859.  
  860.                              - 23 -
  861.          "Tell all the truth but tell it slant -",
  862.          "Success in Circuit lies",
  863.          "Too bright for our infirm Delight",
  864.          "The Truth's superb surprise",
  865.          "",
  866.          "As Lightning to the Children eased",
  867.          "With explanation kind",
  868.          "The Truth must dazzle gradually",
  869.          "Or every man be blind -",
  870.          "                Emily Dickenson",
  871.          0
  872.      };
  873.      char *poem2 [] = {
  874.          "Speech after long silence; it is right,",
  875.          "All other lovers being estranged or dead,",
  876.          "Unfriendly lamplight hid under its shade,",
  877.          "The curtains drawn upon unfriendly night,",
  878.          "That we descant and yet again descant",
  879.          "Upon the supreme theme of Art and Song:",
  880.          "Bodily decrepitude is wisdom; young",
  881.          "We loved each other and were ignorant.",
  882.          "              William Butler Yeats",
  883.          0
  884.      };
  885.  
  886.      char *poem3 [] = {
  887.          "A man said to the universe:",
  888.          "\"Sir, I exist!\"",
  889.          "\"However,\" replied the universe,",
  890.          "\"The fast has not created in me",
  891.          "A sense of obligation.\"",
  892.          "               Stephen Crane",
  893.          0
  894.      };
  895.  
  896.      char *poem4 [] = {
  897.          "The butterfly, a cabbage-white,",
  898.  
  899.                              - 24 -
  900.          "(His honest idiocy of flight)",
  901.          "Will never now, it is too late,",
  902.          "Master the art of flying straight,",
  903.          "Yet has - who knows so well as I? -",
  904.          "A just sense of how not to fly:",
  905.          "He lurches here and there by guess",
  906.          "And God and hope and hopelessness.",
  907.          "Even the aerobatic swift",
  908.          "Has not his flyihg-crooked gift.",
  909.          "              Robert Graves",
  910.          0
  911.      };
  912.  
  913.      char *poem5 [] = {
  914.          "The idle life I lead",
  915.          "Is like a pleasant sleep,",
  916.          "Wherein I rest and heed",
  917.          "The dreams that by me sweep.",
  918.          "",
  919.          "And still of all my dreams",
  920.          "In turn so swiftly past,",
  921.          "Each in its fancy seems,",
  922.          "A nobler than the last.",
  923.          "",
  924.          "And every eve I say,",
  925.          "Noting my step in bliss,",
  926.          "That I have known no  day",
  927.          "In all my life like this.",
  928.          "         Robert Bridges",
  929.          0
  930.      };
  931.      char **poem [] = {poem1,poem2,poem3,poem4,poem5,0};
  932.  
  933.      void poems()
  934.      {
  935.          int s = 0, i, c;
  936.          WINDOW *mn;
  937.  
  938.                              - 25 -
  939.          char **cp;
  940.  
  941.          cursor(0, 25);
  942.          mn = establish_window(0, 0, 7, 45);
  943.          set_title(mn, " Select A Poem ");
  944.          set_colors(mn, ALL, BLUE, GREEN, BRIGHT);
  945.          set_colors(mn, ACCENT, GREEN, WHITE, BRIGHT);
  946.          display_window(mn);
  947.          cp = titles;
  948.          while (*cp)
  949.              wprintf(mn, "\n%s", *cp++);
  950.          while (1)   {
  951.              set_help("poemmenu", 40, 10);
  952.              s = get_selection(mn, s+1, "12345");
  953.              if (s == 0)
  954.                  break;
  955.              if (s == FWD || s == BS)       {
  956.                  s = 0;
  957.                  continue;
  958.              }
  959.              hide_window(mn);
  960.              get_poem(--s);
  961.              c = 0;
  962.              set_help("poems   ", 5, 15);
  963.              while (c != ESC)    {
  964.                  c = get_char();
  965.                  switch (c)  {
  966.                      case FWD:   rmove_window(pno[s], 1, 0);
  967.                                  break;
  968.                      case BS:    rmove_window(pno[s], -1,0);
  969.                                  break;
  970.                      case UP:    rmove_window(pno[s], 0, -1);
  971.                                  break;
  972.                      case DN:    rmove_window(pno[s], 0, 1);
  973.                                  break;
  974.                      case DEL:   delete_window(pno[s]);
  975.                                  pno[s] = NULL;
  976.  
  977.                              - 26 -
  978.                                  break;
  979.                      case '+':   forefront(pno[s]);
  980.                                  break;
  981.                      case '-':   rear_window(pno[s]);
  982.                      default:    break;
  983.                  }
  984.                  if (c > '0' && c < '6')
  985.                      get_poem(s = c - '1');
  986.               }
  987.               forefront(mn);
  988.               display_window(mn);
  989.           }
  990.           close_all();
  991.           for (i = 0; i < 5; i++)
  992.               pno[i] = NULL;
  993.      }
  994.  
  995.      /* á¬Γ¿ó¿º¿απÑΓ ßΓ¿σ«Γó«αÑ¡¿Ñ »« ¡«¼Ñαπ */
  996.      static void get_poem(int s)
  997.      {
  998.          char **cp;
  999.          static int lastp = -1;
  1000.          if (lastp != -1)
  1001.              set_intensity(pno[lastp], DIM);
  1002.          lastp = s;
  1003.          if (pno [s])
  1004.              set_intensity(pno[s], BRIGHT);
  1005.          else    {
  1006.              pno [s] = establish_window
  1007.                  (x[s], y[s], ht(poem[s]), wd(poem[s]));
  1008.              set_title(pno[s], titles[s]);
  1009.              set_colors(pno[s],ALL,wcl[s][0],wcl[s][1], BRIGHT);
  1010.              set_border(pno[s], 1);
  1011.              display_window(pno[s]);
  1012.              cp = poem[s];
  1013.              while (*cp)
  1014.                  wprintf(pno[s], "\n %s", *cp++);
  1015.  
  1016.                              - 27 -
  1017.          }
  1018.      }
  1019.      /* óδτ¿ß½∩ÑΓ óδß«Γπ »«¬áºδóáѼ«⌐ Γáí½¿µδ «¬¡á */
  1020.      static int ht(char **tb)
  1021.      {
  1022.          int h = 0;
  1023.          while (*(tb + h++)) ;
  1024.          return h + 3;
  1025.      }
  1026.      /* óδτ¿ß½∩ÑΓ Φ¿α¿¡π »«¬áºδóáѼ«⌐ Γáí½¿µδ «¬¡á */
  1027.      static int wd(char **tb)
  1028.      {
  1029.          int w = 0;
  1030.          while (*tb)     {
  1031.              w = max(w, strlen(*tb));
  1032.              tb++;
  1033.          }
  1034.          return w + 4;
  1035.      }
  1036.  
  1037.  
  1038.  
  1039.  
  1040.      ï¿ßΓ¿¡ú 6.17: poetry.prj
  1041.  
  1042.      poetry
  1043.      poems (twindow.h, keys.h)
  1044.      thelp (twindow.h, keys.h)
  1045.      twindow (twindow.h, keys.h)
  1046.      ibmpc.obj
  1047.  
  1048.           é »α«úαἼѠ poetry  ¬½áó¿Φá  <F1>  ¿ß»«½∞ºπÑΓß∩ ó  ¬áτÑßΓóÑ
  1049.      Σπ¡¬µ¿«¡á½∞Ñ¡«⌐ ¬½áó¿Φ¿ ¬«¡ΓѬßΓ¡«-π»αáó½∩Ѽ«⌐  »«ñ߬Ậ¿.  è«úñá
  1050.      óδ ¡áª¿¼áÑΓÑ <F1>,   »«∩ó½∩ÑΓß∩ «¬¡« ß »«ñ߬áºδóáεΘ¿¼ ß««íΘÑ¡¿Ñ¼,
  1051.      «Γ¡«ß∩Θ¿¼ß∩ ¬ Γ«¼π, τΓ« óδ ßÑ⌐τáß ñѽáÑΓÑ. é â½áóÑ 7 «íΩ∩ß¡∩ÑΓß∩,
  1052.      ¬á¬ ó¬½ετáÑΓß∩ φΓá ó«º¼«ª¡«ßΓ∞.
  1053.  
  1054.  
  1055.                              - 28 -
  1056.  
  1057.  
  1058.  
  1059.                            ÉѺε¼Ñ
  1060.      -----------------------------------------------------------------
  1061.  
  1062.           ÆÑ»Ñα∞ π  óáß   ¿¼ÑÑΓß∩   «ß¡«óá   ñ½∩   ß«ºñá¡¿∩   «¬«¡¡«ú«
  1063.      »α«úαá¼¼¡«ú«  ¿¡ßΓαπ¼Ñ¡Γáα¿∩.  æ  »«¼«Θ∞ε  φΓ¿σ Σπ¡¬µ¿⌐ óδ ¼«ªÑΓÑ
  1064.      ñ«íáó¿Γ∞  «¬¡á  ¬  ßó«Ñ¼π  »α«úαá¼¼¡«¼π  «íÑß»ÑτÑ¡¿ε,   á   ΓᬪÑ
  1065.      «Γ«íαáªáΓ∞  ó  ¡¿σ  ΓѬßΓ.  Äñ¡á¬«  »α¿½«ªÑ¡¿Ñ  «¬«¡ ¼«ªÑΓ íδΓ∞ ó
  1066.      ñá½∞¡Ñ⌐ΦѼ αáºó¿Γ« ñ« ó«º¼«ª¡«ßΓÑ⌐ í«½ÑÑ óδß«¬«ú« πα«ó¡∩, ¬«Γ«αδÑ
  1067.      ∩ó½∩εΓß∩   «íΘ¿¼¿   ó«   ¼¡«ú¿σ  »α¿¬½áñ¡δσ  ß¿ßΓѼáσ.  ìÑ߬«½∞¬«
  1068.      »«ß½ÑñπεΘ¿σ  ú½áó  ñ«íáó½∩εΓ  φΓ¿  ó«º¼«ª¡«ßΓ¿  ¬  óáΦÑ⌐  «¬«¡¡«⌐
  1069.      í¿í½¿«ΓѬÑ.  â½áóá  7  óó«ñ¿Γ  ¿ß»«½∞º«óá¡¿Ñ  «¬«¡ ñ½∩ ñ«íáó½Ñ¡¿∩
  1070.      ¬«¡ΓѬßΓ¡«-π»αáó½∩Ѽ«⌐   »«½∞º«óáΓѽ∞߬«⌐   »«ñ߬Ậ¿   ó    óáΦ¿
  1071.      »α«úαá¼¼δ.
  1072.  
  1073.  
  1074.  
  1075.                                 âïÇéÇ 7
  1076.                                 -------
  1077.  
  1078.  
  1079.                   è«¡ΓѬßΓ¡«-π»αáó½∩ѼδÑ «¬¡á »«ñ߬Ậ¿
  1080.      -----------------------------------------------------------------
  1081.  
  1082.           ÅÑαó«⌐ »α«í½Ñ¼«⌐,   «íδτ¡«  ó«º¡¿¬áεΘÑ⌐  »α¿  ºá»π߬Ѡ ¡«ó«⌐
  1083.      »α«úαá¼¼δ,  ∩ó½∩ÑΓß∩  ¡Ñº¡á¬«¼ßΓó«  »α«úαá¼¼δ  ß  ∩ºδ¬«¼   ßó«Ñú«
  1084.      »«½∞º«óáΓѽ∩.  èá¬á∩  ¬½áó¿Φá ñ«½ª¡á íδΓ∞ ¡áªáΓá?  èᬫѠñÑ⌐ßΓó¿Ñ
  1085.      íπñÑΓ ß½ÑñπεΘ¿¼? ùΓ« óδ»«½¡∩ÑΓ ñá¡¡δ⌐ φ½Ñ¼Ñ¡Γ ¼Ñ¡ε? ìѺáó¿ß¿¼« «Γ
  1086.      Γ«ú«,   ß¬«½∞¬«  πß¿½¿⌐  ó½«ªÑ¡«  ó  αáºαáí«Γ¬π  ßἫ«íΩ∩ß¡∩Ѽ«ú«
  1087.      »«½∞º«óáΓѽ∞߬«ú«  ∩ºδ¬á,  π   »«½∞º«óáΓѽÑ⌐   óßÑúñá   ó«º¡¿¬áεΓ
  1088.      ó«»α«ßδ,   »«ß¬«½∞¬π   ∩ºδ¬   ¡«ó«⌐   ß¿ßΓÑ¼δ   ñ½∩  ¡Ñú«  óßÑúñá
  1089.      ¿¡«ßΓαá¡¡δ⌐.  äѽ« ¡Ñ Γ«½∞¬« ó º¡á¬«¼ßΓóÑ »«½∞º«óáΓѽÑ⌐ ß ∩ºδ¬«¼,
  1090.      τáßΓ«  «¡¿  ñáªÑ  ¡Ñ  º¡áεΓ,  τΓ« ß¿ßΓѼᠼ«ªÑΓ,  á τÑú« ¡Ñ ¼«ªÑΓ
  1091.      ñѽáΓ∞.  Å« Γαáñ¿µ¿¿ φΓá »α«í½Ñ¼á αÑΦáÑΓß∩ «íαáΘÑ¡¿Ñ¼ ¬  »ÑτáΓ¡δ¼
  1092.      απ¬«ó«ñßΓóá¼   »«½∞º«óáΓѽ∩   ¿,   ó«º¼«ª¡«,   áóΓ«¼áΓ¿º¿α«óá¡¡δ¼
  1093.  
  1094.                              - 29 -
  1095.      ß»αáó«τ¡¿¬á¼.  ìÑñ«ßΓáΓ¬«¼ φΓ¿σ  αÑΦÑ¡¿⌐  ∩ó½∩ÑΓß∩  ¡Ñ«íσ«ñ¿¼«ßΓ∞
  1096.      »ÑαѬ½ετÑ¡¿∩  ó¡¿¼á¡¿∩ »«½∞º«óáΓѽ∩ «Γ αáí«Γδ ß ß¿ßΓѼ«⌐ ¬ τΓÑ¡¿ε
  1097.      απ¬«ó«ñßΓóá ¿½¿ ºá»π߬π ß»αáó«τ¡¿¬á.
  1098.  
  1099.           àß½¿ íδ φ¬αá¡δ í뫨 ñ«ßΓáΓ«τ¡« í«½∞Φ¿¼¿,  ß¿ßΓѼᠠ¼«ú½á  íδ
  1100.      »«ññÑনóáΓ∞   »«ßΓ«∩¡¡δ⌐  »«¬áº  απ¬«ó«ñßΓóá  »«½∞º«óáΓѽ∩.  èá¬
  1101.      Γ«½∞¬« »«½∞º«óáΓÑ½ε »«ΓαÑí«óá½áß∞ íδ ¿¡Σ«α¼áµ¿∩, απ¬«ó«ñßΓó« í佫
  1102.      íδ   ñ«ßΓπ»¡«.  ¥Γ«  αÑΦÑ¡¿Ñ  ¡Ñ  »α«ñÑαªá½«ß∞  íδ  ñ«½ú«;  ¬«úñá
  1103.      »«½∞º«óáΓѽ∞ πªÑ º¡áÑΓ ß¿ßΓѼπ,  ¿¡Σ«α¼áµ¿∩ »«ñ߬Ậ¿ ¡Ñ ¡πª¡á  ¿
  1104.      ¡ÑªÑ½áΓѽ∞¡á.  ç¡áτ¿¼á∩  ñ½∩  ¡«ó¿τ¬á  ¿¡Σ«α¼áµ¿∩ - φΓ« ¼πß«α ñ½∩
  1105.      óÑΓÑαá¡á.
  1106.  
  1107.           ü«½∞Φ¿¡ßΓó« ¿¡ΓÑαá¬Γ¿ó¡δσ ß¿ßΓѼ ¿¼ÑεΓ «íΘÑÑ ßó«⌐ßΓó«: ¬«úñá
  1108.      »«½∞º«óáΓÑ½ε ¡Ñ«íσ«ñ¿¼á ¿¡Σ«α¼áµ¿∩, «¡ ß¼«Γα¿Γ ¡á φ¬αá¡ ¿ úáñáÑΓ,
  1109.      ¬á¬πε ¬½áó¿Φπ ¡áªáΓ∞.  ÅαÑñßΓáó½∩ÑΓß∩ ó»«½¡Ñ ÑßΓÑßΓóÑ¡¡δ¼,  τΓ« ó
  1110.      τ¿ß½« ¡áªáΓ¿⌐ ¬½áó¿Φ,  ¬«Γ«αδÑ ß¿ßΓѼá íπñÑΓ αáß»«º¡áóáΓ∞ ó ½εí«Ñ
  1111.      óαѼ∩,  ¡πª¡« ó¬½ετ¿Γ∞ Σπ¡¬µ¿«¡á½∞¡πε ¬½áó¿Φπ <Help> (Å«ñ߬Ậá).
  1112.      ì᪼¿ΓÑ  ΓαÑíπѼπε  »α¿¬½áñ¡πε ¬½áó¿Φπ,  ¿ »α«úαá¼¼á óδ»«½¡¿Γ óáΦ
  1113.      ºá»α«ß;  ¡áª¼¿ΓÑ Σπ¡¬µ¿«¡á½∞¡πε ¬½áó¿Φπ  »«ñ߬Ậ¿,  ¿  »α«úαá¼¼á
  1114.      ß««íΘ¿Γ  óá¼  ¬«Ñ-τΓ«  «  Γ«¼,  ¬á¬¿Ñ  ¬½áó¿Φ¿  «¡á «ª¿ñáÑΓ ¿ τΓ«
  1115.      ß½πτ¿Γß∩ »α¿ ¿σ ¡áªáΓ¿¿.
  1116.  
  1117.           Å«ß¬«½∞¬π ¿¡ΓÑαá¬Γ¿ó¡δÑ ß¿ßΓÑ¼δ ¿ß»«½∞ºπεΓ φ¬αá¡ ñ½∩ «íΘÑ¡¿∩
  1118.      ß  »«½∞º«óáΓѽѼ  ¿  »«¬áºá  ñá¡¡δσ,  ß««íΘÑ¡¿Ñ  »«ñ߬Ậ¿  - φΓ«
  1119.      ¼áΓÑα¿á½ ñ½∩ óδΓὬ¿óáѼ«ú« óóÑασ  «¬¡á.  Æá¬«Ñ  »«ßΓα«Ñ¡¿Ñ  «¬¡á
  1120.      »«ºó«½∩ÑΓ »«½πτ¿Γ∞    »«ñß¬áº¬π    íѺ    ¡áαπΦÑ¡¿∩   »α¿¬½áñ¡«ú«
  1121.      ¿ß»«½∞º«óá¡¿∩   φ¬αá¡á.   Æá¬«Ñ   «¬¡«   ¡áºδóáÑΓß∩   ¬«¡ΓѬßΓ¡«-
  1122.      π»αáó½∩Ñ¼δ¼  «¬¡«¼  »«ñ߬Ậ¿,  «¬¡«¼,  ¬«Γ«α«Ñ  óδ߬ᬿóáÑΓ  ñ½∩
  1123.      »«ñ߬Ậ¿ »«½∞º«óáΓÑ½ε  »α¿  ¡áªáΓ¿¿  ¡áº¡áτÑ¡¡«⌐  Σπ¡¬µ¿«¡á½∞¡«⌐
  1124.      ¬½áó¿Φ¿  »«ñ߬Ậ¿.  (Åα«úαá¼¼¡á∩  »α«¼δΦ½Ñ¡¡«ßΓ∞  »α¿º¡á½á  <F1>
  1125.      ßΓá¡ñáαΓ«¼ ñ½∩ Σπ¡¬µ¿«¡á½∞¡«⌐ ¬½áó¿Φ¿  »«ñ߬Ậ¿,  «ñ¡á¬«  ¼¡«ú¿Ñ
  1126.      »α«úαá¼¼¡δÑ  »á¬ÑΓδ  ¿ß»«½∞ºπεΓ  ñαπú¿Ñ ¬½áó¿Φ¿).  Ä¬¡« »«ñ߬Ậ¿
  1127.      ß«ñÑαª¿Γ ΓѬßΓ,  ¬«Γ«αδ⌐  «íΩ∩ß¡∩ÑΓ  ¡Ñ¬«Γ«απε  τáßΓ∞  »α«úαá¼¼δ.
  1128.      è«úñá   »«½∞º«óáΓѽ¿   αáí«ΓáεΓ   ß  »α«úαá¼¼«⌐  ¿  »ÑαÑσ«ñ∩Γ  «Γ
  1129.      ó«º¼«ª¡«ßΓ¿  ¬  ó«º¼«ª¡«ßΓ¿,  ß«ñÑন¼«Ñ  ¿   αáß»«½«ªÑ¡¿Ñ   «¬«¡
  1130.      »«ñ߬Ậ¿   ¿º¼Ñ¡∩εΓß∩  ñ½∩  «ΓαáªÑ¡¿∩  ΓѬπΘÑú«  ¬«¡ΓѬßΓá.  ¥Γ¿
  1131.      ¿º¼Ñ¡Ñ¡¿∩ ¡Ñ ó¿ñ¡δ,  »«ß¬«½∞¬π «¡¿  »α«¿ßσ«ñ∩Γ  ó¡πΓα¿  »α«úαá¼¼.
  1132.  
  1133.                              - 30 -
  1134.      è«úñá  »«½∞º«óáΓѽ∞  ¡áª¿¼áÑΓ  Σπ¡¬µ¿«¡á½∞¡πε  ¬½áó¿Φπ »«ñ߬Ậ¿,
  1135.      ß««ΓóÑΓßΓóπεΘÑÑ  ß««íΘÑ¡¿Ñ-»«ñ߬ẬᠠóδñáÑΓß∩  ó   óδ߬ᬿóáεΘѼ
  1136.      «¬¡Ñ.
  1137.  
  1138.           Å«ß¬«½∞¬π ß««íΘÑ¡¿Ñ-»«ñ߬Ậᠠºáó¿ß¿Γ «Γ ΓѬπΘÑú« »«½«ªÑ¡¿∩
  1139.      ó »α«úαá¼¼Ñ,  «¬¡« »«ñ߬Ậ¿  ¡áºδóáÑΓß∩  ¬«¡ΓѬßΓ¡«-π»αáó½∩Ѽδ¼.
  1140.      Ä»δΓ¡δÑ  »«½∞º«óáΓѽ¿  ¼«úπΓ  ¿ú¡«α¿α«óáΓ∞  ó«º¼«ª¡«ßΓ¿ »«ñ߬Ậ¿
  1141.      »α«úαá¼¼δ;  ¡«ó¿τ¬¿   ¼«úπΓ   ¡áª¿¼áΓ∞   Σπ¡¬µ¿«¡á½∞¡πε   ¬½áó¿Φπ
  1142.      »«ñ߬Ậ¿  »α¿  ¬áªñ«¼  ¿º¼Ñ¡Ñ¡¿¿  ß«ßΓ«∩¡¿∩ »α«úαá¼¼δ ¿ »«½πτáΓ∞
  1143.      ß«óÑΓδ, ¡á»«¼¿¡á¡¿∩ ¿½¿ ñÑΓá½∞¡δÑ ¿¡ßΓαπ¬µ¿¿.
  1144.  
  1145.           Éáºαáí«Γτ¿¬ ß¿ßΓÑ¼δ  αÑΦáÑΓ,  ¬á¬  ¼¡«ú«   ¿   ¬á¬«ú«   ó¿ñá
  1146.      »«ñ߬Ậ¿   ß¿ßΓѼᠠ íπñÑΓ   »αÑñπß¼áΓα¿óáΓ∞  ñ½∩  »«½∞º«óáΓѽ∩.
  1147.      ìѬ«Γ«αδÑ  ß¿ßΓÑ¼δ  «í½áñáεΓ  ¡Ñ߬«½∞¬¿¼¿  πα«ó¡∩¼¿  »«ñ߬Ậ¿  ó
  1148.      ºáó¿ß¿¼«ßΓ¿ «Γ «»δΓá »«½∞º«óáΓѽ∩.  Åα«úαἼᠫíαáí«Γ¬¿ ß½«ó Word
  1149.      Star »α¿¼Ñ¡∩½á φΓπ ΓÑσ¡«½«ú¿ε ¡á »α«Γ∩ªÑ¡¿¿  ¼¡«ú¿σ  ½ÑΓ.  ôα«ó¡¿
  1150.      »«ñ߬Ậ¿  ¿º¼Ñ¡∩εΓß∩  «Γ  »α«ßΓδσ ß««íΘÑ¡¿⌐ Γ¿»á "¡áª¼¿ΓÑ <è½ετ>
  1151.      ñ½∩ ó«ºóαáΓá ¬..." ñ« »«½¡δσ »«½∞º«óáΓѽ∞߬¿σ  απ¬«ó«ñßΓó. î¡«ú¿Ñ
  1152.      αáºαáí«Γτ¿¬¿   »α«úαá¼¼   »αÑñ»«τ¿ΓáεΓ   »ÑαÑñáóáΓ∞   απ¬«ó«ñßΓó«
  1153.      »«½∞º«óáΓѽ∩ Γᬿ¼ ß»«ß«í«¼,  á  ¡Ñ  ó  ó¿ñÑ  í«½∞Φ¿σ  úα«¼«ºñ¬¿σ
  1154.      ñ«¬π¼Ñ¡Γ«ó.  ¥Γá  »α«µÑñπαá  ¿¼ÑÑΓ ñóá »«ß½ÑñßΓó¿∩:  »«½∞º«óáΓѽ¿
  1155.      ßó∩ºδóáεΓ φ¬ßΓαáóáúá¡Γ¡δÑ απ¬«ó«ñßΓóá  ß  ¬áτÑßΓó«¼  »α«úαá¼¼,  á
  1156.      í«½∞Φ¿Ñ ¬¡¿ú¿ ß»«ß«íßΓóπεΓ í«α∞íÑ ß "»α«úαá¼¼¡δ¼¿ »¿αáΓἿ".
  1157.  
  1158.           èᬠ íδ  Γá¼ ¡¿  í佫,  »«½∞º«óáΓѽ¿ ΓᬪѠ»α¿Φ½¿ ¬ «ª¿ñá¡¿ε
  1159.      ß¿ßΓѼ,  ΓαÑíπεΘ¿σ  ¼¿¡¿¼á½∞¡«ú«  ¿ß»«½∞º«óá¡¿∩  »«½∞º«óáΓѽ∞߬¿σ
  1160.      απ¬«ó«ñßΓó. Å«½∞º«óáΓѽ¿ σ«Γ∩Γ ¿¡ΓÑαá¬Γ¿ó¡πε »«ñ߬Ậπ.
  1161.  
  1162.  
  1163.  
  1164.               Åα«úαá¼¼¿α«óá¡¿Ñ «¬«¡ »«ñ߬Ậ¿
  1165.      -----------------------------------------------------------------
  1166.  
  1167.           öπ¡¬µ¿¿ »«ñ߬Ậ¿   ó   φΓ«⌐  ¬¡¿úÑ  »«ññÑনóáεΓ  ¬«¡µÑ»µ¿¿
  1168.      ¬«¡ΓѬßΓ¡«-π»αáó½∩Ѽ«⌐ »«ñ߬Ậ¿ ß »«¼«Θ∞ε  ¿ß»«½∞º«óá¡¿∩ «¬«¡¡δσ
  1169.      Σπ¡¬µ¿⌐,  ΓѬßΓ«ó«ú« Σá⌐½á ¿ Σπ¡¬µ¿«¡á½∞¡δσ ó맮ó«ó ¿º »α¿¬½áñ¡«⌐
  1170.      »α«úαá¼¼δ.  èáªñá∩   »α¿¬½áñ¡á∩   »α«úαἼᠠ ß««íΘáÑΓ   Σπ¡¬µ¿∩¼
  1171.  
  1172.                              - 31 -
  1173.      »«ñ߬Ậ¿,   ¬á¬«⌐  Σá⌐½  »«ñ߬Ậ¿  ¿ß»«½∞º«óáΓ∞  ¿  ¬á¬«Ñ  «¬¡«
  1174.      »«ñ߬Ậ¿ ∩ó½∩ÑΓß∩ ΓѬπΘ¿¼.  öá⌐½ »«ñ߬Ậ¿  ß«ñÑαª¿Γ  ΓѬßΓ  ñ½∩
  1175.      ¬áªñ«ú« «¬¡á »«ñ߬Ậ¿.  öπ¡¬µ¿¿ »«ñ߬Ậ¿ «Γ߽Ѫ¿óáεΓ ß¿ú¡á½δ «Γ
  1176.      ¬½áó¿áΓπαδ  ¿  óδñáεΓ  ΓѬπΘÑÑ   «¬¡«   »«ñ߬Ậ¿   »α¿   ¡áªáΓ¿¿
  1177.      Σπ¡¬µ¿«¡á½∞¡«⌐ ¬½áó¿Φ¿ <Help>.
  1178.  
  1179.           Åα«úαá¼¼á,  ¿ß»«½∞ºπεΘá∩  »α«úαá¼¼¡«Ñ «íÑß»ÑτÑ¡¿Ñ »«ñ߬Ậ¿,
  1180.      ñ«½ª¡á   »αÑñπß¼áΓα¿óáΓ∞   ß½ÑñπεΘ¿Ñ   ¿¡ΓÑαΣÑ⌐ßδ   ß   Σπ¡¬µ¿∩¼¿
  1181.      »«ñ߬Ậ¿:
  1182.          - Σπ¡¬µ¿«¡á½∞¡δ⌐  ó맮ó  ñ½∩  ºáñá¡¿∩  ¿¼Ñ¡¿ ΓѬßΓ«ó«ú« Σá⌐½á
  1183.      »«ñ߬Ậ¿;
  1184.          - º¡áτÑ¡¿Ñ Σπ¡¬µ¿«¡á½∞¡«⌐ ¬½áó¿Φ¿ »«ñ߬Ậ¿;
  1185.          - Σπ¡¬µ¿«¡á½∞¡δÑ  ó맮óδ  ñ½∩  ¿ñÑ¡Γ¿Σ¿¬áµ¿¿   ΓѬπΘÑú«  «¬¡á
  1186.      »«ñ߬Ậ¿;
  1187.          - ¿ß»«½∞º«óá¡¿Ñ  Σπ¡¬µ¿¿  ¬½áó¿áΓπα¡«ú«  óó«ñá  get_char  ñ½∩
  1188.      ½εí«ú« óó«ñá ß ¬½áó¿áΓπαδ (get_char «»¿ßá¡á ó â½áóÑ 4).
  1189.  
  1190.           Å«ß½Ññ¡ÑÑ ¿º   φΓ¿σ  τÑΓδαÑσ  ΓαÑí«óá¡¿⌐  ¼«ªÑΓ  »«ΓαÑí«óáΓ∞
  1191.      ¡Ñ¬«Γ«αδσ αáºΩ∩ߡѡ¿⌐.  é«  óαѼ∩  αáí«Γδ  »α«úαá¼¼δ  »α«úαá¼¼¡«Ñ
  1192.      «íÑß»ÑτÑ¡¿Ñ   »«ñ߬Ậ¿   »ÑαÑσóáΓδóáÑΓ   ¬áªñ«Ñ   »αÑαδóá¡¿Ñ  «Γ
  1193.      ¬½áó¿áΓπαδ ñ½∩ Γ«ú«, τΓ«íδ πíÑñ¿Γ∞ß∩, ¡Ñ ¡áªáΓá ½¿ Σπ¡¬µ¿«¡á½∞¡á∩
  1194.      ¬½áó¿Φá   »«ñ߬Ậ¿.  àß½¿  φΓ«  Γá¬,  Γ«  π»αáó½Ñ¡¿Ñ  »ÑαÑñáÑΓß∩
  1195.      «¬«¡¡«¼π  »α«µÑßßπ  »«ñ߬Ậ¿.   àß½¿   ¡ÑΓ,   º¡áτÑ¡¿Ñ   ¬½áó¿Φ¿
  1196.      »ÑαÑßδ½áÑΓß∩  ó  «ª¿ñáεΘπε  Ñú« »α«úαá¼¼¡πε Σπ¡¬µ¿ε.  Åα«úαá¼¼¡«Ñ
  1197.      «íÑß»ÑτÑ¡¿Ñ »«ñ߬Ậ¿ ¼«ªÑΓ π»αáó½∩Γ∞ φΓ¿¼  »ÑαÑσóáΓ«¼  Γ«½∞¬«  ó
  1198.      Γ«¼  ß½πτáÑ,  Ñß½¿  óδ  ¿ß»«½∞ºπÑΓÑ  Σπ¡¬µ¿ε get_char ñ½∩ óó«ñá ß
  1199.      ¬½áó¿áΓπαδ.  èᬠαáºΩ∩ߡѡ« óδΦÑ,  get-char ß½Ññ¿Γ ºá ¡áªáΓ¿Ñ¼ ¡á
  1200.      ¬½áó¿áΓπαÑ Σπ¡¬µ¿«¡á½∞¡«⌐ ¬½áó¿Φ¿ »«ñ߬Ậ¿.  àß½¿ óδ ¿ß»«½∞ºπÑΓÑ
  1201.      ñαπú¿Ñ ß»«ß«íδ τΓÑ¡¿∩  ß¿¼ó«½«ó  ß  ¬½áó¿áΓπαδ,  Γ«  »ÑαѬ½ετÑ¡¿Ñ
  1202.      Σπ¡¬µ¿«¡á½∞¡«⌐ ¬½áó¿ΦÑ⌐ »«ñ߬Ậ¿ ¡Ñ íπñÑΓ ßñѽᡫ.
  1203.  
  1204.           ê¼ÑεΓß∩ ¿   ñαπú¿Ñ   ¼ÑΓ«ñδ   ¡áí½εñÑ¡¿∩  ºá  ¬½áó¿áΓπα«⌐  ß
  1205.      «ª¿ñ᡿Ѽ ¡áªáΓ¿∩ Σπ¡¬µ¿«¡á½∞¡«⌐ ¬½áó¿Φ¿ »«ñ߬Ậ¿.  ìѬ«Γ«αδÑ ¿º
  1206.      φΓ¿σ    ¼ÑΓ«ñ«ó    »α¿ó½Ñ¬áεΓ    »α¿ß«Ññ¿¡∩εΘÑÑ   »ÑαÑσóáΓδóáεΘÑÑ
  1207.      »α«úαá¼¼¡«Ñ «íÑß»ÑτÑ¡¿Ñ ¬ óÑ¬Γ«απ  ¬½áó¿áΓπα¡«ú«  »αÑαδóá¡¿∩  ¿½¿
  1208.      óÑ¬Γ«α𠬽áó¿áΓπα¡«⌐ BIOS. Å« αẽ¿τ¡δ¼ »α¿τ¿¡á¼ í佫 αÑΦÑ¡«, τΓ«
  1209.      φΓ¿  ¼ÑΓ«ñδ  ¡Ñ  íπñπΓ  ¿ß»«½∞º«óáΓ∞ß∩.  é«-»Ñαóδσ,   »α«úαá¼¼¡«Ñ
  1210.  
  1211.                              - 32 -
  1212.      «íÑß»ÑτÑ¡¿Ñ,    «»¿ßδóáѼ«Ñ    ó   ñá¡¡«⌐   ¬¡¿úÑ,   »αÑñ»«½áúáÑΓ
  1213.      »«½∞º«óáΓѽ∞߬πε ßαÑñπ,  ó¬½ετáεΘπε «¬¡á ñ½∩ ¼Ñ¡ε, óó«ñá ñá¡¡δσ ¿
  1214.      ΓѬßΓá.  éÑß∞  ¬½áó¿áΓπα¡δ⌐  óó«ñ,  ¡Ñ«íσ«ñ¿¼δ⌐ »α«úαá¼¼Ñ,  ¼«ªÑΓ
  1215.      π»αáó½∩Γ∞ß∩ «ñ¡«⌐ ¿º φΓ¿σ ó«º¼«ª¡«ßΓÑ⌐, »α¿τѼ óßÑ «¡¿ ¿ß»«½∞ºπεΓ
  1216.      Σπ¡¬µ¿ε    get_char.    éá¼    ¡¿¬«úñá   ¡Ñ   »«¡áñ«í¿Γß∩   ß¡«óá
  1217.      »α«úαá¼¼¿α«óáΓ∞  ¬½áó¿áΓπα¡δ⌐  óó«ñ.  é«-óΓ«αδσ,  Ñß½¿  »α«úαá¼¼á
  1218.      »α¿ß«Ññ¿¡∩ÑΓ  ßÑí∩  ¬  óÑ¬Γ«απ  »αÑαδóá¡¿∩,  Γ«  »α¿ ¡Ñ¡«α¼á½∞¡«¼
  1219.      ºáóÑαΦÑ¡¿¿  »α«úαá¼¼δ  »α«¿ßσ«ñ∩Γ  ßΓαá¡¡δÑ  óÑΘ¿;  «íδτ¡«   Å¥éî
  1220.      »α¿σ«ñ¿Γß∩   »ÑαѺá»π߬áΓ∞.   é-ΓαÑΓ∞¿σ,   αáºαáíáΓδóáѼδÑ   óἿ
  1221.      »α«úαá¼¼δ ¼«úπΓ íδΓ∞ αѺ¿ñÑ¡Γ¡δ¼¿ ó »á¼∩Γ¿.  ÉѺ¿ñÑ¡Γ¡δÑ ó »á¼∩Γ¿
  1222.      »α«úαá¼¼δ τáßΓ« »α¿ß«Ññ¿¡∩εΓß∩ ¬ ¬½áó¿áΓπαÑ ñ½∩ ñαπú¿σ µÑ½Ñ⌐.
  1223.  
  1224.           éδ πº¡áÑΓÑ   í«½∞ΦÑ   «  αѺ¿ñÑ¡Γ¡δσ  ó  »á¼∩Γ¿  »α«úαá¼¼áσ,
  1225.      óÑ¬Γ«αáσ »αÑαδóá¡¿⌐  ¿  «  Γ«¼,  ¬á¬  »α¿ß«Ññ¿¡∩Γ∞  «ñ¡«  «¬¡«  ¬
  1226.      ñαπú«¼π,  ó â½áóÑ 11.  ä«»πßΓ¿¼, τΓ« óáΦÑ »α«úαá¼¼¡«Ñ «íÑß»ÑτÑ¡¿Ñ
  1227.      τ¿ΓáÑΓ ¬½áó¿áΓπαπ  ß  »«¼«Θ∞ε  Σπ¡¬µ¿¿  get_char.  Æ«úñá  óÑ¬Γ«αá
  1228.      ¬½áó¿áΓπαδ «ßΓáεΓß∩ «ñ¡¿,  ¿ ß¿ßΓѼá σ«α«Φ« ßÑí∩ óÑñÑΓ ¡Ñºáó¿ß¿¼«
  1229.      «Γ  αѺ¿ñÑ¡Γ¡δσ  »α«úαá¼¼,  áóáα¿⌐¡δσ  ºáóÑαΦÑ¡¿⌐  »α«úαá¼¼   »α¿
  1230.      ΓÑßΓ¿α«óá¡¿¿    ¿½¿    ¡Ñ«ª¿ñá¡¡δσ    ºáóÑαΦÑ¡¿⌐    »α«úαá¼¼δ   ó
  1231.      »α«¿ºó«ñßΓóÑ¡¡«⌐ ß¿ßΓѼÑ.
  1232.  
  1233.           ÆαÑíπѼ«Ñ ¿ß»«½∞º«óá¡¿Ñ get_char ½¿ΦáÑΓ óáß ΓαÑσ ßΓá¡ñáαΓ¡δσ
  1234.      ó«º¼«ª¡«ßΓÑ⌐ æ¿:
  1235.  
  1236.          - óδ ¡Ñ ß¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ßΓá¡ñáαΓ¡δÑ í¿í½¿«ΓÑτ¡δÑ Σπ¡¬µ¿¿
  1237.      scanf  ¿½¿  getchar,   »«ß¬«½∞¬π  ¡¿  «ñ¡á  ¿º  φΓ¿σ  Σπ¡¬µ¿⌐  ¡Ñ
  1238.      ¿ß»«½∞ºπÑΓ Σπ¡¬µ¿ε get_char;
  1239.  
  1240.          - óδ ¡Ñ ß¼«ªÑΓÑ ó«ß»«½∞º«óáΓ∞ß∩ ßΓá¡ñáαΓ¡«⌐ Σπ¡¬µ¿Ñ⌐ óó«ñá  ß
  1241.      ¬«¡ß«½¿ (getch), »αÑñπß¼«ΓαÑ¡¡«⌐ ó Æπαí« æ¿;
  1242.  
  1243.          - óδ ¡Ñ ß¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ½«ú¿τÑ߬«Ñ πßΓα«⌐ßΓó« stdin  ñ½∩
  1244.      ¬½áó¿áΓπα¡«ú«   óó«ñá,   τΓ«   «º¡áτáÑΓ   ñ½∩   óáΦÑ⌐   »α«úαá¼¼δ
  1245.      ¡Ñ󫺼«ª¡«ßΓ∞  ¡áº¡áτáΓ∞  Σá⌐½δ  ¿½¿  »α«úαá¼¼¡δÑ  ¬á¡á½δ  ó¼ÑßΓ«
  1246.      ¬½áó¿áΓπαδ.
  1247.  
  1248.           Å«ΓÑα∩  Σπ¡¬µ¿⌐ scanf ¿ getchar -  φΓ«  ¡Ñí«½∞Φá∩ »«ΓÑα∩ ñ½∩
  1249.  
  1250.                              - 33 -
  1251.      »α«úαá¼¼¿α«óá¡¿∩ ñ¿á½«úá.  ¥Γ¿ Σπ¡¬µ¿¿ íÑß»«½Ñº¡δ ó ¿¡ΓÑαá¬Γ¿ó¡«⌐
  1252.      ßαÑñÑ.  Ä¡¿ ∩ó½∩εΓß∩ Σπ¡¬µ¿∩¼¿ íπΣÑਧ«óá¡¡«ú«  óó«ñá, ΓαÑíπεΘ¿¼¿
  1253.      ¡áªáΓ¿∩ ¬½áó¿Φ¿ <éó«ñ>  ñ½∩ ºáóÑαΦÑ¡¿∩ óó«ñá ß¿¼ó«½á  ¿½¿ ßΓ᫬¿;
  1254.      ¬α«¼Ñ  Γ«ú«,  «¡¿ ¡ÑτπóßΓó¿Γѽ∞¡δ ¬ αáß»«½«ªÑ¡¿ε ¬παß«αá  ¿ ñ½¿¡Ñ
  1255.      »«½∩.  ¥Γ¿  Σπ¡¬µ¿¿  ñπí½¿απεΓ  ßó«⌐  óó«ñ  ó  ßΓá¡ñáαΓ¡δ⌐ óδó«ñ,
  1256.      ß«í½εñá∩  ß«ú½áΦÑ¡¿∩  ¬«¼á¡ñ¡«⌐    ßΓ᫬¿   äÄæ,   ¿   «¡¿  íπñπΓ
  1257.      ñπí½¿α«óáΓ∞  ¿º«íαáªÑ¡¿∩ ñó«⌐¡δσ ß¿¼ó«½«ó  »α¿ óó«ñÑ π»αáó½∩εΘÑú«
  1258.      ß¿¼ó«½á.  àß½¿ óóÑñѡᠬ½áó¿Φ¡á∩ ¬«¼í¿¡áµ¿∩  ô»α/æ, Σπ¡¬µ¿¿ ¼«úπΓ
  1259.      áóáα¿⌐¡«   ºáóÑαΦ¿Γ∞   »α«úαá¼¼π.   öπ¡¬µ¿¿   »½«σ«   αáí«ΓáεΓ  ß
  1260.      Σπ¡¬µ¿«¡á½∞¡δ¼¿  ¿½¿ ¬παß«α¡δ¼¿  ¬½áó¿ΦἿ.  Æπαí« æ¿ ó¬½ετáÑΓ ¿σ
  1261.      ñ½∩  »«ññÑ᪬¿ ß«ó¼ÑßΓ¿¼«ßΓ¿ ß UNIX.   ¥Γ¿ Σπ¡¬µ¿¿  »α«¿ßσ«ñ∩Γ ¿º
  1262.      ¬«¼»∞εΓÑα¡δσ ß¿ßΓѼ ß ΓѽÑΓá⌐»¡δ¼¿ ΓÑନ¡á½á¼¿.
  1263.  
  1264.           î«ªÑΓ  »«¬áºáΓ∞ß∩,  τΓ«  óδ  ΓÑα∩ÑΓÑ α∩ñ ó«º¼«ª¡«ßΓÑ⌐, ¬«úñá
  1265.      ½¿ΦáÑΓÑß∞ πßΓα«⌐ßΓóá  stdin,  «ñ¡á¬« φΓ« πßΓα«⌐ßΓó« »αÑñ¡áº¡áτÑ¡«
  1266.      ñ½∩ »α«úαá¼¼, ¬«Γ«αδÑ ¼«úπΓ »α¿¡¿¼áΓ∞ óσ«ñ¡δÑ ñá¡¡δÑ ¿º Σá⌐½«ó ¿
  1267.      óδσ«ñ«ó ñαπú¿σ »α«úαá¼¼ ΓᬠªÑ, ¬á¬ ¿ ß ¬½áó¿áΓπαδ. ¥Γ¿ »α«úαá¼¼δ
  1268.      (¿½¿, »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ, stdin ¿ß»«½∞ºπÑΓß∩ ñ½∩ óó«ñá ñá¡¡δσ ó ¡¿σ)
  1269.      «íδτ¡« ¡Ñ »αÑñ¡áº¡áτÑ¡δ ñ½∩ ¿ß»«½∞º«óá¡¿∩ ó ¿¡ΓÑαá¬Γ¿ó¡«⌐ ßαÑñÑ.
  1270.  
  1271.  
  1272.                  ÆÑ¬ßΓ«óδ⌐ Σá⌐½ «¬¡á »«ñ߬Ậ¿
  1273.      -----------------------------------------------------------------
  1274.  
  1275.           Ä¬¡á »«ñ߬Ậ¿  »«∩ó½∩εΓß∩,  ¬«úñá   »«½∞º«óáΓѽ∞   ¡áª¿¼áÑΓ
  1276.      Σπ¡¬µ¿«¡á½∞¡πε  ¬½áó¿Φπ  »«ñ߬Ậ¿,  «»¿ßá¡¡πε ó ΓѬßΓ«ó«¼ Σá⌐½Ñ.
  1277.      ÆÑ¬ßΓ«óδ⌐ Σá⌐½ »«ñ߬Ậ¿ - φΓ«  ASCII-Σá⌐½,  ¬«Γ«αδ⌐  óδ  ßΓα«¿ΓÑ
  1278.      ΓѬßΓ«óδ¼  αÑñá¬Γ«α«¼  Æπαí«  æ¿  ¿½¿  ½εíδ¼  ñαπú¿¼  αÑñá¬Γ«α«¼,
  1279.      ¬«Γ«αδ⌐ ¼«ªÑΓ ß«ºñáóáΓ∞ ASCII-Σá⌐½δ.
  1280.  
  1281.           Ä¬¡á  »«ñ߬Ậ¿  «»¿ßδóáεΓß∩  ¼¡Ñ¼«¡¿τÑ߬¿¼ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼,
  1282.      ¬«Γ«αδ⌐  ¿ß»«½∞ºπÑΓß∩  »α«úαá¼¼¡δ¼  «íÑß»ÑτÑ¡¿Ñ¼   »«ñ߬Ậ¿  ñ½∩
  1283.      ¿ñÑ¡Γ¿Σ¿¬áµ¿¿  ¿   αáß»«½«ªÑ¡¿∩  ΓѬßΓá.   æΓ᫬¿,  ß½ÑñπεΘ¿Ñ  ºá
  1284.      ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼,  ß«ñÑαªáΓ ΓѬßΓ, ¬«½¿τÑßΓó« ßΓ᫬ ¿ ñ½¿¡á ßΓ᫬¿
  1285.      ¬«Γ«α«ú«  «»αÑñѽ∩εΓ óδß«Γπ ¿ Φ¿α¿¡π  «¬¡á  »«ñ߬Ậ¿. ìá α¿ßπ¡¬Ñ
  1286.      7.1  »«¬áºá¡  ¡Ñí«½∞Φ«⌐  Σá⌐½  »«ñ߬Ậ¿,  «»¿ßδóáεΘ¿⌐  ñóá  «¬¡á
  1287.      »«ñ߬Ậ¿.
  1288.  
  1289.                              - 34 -
  1290.  
  1291.      ┌───────────────────────────────────────────────────────────────┐
  1292.      │                                                               │
  1293.      │                                                               │
  1294.      │                                                               │
  1295.      │                    <name    >                                 │
  1296.      │                    Enter the name of the                      │
  1297.      │                    employee as last name,                     │
  1298.      │                    comma, first name, viddle                  │
  1299.      │                    initial. Example:                          │
  1300.      │                    Hart, William S                            │
  1301.      │                    <emplnumb>                                 │
  1302.      │                    Enter the employee number                  │
  1303.      │                    with from I to life digits.                │
  1304.      │                    Example: 12345                             │
  1305.      │                    <end>                                      │
  1306.      │                                                               │
  1307.      │                                                               │
  1308.      │                                                               │
  1309.      └───────────────────────────────────────────────────────────────┘
  1310.  
  1311.                É¿ß. 7.1. Åα¿¼Ñα Σá⌐½á »«ñ߬Ậ¿
  1312.  
  1313.           êñÑ¡Γ¿Σ¿¬áΓ«α «¬¡á  »«ñ߬Ậ¿  ß«ßΓ«¿Γ   α«ó¡«   ¿º   ó«ß∞¼¿
  1314.      ß¿¼ó«½«ó ¿ «¬απªáÑΓß∩ πú½«ó묨 ß¬«í¬á¼¿,  ¬á¬ »«¬áºá¡« ¡á α¿ßπ¡¬Ñ
  1315.      7.1.  èáªñδ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α »«∩ó½∩ÑΓß∩ ó ßó«Ñ⌐ ß«íßΓóÑ¡¡«⌐ ßΓ᫬Ñ,
  1316.      »«ß½Ññ¡Ñ⌐ ßΓ᫬«⌐ Σá⌐½á ñ«½ªÑ¡ íδΓ∞ ½Ñ¬ß¿τÑ߬¿⌐ óσ«ñ.  ìá α¿ßπ¡¬Ñ
  1317.      7.2 »α¿óÑñÑ¡δ ñóá «¬¡á  »«ñ߬Ậ¿,  ¬«Γ«αδÑ  íπñπΓ  «Γ«íαáªÑ¡δ  ó
  1318.      αѺπ½∞ΓáΓÑ φΓ¿σ «»¿ßá¡¿⌐.
  1319.  
  1320.      ┌───────────────────────────────────────────────────────────────┐
  1321.      │                                                               │
  1322.      │      ┌────────────────────────────┐                           │
  1323.      │      │ Enter the name of the      │                           │
  1324.      │      │ employee as last name,     │                           │
  1325.      │      │ comma, first name, middle, │                           │
  1326.      │      │ initial. Example:          │                           │
  1327.  
  1328.                              - 35 -
  1329.      │      │ Hart, William S            │                           │
  1330.      │      │  [Help] to return          │                           │
  1331.      │      └────────────────────────────┘                           │
  1332.      │                                                               │
  1333.      │                                                               │
  1334.      │                      ┌─────────────────────────────┐          │
  1335.      │                      │ Enter the employee number   │          │
  1336.      │                      │ with from 1 to five digits. │          │
  1337.      │                      │ Example: 12345              │          │
  1338.      │                      │  [Help] to return           │          │
  1339.      │                      └─────────────────────────────┘          │
  1340.      └───────────────────────────────────────────────────────────────┘
  1341.  
  1342.                É¿ß. 7.2. Åα¿¼Ñαδ «¬«¡ »«ñ߬Ậ¿
  1343.  
  1344.           éßÑ »α¿¼Ñαδ   »α«úαá¼¼,   ¬«Γ«αδÑ   »α¿ó«ñ∩Γß∩   ó   φΓ«⌐  ¿
  1345.      »«ß½ÑñπεΘ¿σ ú½áóáσ, ¿ß»«½∞ºπεΓ »α«úαá¼¼¡«Ñ «íÑß»ÑτÑ¡¿Ñ »«ñ߬Ậ¿.
  1346.      äá½ÑÑ   αáßß¼áΓα¿óáÑΓß∩  »α«ßΓ«⌐  »α¿¼Ñα  ñ½∩  ¿½½εßΓαᵿ¿  ßἫ⌐
  1347.      »«ñ߬Ậ¿,  á  ºáΓѼ  -  ¿ß»«½∞º«óá¡¿Ñ   »«ñ߬Ậ¿   »«   »α∩¼«¼π
  1348.      ¡áº¡áτÑ¡¿ε   -   ñ½∩  »αÑñ«ßΓáó½Ñ¡¿∩  »«½∞º«óáΓÑ½ε  ¿¡ΓÑαá¬Γ¿ó¡«⌐
  1349.      ¬«¡ΓѬßΓ¡«-π»αáó½∩Ѽ«⌐ »«ñ߬Ậ¿. æ φΓ«⌐ µÑ½∞ε «ñ¿¡ ¿ Γ«Γ ªÑ Σá⌐½
  1350.      »«ñ߬Ậ¿  »αÑñπß¼áΓα¿óáÑΓß∩  ñ½∩  óßÑσ  »α«úαá¼¼.  Ä¡ ¡áºδóáÑΓß∩
  1351.      tcprogs.hlp ¿ »«¬áºá¡ ¡á ½¿ßΓ¿¡úÑ 7.1.
  1352.  
  1353.      ï¿ßΓ¿¡ú 7.1: tcprogs.hlp
  1354.  
  1355.      <maxims >
  1356.       Press 1, 2, or 3
  1357.       for a pithy maxim.
  1358.      <menu    >
  1359.       Use arrow keys to move the cursor bars.
  1360.       Use Enter to make the selection.
  1361.      <poemmenu>
  1362.       Arrows move the cursor bar.
  1363.       Enter will select the poem
  1364.       under the cursor bar.
  1365.       Press a digit (1-5) to
  1366.  
  1367.                              - 36 -
  1368.       select any other poem.
  1369.      <poems   >
  1370.       Move poem with arrow keys
  1371.       Select poem with 1 - 5
  1372.       Use + to bring poem forward
  1373.       Use - to push poem back
  1374.      <name    >
  1375.       Enter the name of the person
  1376.       who is placing the order.
  1377.      <address >
  1378.       Enter the address of the
  1379.       person who is placing the
  1380.       order.
  1381.      <state   >
  1382.       The State may be one of these:
  1383.       VA, NC, SC, GA, FL
  1384.      <phome   >
  1385.       Enter the phone number
  1386.       of the person who is
  1387.       placing the order
  1388.      <amount  >
  1389.       Enter the amount
  1390.       of the order
  1391.      <notepad >
  1392.      --------Cursor Movement----- --------Page Movement--------
  1393.      arrows  = move text cursor   Ctrl-Home = Beginning of File
  1394.      Ctrl-T  = Top of Window      Ctrl-End  = End of File
  1395.      Ctrl-B  = Bottom of Window   PgUp      = Previous Page
  1396.      Ctrl -> = Next Word          PgDn      = Next Page
  1397.      Ctrl <- = Previous Word
  1398.      Home    = Beginning of Line --------Editor Control-------
  1399.      End     = End of Line       Scroll Lock = No Auto Reform
  1400.  
  1401.      --------Block Controls----- ---------Edit Commands--------
  1402.      F4  = Form Paragraph        F2 or Esc = Done
  1403.      F5  = Mark Block Beginning  F3        = Erase File
  1404.      F6  = Mark Block End        Ins       = Toggle Insert Mode
  1405.  
  1406.                              - 37 -
  1407.      F7  = Move Block            Del       = Delete Char
  1408.      F8  = Copy Block            <--       = Rubout
  1409.      F9  = Delete Block          Ctrl-D    = Delete Word
  1410.      F10 = Unmark Block          Alt-D     = Delete Line
  1411.      <end>
  1412.  
  1413.  
  1414.  
  1415.                   öπ¡¬µ¿¿ »«ñ߬Ậ¿
  1416.      -----------------------------------------------------------------
  1417.  
  1418.           ä½∩  óóÑñÑ¡¿∩  ¬«¡ΓѬßΓ¡«-π»αáó½∩Ѽδσ  «¬«¡ »«ñ߬Ậ¿ ó óáΦ¿
  1419.      »α«úαá¼¼δ ¡Ñ«íσ«ñ¿¼« ¬  ¡¿¼ ñ«íáó¿Γ∞ ñóá  ó맮óá Σπ¡¬µ¿⌐, ¬«Γ«αδÑ
  1420.      ¡áσ«ñ∩Γß∩  ó  ¿ßσ«ñ¡«¼  Σá⌐½Ñ  thelp.c,   »αÑñßΓáó½Ñ¡¡«¼  ¡¿ªÑ  ó
  1421.      ½¿ßΓ¿¡úÑ 7.2.
  1422.  
  1423.  
  1424.      void load_help(char *filename)
  1425.  
  1426.           é맮ó¿ΓÑ φΓπ   Σπ¡¬µ¿ε  ñ½∩  ºáúαπº¬¿  Σá⌐½á  »«ñ߬Ậ¿  ¿½¿
  1427.      »ÑαÑσ«ñá  ¬  ñαπú«¼π  Σá⌐½π  »«ñ߬Ậ¿.  öπ¡¬µ¿∩  «Γ¬αδóáÑΓ  Σá⌐½
  1428.      »«ñ߬Ậ¿ ¿ á¡á½¿º¿απÑΓ ó ¡Ñ¼ ß««íΘÑ¡¿∩ »«ñ߬Ậ¿,  ßΓα«∩ Γáí½¿µπ
  1429.      ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó «¬«¡ »«ñ߬Ậ¿,  ¿σ  αẼÑα«ó  ¿  αáß»«½«ªÑ¡¿⌐  ó
  1430.      Σá⌐½Ñ »«ñ߬Ậ¿.
  1431.  
  1432.  
  1433.      void set_help(char *helpname, int x, int y)
  1434.  
  1435.           ¥Γá Σπ¡¬µ¿∩ ºáñáÑΓ ΓѬπΘÑÑ «¬¡« »«ñ߬Ậ¿ ß ó«ß∞¼¿ß¿¼ó«½∞¡δ¼
  1436.      ¼áßß¿ó«¼,  ß««ΓóÑΓßΓóπεΘ¿¼  ¡á¿¼Ñ¡«óá¡¿ε «¬¡á ó  Σá⌐½Ñ »«ñ߬Ậ¿.
  1437.      ìῼѡ«óá¡¿Ñ  «¬απªáÑΓß∩  ó  Σá⌐½Ñ  »«ñ߬Ậ¿  πú½«ó묨 ß¬«í¬á¼¿,
  1438.      »α¿τѼ ¡Ñ ó¬½ετáÑΓ ó  ßÑí∩ φΓ¿ ß¬«í¬¿.  ûѽδÑ τ¿ß½á σ ¿  y ºáñáεΓ
  1439.      ¬««αñ¿¡áΓδ  óÑασ¡Ñú«  ½Ñó«ú«  πú½á  (ó  ß¿¼ó«½∞¡δσ »«º¿µ¿∩σ) «¬¡á
  1440.      »«ñ߬Ậ¿,  τΓ« »«ºó«½∩ÑΓ »«½∞º«óáΓѽ∩¼ ¿ß»«½∞º«óáΓ∞ «ñ¡« ¿ Γ« ªÑ
  1441.      «¬¡« ó αẽ¿τ¡δ󠬫¡ΓѬßΓáσ, ¡« ó αẽ¿τ¡δσ ½¿ßΓáσ φ¬αá¡á.
  1442.  
  1443.  
  1444.  
  1445.                              - 38 -
  1446.                êº¼Ñ¡Ñ¡¿Ñ Σπ¡¬µ¿«¡á½∞¡«⌐ ¬½áó¿Φ¿ »«ñ߬Ậ¿
  1447.      -----------------------------------------------------------------
  1448.  
  1449.           àß½¿ óá¼  ¡πª¡«  ºáñáΓ∞  º¡áτÑ¡¿Ñ  Σπ¡¬µ¿«¡á½∞¡«⌐   ¬½áó¿Φ¿,
  1450.      «Γ½¿τ¡«⌐  «Γ  <F1>  (»«  π¼«½τá¡¿ε),  óδ ñ«½ª¡δ ¿º¼Ñ¡¿Γ∞ º¡áτÑ¡¿Ñ
  1451.      ú½«íá½∞¡«⌐  µÑ½«τ¿ß½Ñ¡¡«⌐  »ÑαѼѡ¡«⌐  helpkey.  ¥Γá   »ÑαѼѡ¡á∩
  1452.      «íΩ∩ó½Ñ¡á  ó ibmpc.c ó â½áóÑ 4.  éδ ¼«ªÑΓÑ ó¬½ετ¿Γ∞ ¿ßσ«ñ¡δ⌐ Σá⌐½
  1453.      keys.h (ß¼.  â½áóπ 4) ó óáΦπ »α«úαá¼¼π  ¿  ¿ß»«½∞º«óáΓ∞  «ñ¡«  ¿º
  1454.      «»αÑñѽѡ¡δσ  ó  φΓ«¼  Σá⌐½Ñ º¡áτÑ¡¿⌐ ¬½áó¿Φ.  æ½ÑñπεΘ¿⌐ Σαáú¼Ñ¡Γ
  1455.      ¿º¼Ñ¡∩ÑΓ Σπ¡¬µ¿«¡á½∞¡πε ¬½áó¿Φπ »«ñ߬Ậ¿ ¡á <F2>.
  1456.  
  1457.      #include "keys.h"
  1458.      extern int helpkey;
  1459.      helpkey = F2;
  1460.  
  1461.  
  1462.                   êº¼Ñ¡Ñ¡¿Ñ Σπ¡¬µ¿¿ »«ñ߬Ậ¿
  1463.      -----------------------------------------------------------------
  1464.  
  1465.           öá⌐½  ß ¿¼Ñ¡Ñ¼  ibmpc.c   ó  â½áóÑ  4  ó¬½ετáÑΓ π¬áºáΓѽ∞ ¡á
  1466.      Σπ¡¬µ¿ε  ß  ¿¼Ñ¡Ñ¼  helpfunc.   Äíδτ¡«  φëà π¬áºáΓѽ∞  ß«ñÑনΓ
  1467.      º¡áτÑ¡¿Ñ NULL.  è«úñá  ¿ß»«½∞ºπεΓß∩  Σπ¡¬µ¿¿ »«ñ߬Ậ¿, π¬áºáΓѽ∞
  1468.      ¿¡¿µ¿á½¿º¿απÑΓß∩ áñαÑß«¼ Σπ¡¬µ¿¿ ß ¿¼Ñ¡Ñ¼  help.  àß½¿  óá¼ ¡πª¡«
  1469.      ¿ß»«½∞º«óáΓ∞ ñαπúπε  Σπ¡¬µ¿ε,  ß¬áªÑ¼, ó¼ÑßΓ« ßΓá¡ñáαΓ¡«⌐ Σπ¡¬µ¿¿
  1470.      help,   óδ  ¼«ªÑΓÑ  ¿º¼Ñ¡¿Γ∞  º¡áτÑ¡¿Ñ  π¬áºáΓѽ∩  helpfunc.  ä½∩
  1471.      »α¿¼Ñ¡Ñ¡¿∩  Σπ¡¬µ¿«¡á½∞¡«⌐  ¬½áó¿Φ¿  »«ñ߬Ậ¿  ñ½∩  ó맮óá óáΦÑ⌐
  1472.      Σπ¡¬µ¿¿ ¿ß»«½∞ºπ⌐ΓÑ ß½ÑñπεΘ¿Ñ «»ÑαáΓ«αδ:
  1473.  
  1474.      extern void (*helpfunc)();
  1475.      void yourfunc();
  1476.      helpfunc = yourfunc;
  1477.  
  1478.  
  1479.           éδ ¼«ªÑΓÑ  óÑα¡πΓ∞ß∩  ¬  π¬áºá¡¿ε  helpfunc  ¡á  ßΓá¡ñáαΓ¡πε
  1480.      Σπ¡¬µ¿ε »«ñ߬Ậ¿ ß »«¼«Θ∞ε ß½ÑñπεΘ¿σ «»ÑαáΓ«α«ó:
  1481.  
  1482.      extern void (*helpfunc)();
  1483.  
  1484.                              - 39 -
  1485.      extern void help();
  1486.      helpfunc = help;
  1487.  
  1488.  
  1489.                  é䬽ετÑ¡¿Ñ »«ñ߬Ậ¿
  1490.      -----------------------------------------------------------------
  1491.  
  1492.           ê¼ÑεΓß∩ Γα¿   »πΓ¿   ñ½∩  ó䬽ετÑ¡¿∩  »«ñ߬Ậ¿:  óδ  ¼«ªÑΓÑ
  1493.      πßΓá¡«ó¿Γ∞ º¡áτÑ¡¿Ñ Σπ¡¬µ¿«¡á½∞¡«⌐ ¬½áó¿Φ¿  »«ñ߬Ậ¿  αáó¡δ¼  0;
  1494.      ¼«ª¡«  πßΓá¡«ó¿Γ∞ π¬áºáΓѽ∞ Σπ¡¬µ¿¿ »«ñ߬Ậ¿ αáó¡δ¼ NULL;  ¼«ª¡«
  1495.      óδºóáΓ∞ set_help,  »ÑαÑñáóá∩ π¬áºáΓѽ∞ ¡á ßΓα«¬π  ¡π½Ñó«⌐  ñ½¿¡δ.
  1496.      ä½∩ ó¬½ετÑ¡¿∩ »«ñ߬Ậ¿ ¡Ñ«íσ«ñ¿¼« «Γ¼Ñ¡¿Γ∞ óδíαá¡¡«Ñ ñÑ⌐ßΓó¿Ñ.
  1497.  
  1498.  
  1499.                  êßσ«ñ¡δ⌐ ½¿ßΓ¿¡ú: thelp.c
  1500.      -----------------------------------------------------------------
  1501.  
  1502.           ÆÑ»Ñα∞ »ÑαÑ⌐ñѼ  ¬ ½¿ßΓ¿¡úπ 7.2 thelp.c.  ¥Γ«Γ Σá⌐½ ∩ó½∩ÑΓß∩
  1503.      ¿ßσ«ñ¡δ¼ ΓѬßΓ«¼ Σπ¡¬µ¿⌐,  »«ññÑনóáεΘ¿σ  ¬«¡ΓѬßΓ¡«-π»αáó½∩ѼδÑ
  1504.      «¬¡á »«ñ߬Ậ¿.
  1505.  
  1506.  
  1507.  
  1508.      ï¿ßΓ¿¡ú 7.2: thelp.c
  1509.  
  1510.      /*---------------------thelp.c------------------*/
  1511.  
  1512.      #include <stdio.h>
  1513.      #include <string.h>
  1514.      #include <stdlib.h>
  1515.      #include "twindow.h"
  1516.      #include "keys.h"
  1517.  
  1518.      #define MAXHELPS 25
  1519.      #define HBG WHITE
  1520.      #define HFG BLACK
  1521.      #define HINT DIM
  1522.  
  1523.                              - 40 -
  1524.  
  1525.      #define TRUE 1
  1526.      #define FALSE 0
  1527.  
  1528.      static struct helps {
  1529.          char hname [9];
  1530.          int h, w;
  1531.          long hptr;
  1532.      } hps [MAXHELPS+1];
  1533.  
  1534.      static int hp = 0;
  1535.      static int ch = 0;
  1536.      static int hx, hy;
  1537.      FILE *helpfp = NULL;
  1538.      long ftell();
  1539.      char *fgets();
  1540.      void help();
  1541.      char helpname[64];
  1542.      void getline(char *lineh);
  1543.  
  1544.      /*--------------ºáúαπªáÑΓ Σá⌐½ «»αÑñѽѡ¿∩ HELP!-------------*/
  1545.      void load_help(char *hn)
  1546.      {
  1547.          extern void (*helpfunc)();
  1548.          extern int helpkey;
  1549.          char lineh [80];
  1550.  
  1551.          if (strcmp(helpname, hn) == 0)
  1552.              return;
  1553.          helpfunc = help;
  1554.          helpkey = F1;
  1555.          hp = 0;
  1556.          strcpy(helpname, hn);
  1557.          if ((helpfp = fopen(helpname, "r")) == NULL)
  1558.              return;
  1559.          getline(lineh);
  1560.          while (1)   {
  1561.  
  1562.                              - 41 -
  1563.              if (hp == MAXHELPS)
  1564.                  break;
  1565.              if (strncmp(lineh, "<end>", 5) == 0)
  1566.                  break;
  1567.              if (*lineh != '<')
  1568.                  continue;
  1569.              hps[hp].h = 3;
  1570.              hps[hp].w =18;
  1571.              strncpy(hps[hp].hname, lineh+1, 8);
  1572.              hps[hp].hptr = ftell(helpfp);
  1573.              getline(lineh);
  1574.              while (*lineh != '<')   {
  1575.                  hps[hp].h++;
  1576.                  hps[hp].w = max(hps[hp].w, strlen(lineh)+2);
  1577.                  getline(lineh);
  1578.              }
  1579.              hp++;
  1580.          }
  1581.      }
  1582.  
  1583.      /*--------»«½πτáÑΓ ßΓ᫬π ΓѬßΓá ¿º Σá⌐½á »«ñ߬Ậ¿---------*/
  1584.      static void getline(char *lineh)
  1585.      {
  1586.          if (fgets(lineh, 80, helpfp) == NULL)
  1587.              strcpy(lineh, "<end>");
  1588.      }
  1589.      /*-----πßΓá¡áó½¿óáÑΓ ΓѬπΘ¿⌐ á¬Γ¿ó¡δ⌐ φ¬αá¡ »«ñ߬Ậ¿--------*/
  1590.      void set_help(char *s, int x, int y)
  1591.      {
  1592.          for (ch = 0; ch < hp; ch++)
  1593.              if (strncmp(s, hps[ch].hname, 8) == 0)
  1594.                  break;
  1595.          hx = x;
  1596.          hy = y;
  1597.      }
  1598.      /*-------------óδñáÑΓ ΓѬπΘÑÑ «¬¡« »«ñ߬Ậ¿-----------------*/
  1599.      void help()
  1600.  
  1601.                              - 42 -
  1602.      {
  1603.          char ln [80];
  1604.          int i, xx, yy;
  1605.          WINDOW *wnd;
  1606.          extern int helpkey;
  1607.          if (hp && ch != hp) {
  1608.              curr_cursor(&xx, &yy);
  1609.              cursor(0, 25);
  1610.              wnd = establish_window(hx, hy, hps[ch].h, hps[ch].w);
  1611.              set_colors(wnd, ALL, HBG, HFG, HINT);
  1612.              display_window(wnd);
  1613.              fseek(helpfp, hps[ch].hptr, 0);
  1614.              for (i = 0; i < hps[ch].h-3; i++)   {
  1615.                  getline(ln);
  1616.                  wprintf(wnd, ln);
  1617.              }
  1618.              wprintf(wnd, "[Help] to return");
  1619.              while (get_char() != helpkey)
  1620.                  putchar(BELL);
  1621.              delete_window(wnd);
  1622.              cursor(xx, yy);
  1623.          }
  1624.      }
  1625.  
  1626.  
  1627.                  Ä»¿ßá¡¿Ñ »α«úαá¼¼δ: thelp.c
  1628.      -----------------------------------------------------------------
  1629.  
  1630.           Åα«úαá¼¼á thelp.c    ß«ñÑαª¿Γ    τÑΓδαÑ    ¿¼Ñ¡¿    #define,
  1631.      πßΓá¡áó½¿óáεΘ¿σ ú½«íá½∞¡δÑ »áαá¼ÑΓαδ ß¿ßΓÑ¼δ  »«ñ߬Ậ¿. MAXHELPS
  1632.      »«½πτáÑΓ   º¡áτÑ¡¿Ñ   ¼á¬ß¿¼á½∞¡«ú«  ¬«½¿τÑßΓóá  «¬«¡  »«ñ߬Ậ¿,
  1633.      ¬«Γ«α«Ñ »α«úαἼᠼ«ªÑΓ »«ññÑনóáΓ∞  «ñ¡«óαѼѡ¡«.  HBG,  HFG  ¿
  1634.      HINT  ∩ó½∩εΓß∩  µóÑΓἿ  Σ«¡á,  »ÑαÑñ¡Ñú«  »½á¡á  ¿ ∩ᬫßΓ∞ε «¬«¡
  1635.      »«ñ߬Ậ¿.
  1636.  
  1637.           æΓαπ¬Γπαá helps  «»¿ßδóáÑΓ  «¬¡«  »«ñ߬Ậ¿.  Ä¡á   ß«ñÑনΓ
  1638.      ¼¡Ñ¼«¡¿τÑ߬«Ñ ¿¼∩ «¬¡á,  Ñú« óδß«Γπ ¿ Φ¿α¿¡π,  á ΓᬪѠ߿¼ó«½∞¡«Ñ
  1639.  
  1640.                              - 43 -
  1641.      ß¼ÑΘÑ¡¿Ñ  «»¿ßá¡¿∩  «¬¡á  ó  ΓѬßΓ«ó«¼  Σá⌐½Ñ,  ó¬½ετáεΘѼ   «¬¡á
  1642.      »«ñ߬Ậ¿.  îáßß¿ó  hps  ßΓαπ¬Γπα helps ß«ñÑαª¿Γ «ñ¿¡ φ½Ñ¼Ñ¡Γ ñ½∩
  1643.      ¬áªñ«ú« «¬¡á ó ΓѬßΓ«ó«¼ Σá⌐½Ñ  ¿  ßΓα«¿Γß∩  Σπ¡¬µ¿Ñ⌐  load_help.
  1644.      öπ¡¬µ¿∩  load_help τ¿ΓáÑΓ ΓѬßΓ«óδ⌐ Σá⌐½ »«ñ߬Ậ¿,  ºáñá¡¡δ⌐ »α¿
  1645.      ó맮óÑ,  ¿ ßΓα«¿Γ ¼áßß¿ó  hps.  Ä¡á  αáß»«º¡áÑΓ  πú½«óπε  ß¬«í¬π,
  1646.      ¿ñÑ¡Γ¿Σ¿µ¿απεΘπε  ¬áªñ«Ñ  ¿¼∩  «¬¡á,  ¬«»¿απ∩  ¿¼∩  ¿  ß¿¼ó«½∞¡«Ñ
  1647.      ß¼ÑΘÑ¡¿Ñ ó Σá⌐½Ñ ó ßΓαπ¬Γπαπ.  çáΓѼ «¡á τ¿ΓáÑΓ  ΓѬßΓ  «¬¡á  ñ½∩
  1648.      «»αÑñѽѡ¿∩   ñ½¿¡δ   ¿   Φ¿α¿¡δ  «¬¡á.  ä½¿¡á  ∩½∩ÑΓß∩  Σπ¡¬µ¿Ñ⌐
  1649.      ¬«½¿τÑßΓóá ßΓ᫬ ΓѬßΓá, á Φ¿α¿¡á ∩ó½∩ÑΓß∩ Σπ¡¬µ¿Ñ⌐ αẼÑαá ßἫ⌐
  1650.      ñ½¿¡¡«⌐ ßΓ᫬¿ ΓѬßΓá «¬¡á.
  1651.  
  1652.           öπ¡¬µ¿∩  set_help  »α«ß¼áΓα¿óáÑΓ  ¼áßß¿ó  ñ½∩  »«¿ß¬á «¬¡á ß
  1653.      ¿¼Ñ¡Ñ¼, ºáñá¡¡δ¼ »α¿ ó맮óÑ. ûѽ«τ¿ß½Ñ¡¡á∩ »ÑαѼѡ¡á∩ ch, ¬«Γ«αá∩
  1654.      ¿ß»«½∞ºπÑΓß∩ ñ½∩ ¿¡ñѬßᵿ¿ ó ¼áßß¿óÑ »α¿ »«¿ß¬Ñ, íπñÑΓ ß«ñÑαªáΓ∞
  1655.      ¿¡ñѬߠ  ΓѬπΘÑú«  «¬¡á   »α¿   ¡áªáΓ¿¿   Σπ¡¬µ¿«¡á½∞¡«⌐  ¬½áó¿Φ¿
  1656.      »«ñ߬Ậ¿. ÅÑαѼѡ¡δÑ  hx ¿ hy  »«½πτáεΓ º¡áτÑ¡¿∩ »α¿ ó맮óÑ. ¥Γá
  1657.      »α«µÑñπαá πßΓá¡áó½¿óáÑΓ »«º¿µ¿ε «¬¡á.
  1658.  
  1659.           öπ¡¬µ¿∩ help  óδºδóáÑΓß∩  Σπ¡¬µ¿Ñ⌐  get_char  ¿º ibmpc.c »α¿
  1660.      ¡áªáΓ¿¿  ºáñá¡¡«⌐ Σπ¡¬µ¿«¡á½∞¡«⌐ ¬½áó¿Φ¿ »«ñ߬Ậ¿.  öπ¡¬µ¿∩ help
  1661.      ß«σαá¡∩ÑΓ  ΓѬπΘπε »«º¿µ¿ε ¬παß«αá  ¿  πí¿αáÑΓ  ¬παß«α  ß φ¬αá¡á.
  1662.      æ«ºñáÑΓß∩ «¬¡« »«ñ߬Ậ¿ ß ¬««αñ¿¡áΓἿ ¿ αẼÑαἿ, ºá»¿ßá¡¡δ¼¿
  1663.      ó φ½Ñ¼Ñ¡ΓÑ  ¼áßß¿óá ß ¿¡ñѬ߫¼  ch.  ÆÑ¬πΘá∩ ß¿¼ó«½∞¡á∩ »«º¿µ¿∩ ó
  1664.      ΓѬßΓ«ó«¼  Σá⌐½Ñ  »ÑαѼÑΘáÑΓß∩  ¬  ¼ÑßΓπ,  π¬áºá¡¡«¼π  ó φ½Ñ¼Ñ¡ΓÑ
  1665.      ¼áßß¿óá.  èáªñá∩ ßΓ᫬á ΓѬßΓá τ¿ΓáÑΓß∩ ¿º Σá⌐½á ¿ ºá»¿ßδóáÑΓß∩ ó
  1666.      «¬¡«.  ä«»¿ßδóáÑΓß∩ »«ß½Ññ¡∩∩ ßΓ᫬á,  ß««íΘáεΘá∩  »«½∞º«óáΓÑ½ε «
  1667.      ¡Ñ«íσ«ñ¿¼«ßΓ¿ »«óΓ«α¡«ú«  ¡áªáΓ¿∩ ¬½áó¿Φ¿  »«ñ߬Ậ¿  ñ½∩ «τ¿ßΓ¬¿
  1668.      «¬¡á  »«ñ߬Ậ¿ ¿  ó«ºóαáΓá.  Åα«úαἼᠠ«ª¿ñáÑΓ  ¡áªáΓ¿∩ ¬½áó¿Φ¿
  1669.      »«ñ߬Ậ¿,  π¡¿τΓ«ªáÑΓ «¬¡« ¿ ó«ßßΓá¡áó½¿óáÑΓ ¬παß«α  ¡á φ¬αá¡Ñ ó
  1670.      »αѪ¡Ñ¼ »«½«ªÑ¡¿¿.
  1671.  
  1672.  
  1673.               Åα¿¼Ñα ¬«¡ΓѬßΓ¡«-π»αáó½∩Ѽ«⌐ »«ñ߬Ậ¿
  1674.      -----------------------------------------------------------------
  1675.  
  1676.           Åα«úαá¼¼δ  ¡á  ½¿ßΓ¿¡úáσ 7.3,  7.4 ¿ 7.5 »αÑñßΓáó½∩εΓ »α¿¼Ñα
  1677.      ¿ß»«½∞º«óá¡¿∩ »α«úαá¼¼¡«ú«  «íÑß»ÑτÑ¡¿∩  »«ñ߬Ậ¿.  ï¿ßΓ¿¡ú 7.3,
  1678.  
  1679.                              - 44 -
  1680.      sayings.c,  ß«ñÑαª¿Γ ú½áó¡πε Σπ¡¬µ¿ε, óδºδóáεΘπε Σπ¡¬µ¿ε »α¿¼Ñαá,
  1681.      maxims.c,   »«¬áºá¡¡πε  ó  ½¿ßΓ¿¡úÑ  7.4.  ï¿ßΓ¿¡ú  7.5  ∩ó½∩ÑΓß∩
  1682.      »α«Ñ¬Γ¡δ¼ make-Σá⌐½«¼, ¿ß»«½∞ºπÑ¼δ¼ Æπαí« æ¿ ñ½∩ »«ßΓα«Ñ¡¿∩ φΓ«ú«
  1683.      »α¿¼Ñαá.
  1684.  
  1685.           ä½∩ ºá»π߬ᠻα«úαá¼¼δ óó«ñ¿ΓÑ ß½ÑñπεΘπε ¬«¼á¡ñπ:
  1686.  
  1687.      c>sayings
  1688.  
  1689.           Åα«úαἼᠠsayings.c  ºáúαπªáÑΓ  Σá⌐½  teprogs.hlp ß »«¼«Θ∞ε
  1690.      ó맮óá  load_help  ¿  óδºδóáÑΓ  Σπ¡¬µ¿ε  ß  ¿¼Ñ¡Ñ¼  maxims. Æá¬á∩
  1691.      »«ß½Ññ«óáΓѽ∞¡«ßΓ∞  íδ½á  óδíαá¡á ñ½∩ Γ«ú«,  τΓ«íδ maxims.c ¼«ú½á
  1692.      íδΓ∞ óßΓα«Ñ¡á ó »«ß½ÑñπεΘ¿Ñ »α«úαá¼¼δ,  »αÑñπß¼áΓα¿óáεΘ¿Ñ »α¿¼Ñαδ
  1693.      «íαáí«Γ¬¿  ¼Ñ¡ε  ¿   αѺ¿ñÑ¡Γ¡δσ   ó   »á¼∩Γ¿   πΓ¿½¿Γ.  Maxims.c
  1694.      »«¬áºδóáÑΓ,   ¬á¬  ¿ß»«½∞º«óáΓ∞  set_help  ¿  get_char   ó  óáΦ¿σ
  1695.      »α«úαá¼¼áσ.  êß»«½∞ºπÑΓß∩ Γ«½∞¬«  «ñ¡«  «¬¡«  »«ñ߬Ậ¿. Maxims.c
  1696.      «Γ¬αδóáÑΓ «¬¡« ¿ «ª¿ñáÑΓ ¡áªáΓ¿∩ ¬½áó¿Φ¿.  àß½¿ óδ ¡áª¿¼áÑΓÑ 1, 2
  1697.      ¿½¿ 3,  ó «¬¡Ñ  »«¬áºδóáÑΓß∩  «ñ¡á  ¿º  ΓαÑσ  ßΓáαδσ »«ß½«ó¿µ. ìá
  1698.      α¿ßπ¡¬Ñ 7.3  ¿º«íαáªÑ¡« «¬¡« ß «ñ¡«⌐ ¿º Γᬿσ  óδñá¡¡δσ »«ß½«ó¿µ.
  1699.      àß½¿ óδ ¡áª¼ÑΓÑ <è½ετ>,  »α«úαἼᠺáóÑαΦ¿Γß∩.  àß½¿ íπñÑΓ ¡áªáΓá
  1700.      <F1>, óδñáÑΓß∩ «¬¡« »«ñ߬Ậ¿, ¬á¬ »«¬áºá¡« ¡á α¿ßπ¡¬Ñ 7.4.
  1701.  
  1702.      ┌───────────────────────────────────────────────────────────────┐
  1703.      │                                                               │
  1704.      │  C>                                                           │
  1705.      │                                                               │
  1706.      │                                                               │
  1707.      │                                                               │
  1708.      │                                                               │
  1709.      │ ┌────────────────Press F1 for help────────────────┐           │
  1710.      │ │ A rolling stone gathers no moss                 │           │
  1711.      │ └─────────────────────────────────────────────────┘           │
  1712.      │                                                               │
  1713.      │                                                               │
  1714.      │                                                               │
  1715.      │                                                               │
  1716.      │                                                               │
  1717.  
  1718.                              - 45 -
  1719.      │                                                               │
  1720.      └───────────────────────────────────────────────────────────────┘
  1721.  
  1722.                      É¿ß. 7.3. éδñá¡¡á∩ »«ß½«ó¿µá
  1723.  
  1724.  
  1725.      ┌───────────────────────────────────────────────────────────────┐
  1726.      │                                                               │
  1727.      │  C>                                                           │
  1728.      │                                                               │
  1729.      │                                                               │
  1730.      │                                                               │
  1731.      │                                                               │
  1732.      │ ┌────────────────Press F1 for help────────┬──────────────────┐│
  1733.      │ │ A rolling stone gathers no moss         │Press 1, 2 or 3   ││
  1734.      │ └─────────────────────────────────────────┤for a pithy maxim.││
  1735.      │                                           │[Help] to return  ││
  1736.      │                                           └──────────────────┘│
  1737.      │                                                               │
  1738.      │                                                               │
  1739.      │                                                               │
  1740.      │                                                               │
  1741.      │                                                               │
  1742.      │                                                               │
  1743.      └───────────────────────────────────────────────────────────────┘
  1744.  
  1745.              É¿ß. 7.4. Å«ñ߬Ậá ñ½∩ »«ß½«ó¿µ
  1746.  
  1747.  
  1748.      ï¿ßΓ¿¡ú 7.3: sayings.c
  1749.  
  1750.      /*--------------sayings.c--------------*/
  1751.  
  1752.      #include "twindow.h"
  1753.      void maxims(void);
  1754.  
  1755.      main()
  1756.  
  1757.                              - 46 -
  1758.      {
  1759.         load_help("tcprogs.hlp");
  1760.         maxims();
  1761.      }
  1762.  
  1763.  
  1764.      ï¿ßΓ¿¡ú 7.4: maxims.c
  1765.  
  1766.      /*--------------------maxims.c-----------------*/
  1767.  
  1768.      #include "twindow.h"
  1769.      #include "keys.h"
  1770.  
  1771.      void maxims()
  1772.      {
  1773.         int c;
  1774.         WINDOW *wnd;
  1775.  
  1776.         set_help("maxims ", 50, 10);
  1777.         wnd = establish_window(5, 10, 3, 50);
  1778.         set_title(wnd, "Press F1 for help");
  1779.         set_colors(wnd, ALL, RED, WHITE, DIM);
  1780.         display_window(wnd);
  1781.         while ((c = get_char()) != ESC) {
  1782.             switch (c)      {
  1783.                 case '1':
  1784.                     wprintf(wnd, "\nA stitch in time \
  1785.      saves nine   ");
  1786.                     break;
  1787.                 case '2':
  1788.                     wprintf(wnd, "\nA rolling stone \
  1789.      gathers no moss");
  1790.                     break;
  1791.                 case '3':
  1792.                     wprintf(wnd, "\nA penny saved \
  1793.      is a penny earned");
  1794.                     break;
  1795.  
  1796.                              - 47 -
  1797.                 default:
  1798.                     break;
  1799.             }
  1800.         }
  1801.         delete_window(wnd);
  1802.      }
  1803.  
  1804.  
  1805.  
  1806.  
  1807.      ï¿ßΓ¿¡ú 7.5: sayings.prj
  1808.  
  1809.      saying
  1810.      maxims (twindow.h, keys.h)
  1811.      thelp (twindow.h, keys.h)
  1812.      twindow (twindow.h, keys.h)
  1813.      ibmpc.obj
  1814.  
  1815.  
  1816.                             ÉѺε¼Ñ
  1817.      -----------------------------------------------------------------
  1818.  
  1819.           éáΦ¿ «¬«¡¡δÑ ßαÑñßΓóá ΓÑ»Ñα∞ ó¬½ετáεΓ ó«º¼«ª¡«ßΓ∞ ¬«¡ΓѬßΓ¡«
  1820.      -π»αáó½∩Ѽ«⌐  »«ñ߬Ậ¿.  æ½ÑñπεΘ¿Ñ ú½áóδ ß«ñÑαªáΓ ñ«»«½¡¿Γѽ∞¡δÑ
  1821.      ó«º¼«ª¡«ßΓ¿ «íαáí«Γ¬¿ «¬«¡ ¿  »α¿¼Ñαδ  ¿σ  ¿ß»«½∞º«óá¡¿∩.  èáªñδ⌐
  1822.      »α¿¼Ñα  ¿ß»«½∞ºπÑΓ «¬¡á ¬«¡ΓѬßΓ¡«-π»αáó½∩Ѽ«⌐ »«ñ߬Ậ¿, »«φΓ«¼π
  1823.      óáΦÑ »«¡¿¼á¡¿Ñ ßαÑñßΓó »«ñ߬Ậ¿ ó«ºαáßΓáÑΓ ß  ¬áªñ«⌐ ñ«íáó½Ñ¡¡«⌐
  1824.      ó«º¼«ª¡«ßΓ∞ε.   ¥Γ«   «íπτÑ¡¿Ñ   ¿¼ÑÑΓ   ßπΘÑßΓóÑ¡¡«Ñ   º¡áτÑ¡¿Ñ,
  1825.      »«ß¬«½∞¬π,   ¬á¬    »αá󿽫,    ñ¿á½«ú«óδÑ    »α«úαá¼¼δ    ñ«½ª¡δ
  1826.      »αÑñπß¼áΓα¿óáΓ∞  «»ÑαáΓ¿ó¡πε  »«ñß¬áº¬π  »«½∞º«óáΓѽε.  æ½ÑñπεΘÑÑ
  1827.      ñ«»«½¡Ñ¡¿Ñ  ¬   ¿ß»«½∞º«óá¡¿ε   «¬«¡   ó   ñ¿á½«ú«ó«⌐   »α«úαá¼¼Ñ
  1828.      »αÑñßΓáó½Ñ¡«  ó  â½áóÑ 8,  ¬«Γ«αá∩ «»¿ßδóáÑΓ ¿ß»«½∞º«óá¡¿Ñ «¬«¡ ó
  1829.      ¬áτÑßΓóÑ  Σ«α¼  ñ½∩  óó«ñá  ñá¡¡δσ.  â½áóá  8  ó¬½ετáÑΓ  Σπ¡¬µ¿¿,
  1830.      »«ºó«½∩εΘ¿Ñ  óá¼  «»¿ßδóáΓ∞  ß«ñÑন¼«Ñ  ¿  Σ«α¼áΓ  Φáí½«¡á óó«ñá
  1831.      ñá¡¡δσ,  ¿ «»¿ßδóáÑΓ »α«úαá¼¼¡«Ñ «íÑß»ÑτÑ¡¿Ñ ñ½∩ ßí«αá  φ½Ñ¼Ñ¡Γ«ó
  1832.      ñá¡¡δσ, óó«ñ¿¼δσ »«½∞º«óáΓѽѼ ó Σ«α¼π.
  1833.  
  1834.  
  1835.                              - 48 -
  1836.  
  1837.                                âïÇéÇ 8
  1838.                                -------
  1839.  
  1840.  
  1841.                       êc»«½∞º«óá¡¿Ñ ñá¡¡δσ ó «¬¡áσ
  1842.      -----------------------------------------------------------------
  1843.  
  1844.           ê¡ΓÑαá¬Γ¿ó¡δÑ »α«úαá¼¼δ   ¿¡ΓÑα»αÑΓ¿απεΓ   º¡áτÑ¡¿∩   ñá¡¡δσ
  1845.      ó¡πΓα¿ ¬«¼»∞εΓÑαá ó ß««ΓóÑΓßΓó¿¿ ß Γ¿»á¼¿  ñá¡¡δσ,  «»αÑñѽѡ¡δ¼¿
  1846.      »«½∞º«óáΓѽѼ.   ¥Γ¿  º¡áτÑ¡¿∩  ñá¡¡δσ  ¼«úπΓ  ¿¡ΓÑα»αÑΓ¿α«óáΓ∞ß∩
  1847.      »«-αạ«¼π,  »«φΓ«¼π »α«úαá¼¼δ ¼«úπΓ  ¿ß»«½∞º«óáΓ∞  αạ««íαạδÑ
  1848.      ΓÑσ¡¿τÑ߬¿Ñ  »α¿Ñ¼δ  ñ½∩  ¿¡ΓÑα»αÑΓᵿ¿ º¡áτÑ¡¿⌐ óó«ñ¿¼δσ ñá¡¡δσ.
  1849.      ìá»α¿¼Ñα,  ΓѬßΓ«óδ⌐ »α«µÑßß«α ¿¡ΓÑα»αÑΓ¿απÑΓ ñá¡¡δÑ, »«ßΓπ»áεΘ¿Ñ
  1850.      ¡á  Ñú«  óσ«ñ,  ¬á¬  ΓѬßΓ »α«¿ºó«½∞¡«⌐ Σ«α¼δ.  ¥½Ñ¬Γα«¡¡δ⌐ í½á¡¬
  1851.      ¿¡ΓÑα»αÑΓ¿απÑΓ ñá¡¡δÑ ó  ß««ΓóÑΓßΓó¿¿  ß  ß«ó«¬π»¡«ßΓ∞ε  Σ«α¼áΓ«ó
  1852.      ßΓ᫬¿  ¿  ßΓ«½íµá,  ó  ¬«Γ«α«⌐ ó ñá¡¡δ⌐ ¼«¼Ñ¡Γ ¡áσ«ñ¿Γß∩ ¬παß«α.
  1853.      Äñ¡á¬« «ñ¡¿ ¿ ΓÑ ªÑ ñá¡¡δÑ ¬áªñá∩ »α«úαá¼¼á "ó¿ñ¿Γ  ¿  τπóßΓóπÑΓ"
  1854.      »«-αạ«¼π.  Å«φΓ«¼π  ñáªÑ »αáó¿½∞¡«Ñ ¬«»¿α«óá¡¿Ñ óσ«ñ¡«ú« »«Γ«¬á
  1855.      «ñ¡«⌐ »α«úαá¼¼δ ¡á óσ«ñ ñαπú«⌐ ¼«ªÑΓ  »α¿óÑßΓ¿  ¬  ¼áßßÑ  ß»«α¡δσ
  1856.      αѺπ½∞ΓáΓ«ó, ¬«Γ«αδÑ ó φΓ«¼ ß½πτáÑ óδñáÑΓ óΓ«αá∩ »α«úαá¼¼á.
  1857.  
  1858.           î¡«ú¿Ñ ¿¡ΓÑαá¬Γ¿ó¡δÑ  »α«úαá¼¼δ ó«ß»α¿¡¿¼áεΓ º¡áτÑ¡¿∩ ñá¡¡δσ
  1859.      ¡Ñ»«ßαÑñßΓóÑ¡¡« ó Γ«⌐ Σ«α¼Ñ,  ó ¬«Γ«α«⌐ »«½∞º«óáΓѽ∞ «ßπΘÑßΓó½∩ÑΓ
  1860.      ¿σ Σ¿º¿τÑ߬¿⌐ óó«ñ  (¡á»α¿¼Ñα,  ñá¡¡δÑ ó »ÑτáΓ¡«⌐ Σ«α¼Ñ (í½á¡¬)).
  1861.      èáªñá∩, ßσ«ñ¡á∩   ß   »ÑτáΓ¡«⌐,   Σ«α¼á   »αÑñßΓáó½Ñ¡¿∩    ñá¡¡δσ
  1862.      «»αÑñѽ∩½áß∞ â«ßπñáαßΓóÑ¡¡«⌐     ¡á½«ú«ó«⌐     ß½πªí«⌐.    ö«α¼«-
  1863.      «α¿Ñ¡Γ¿α«óá¡¡δÑ ¿¡ΓÑαá¬Γ¿ó¡δÑ »α«úαá¼¼δ  ¿¡ΓÑα»αÑΓ¿απεΓ »α«úαá¼¼δ
  1864.      ¬á¬  ½¿ßΓ  íπ¼áú¿,  ß«ñÑαªáΘ¿⌐ »«½∩ ß« º¡áτÑ¡¿∩¼¿ ñá¡¡δσ ¿ ΓѬßΓ,
  1865.      «»¿ßδóáεΘ¿⌐ º¡áτÑ¡¿Ñ ¬áªñ«ú« »«½∩.  Å«ß½Ñ Γ«ú«,  ¬á¬ »«½∞º«óáΓѽ∞
  1866.      óóÑñÑΓ   º¡áτÑ¡¿Ñ   ñá¡¡«ú«   ó   ß««ΓóÑΓßΓóπεΘ¿Ñ  »«º¿µ¿¿  »«½∩,
  1867.      »α«úαá¼¼¡«Ñ «íÑß»ÑτÑ¡¿Ñ   »α«óÑα∩ÑΓ    ñ«»πßΓ¿¼«ßΓ∞    óóÑñÑ¡¡«ú«
  1868.      º¡áτÑ¡¿∩   ¿   ñá½∞¡Ñ⌐ΦÑÑ   π»αáó½Ñ¡¿Ñ  ¬παß«α«¼.  é  φΓ«⌐  ú½áóÑ
  1869.      Σ«α¼«-«α¿Ñ¡Γ¿α«óá¡¡δ⌐ óó«ñ  ñá¡¡δσ,  π¬áºá¡¿Ñ  ñ«ßΓπ»á  ¬  ¡¿¼  ¿
  1870.      ¬«¡Γα«½∞  «»Ñαᵿ⌐  ¡áñ  ¡¿¼¿ αÑ὿º«óá¡ »πΓѼ ¿ß»«½∞º«óá¡¿∩ «¬¡á
  1871.      ¬á¬ Φáí½«¡á ñ½∩ óó«ñá ñá¡¡δσ. ÿáí½«¡ óó«ñá ñá¡¡δσ ó¬½ετáÑΓ ó ßÑí∩
  1872.      «¬¡«  ó¼ÑßΓÑ  ß «»¿ß᡿Ѽ óó«ñ¿¼δσ ó ¬áªñ«Ñ »«½Ñ ñá¡¡δσ ¿ ¿¼Ñ¡á¼¿
  1873.  
  1874.                              - 49 -
  1875.      »«½Ñ⌐ óó«ñá ñá¡¡δσ.
  1876.  
  1877.  
  1878.  
  1879.                    ÿáí½«¡ óó«ñá ñá¡¡δσ
  1880.      -----------------------------------------------------------------
  1881.  
  1882.           ÅÑαÑñ óó«ñ«¼  ñá¡¡δσ  ó «¬¡« óδ ñ«½ª¡δ  »αѪñÑ óßÑú« «Γ¬αδΓ∞
  1883.      «¬¡«,  ºáñáΓ∞  áΓα¿íπΓδ  Φáí½«¡á  óó«ñá  ñá¡¡δσ,  ß««ΓóÑΓßΓóπεΘ¿Ñ
  1884.      «»¿ßá¡¿ε  ñá¡¡δσ  ó »α¿¬½áñ¡«⌐  »α«úαá¼¼Ñ,  «íαáíáΓδóáεΘÑ⌐  ¿σ, á
  1885.      ΓᬪѠ«»¿ßáΓ∞ αáß»«½«ªÑ¡¿Ñ  »«½Ñ⌐  óó«ñá  ñá¡¡δσ  ¿  »α¿ßó«¿Γ∞ ¿¼
  1886.      ¿¼Ñ¡á.  Å«ß½Ñ Γ«ú«,  ¬á¬ Φáí½«¡ ú«Γ«ó,  óδ ¼«ªÑΓÑ óδºóáΓ∞ Σπ¡¬µ¿ε
  1887.      óó«ñá  ñá¡¡δσ,   ¬«Γ«αá∩   «ßπΘÑßΓó¿Γ  π»αáó½Ñ¡¿Ñ   τΓÑ¡¿Ñ¼  óßÑσ
  1888.      φ½Ñ¼Ñ¡Γ«ó ñá¡¡δσ ß  Φáí½«¡á.  Å« ºáóÑαΦÑ¡¿ε αáí«Γδ Σπ¡¬µ¿¿, ¬«úñá
  1889.      óßÑ  º¡áτÑ¡¿∩  φ½Ñ¼Ñ¡Γ«ó  ñá¡¡δσ  αẼÑΘáεΓß∩  ó  π¬áºá¡¡«¼  óἿ
  1890.      íπΣÑαÑ,  »α«¿ºó«ñ¿Γß∩ »α«óÑα¬á ¡á ¿σ ñ«»πßΓ¿¼«ßΓ∞, »αÑ«íαẫóá¡¿Ñ
  1891.      »« π¬áºá¡¡δ¼ Σ«α¼áΓá¼ ¿ ßτ¿Γδóá¡¿Ñ ó ¡Ñ¬«Γ«α«⌐ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿
  1892.      ñ½∩ «íαáí«Γ¬¿ óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐.
  1893.  
  1894.  
  1895.  
  1896.                      Å«½Ñ óó«ñá ñá¡¡δσ
  1897.      -----------------------------------------------------------------
  1898.  
  1899.           Å«½Ñ óó«ñá ñá¡¡δσ,  »« ßπΓ¿ ñѽá, »αÑñßΓáó½∩ÑΓ ß«í«⌐ φ½Ñ¼Ñ¡Γ
  1900.      ñá¡¡δσ.  Ä¡«  ¼«ªÑΓ  íδΓ∞  ñáΓ«⌐,  αѺπ½∞ΓáΓ«¼  óδτ¿ß½Ñ¡¿∩  ßπ¼¼δ
  1901.      τÑú«-½¿í«, ¿¼Ñ¡Ñ¼ ¿½¿ óδτ¿ß½Ñ¡¡«⌐ ßαÑñ¡Ñ⌐ ºáαáí«Γ¡«⌐ »½áΓ«⌐. Å«½Ñ
  1902.      óó«ñá   ñá¡¡δσ   ¿¼ÑÑΓ   ß½ÑñπεΘ¿Ñ   σáαá¬ΓÑα¿ßΓ¿¬¿:   «¡«  ¿¼ÑÑΓ
  1903.      «»αÑñѽѡ¡πε ñ½¿¡π ¿ Σ«α¼áΓ  ¿ ñ«½ª¡« ºá¡¿¼áΓ∞ «ñ¡π  ßΓ᫬𠫬¡á.
  1904.      Å«½Ñ óó«ñá ñá¡¡δσ - Γαáñ¿µ¿«¡¡δ⌐ φ½Ñ¼Ñ¡Γ ß¿ßΓѼ π»αáó½Ñ¡¿∩ íáºá¼¿
  1905.      ñá¡¡δσ (æôüä).
  1906.  
  1907.           Å«ß½Ñ Γ«ú«,  ¬á¬  óδ  «»¿ß὿  »«½∩   Φáí½«¡á,   óδ   ñ«½ª¡δ
  1908.      ß»Ñµ¿Σ¿µ¿α«óáΓ∞  »«º¿µ¿ε  αẼÑΘÑ¡¿∩  »«½∩  ó Φáí½«¡Ñ,  áΓα¿íπΓδ,
  1909.      óδσ«ñ¡«⌐   íπΣÑα,   Σπ¡¬µ¿ε   »α«óÑન    ñ«»πßΓ¿¼«ßΓ¿    ñá¡¡δσ,
  1910.      help-¿¡Σ«α¼áµ¿ε  ¿  ¼á߬π  óó«ñ¿¼δσ ñá¡¡δσ ñ½∩ ¬áªñ«ú« »«½∩.  ¥Γ¿
  1911.      ¬«¼»«¡Ñ¡Γδ «»¿ßá¡¿∩ »«½Ñ⌐ αáßß¼áΓα¿óáεΓß∩ ¡¿ªÑ.
  1912.  
  1913.                              - 50 -
  1914.  
  1915.  
  1916.  
  1917.                                   Å«º¿µ¿∩
  1918.      ------------------------------------------------------------------
  1919.  
  1920.           Å«º¿µ¿∩ »«½∩ ºáñáÑΓß∩ óδαáªÑ¡¿Ñ¼, ß«ßΓ«∩Θ¿¼ ¿º ¡«¼Ñαá ßΓ᫬¿
  1921.      ¿ ßΓ«½íµá ß¿¼ó«½∞¡δσ  ¬««αñ¿¡áΓ,  ß««ΓóÑΓßΓóπεΘ¿σ  ¼ÑßΓ«»«½«ªÑ¡¿ε
  1922.      ΓѬßΓá  ó  Φáí½«¡Ñ  «¬¡á.  ÅαÑñ»«τΓ¿Γѽ∞¡ÑÑ  ºáñáóáΓ∞  ¬««αñ¿¡áΓδ
  1923.      »«º¿µ¿¿ »«½∩ «Γ¡«ß¿Γѽ∞¡« ¬««αñ¿¡áΓ «¬¡á,  á ¡Ñ φ¬αá¡á;  Ñß½¿  óδ
  1924.      óñαπú  αÑΦ¿ΓÑ ¿º¼Ñ¡¿Γ∞ ¬««αñ¿¡áΓδ αáß»«½«ªÑ¡¿∩ ßἫú« «¬¡á,  Γ« ó
  1925.      ß½πτáÑ «»¿ßá¡¿∩ »«º¿µ¿¿ »«½∩ ó ¬««αñ¿¡áΓá󠫬¡á  «»¿ßá¡¿Ñ »«º¿µ¿¿
  1926.      »«½∩ óá¼ ¿º¼Ñ¡∩Γ∞ ¡Ñ »α¿ñÑΓß∩.
  1927.  
  1928.  
  1929.  
  1930.                                    ÇΓα¿íπΓδ
  1931.      ------------------------------------------------------------------
  1932.  
  1933.           ÇΓα¿íπΓ »«½∩ »«ºó«½∩ÑΓ «»¿ßáΓ∞ óó«ñ¿¼δÑ ó  ¡Ñú«  ñá¡¡δÑ  ¬á¬
  1934.      ¿¼ÑεΘ¿Ñ  «ñ¿¡  ¿º ßπΘÑßΓóπεΘ¿σ Γ¿»«ó ñá¡¡δσ.  Æ¿» ñá¡¡δσ ºáñáÑΓß∩
  1935.      «Γñѽ∞¡«⌐ íπ¬ó«⌐ (¬«Γ«αδÑ αáßß¼«ΓαÑ¡δ ó ñá¡¡«⌐ ú½áóÑ). Äñ¡á¬« πªÑ
  1936.      ßÑ⌐τáß  óá¼ ¡Ñ«íσ«ñ¿¼« º¡áΓ∞,  τΓ« óδ ¼«ªÑΓѠ߻ѵ¿Σ¿µ¿α«óáΓ∞ »«½Ñ
  1937.      ¬á¬ »«½Ñ ñáΓδ,  ß»Ñµ¿Σ¿¬áµ¿¿,  ñѡѪ¡«⌐ Ññ¿¡¿µδ ¿½¿ ¬á¬ τ¿ß½«ó«Ñ.
  1938.      çáñá¡¿Ñ  áΓα¿íπΓá  »«½∩ »«ºó«½∩ÑΓ ¬«¡Γα«½¿α«óáΓ∞,  ¬á¬¿¼ ß»«ß«í«¼
  1939.      íπñπΓ ¿¡ΓÑα»αÑΓ¿α«óá¡δ º¡áτÑ¡¿∩ ñá¡¡δσ ó »«½Ñ.
  1940.  
  1941.  
  1942.  
  1943.                                      üπΣÑα
  1944.      -----------------------------------------------------------------
  1945.  
  1946.           ä½∩ ¬áªñ«ú« »«½∩ ¡áº¡áτáÑΓß∩  óδσ«ñ¡«⌐ íπΣÑα ñá¡¡δσ, ¬«Γ«αδ⌐
  1947.      ∩ó½∩ÑΓß∩ áñαÑß«¼ ß¿¼ó«½∞¡«ú« ¼áßß¿óá, ó ¬«Γ«α«¼ íπñÑΓ »α«¿ßσ«ñ¿Γ∞
  1948.      ¡á¬«»½Ñ¡¿Ñ ñá¡¡δσ.  éáΦá »α«úαἼᠠαѺÑαó¿απÑΓ  »á¼∩Γ∞  »«ñ φΓ«Γ
  1949.      íπΣÑα ¿ »ÑαÑñáÑΓ Ñú« áñαÑß ñá¡¡δ¼ ó¡πΓα¿ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
  1950.  
  1951.  
  1952.                              - 51 -
  1953.  
  1954.  
  1955.                         Åα«óÑα¬á ñ«»πßΓ¿¼«ßΓ¿ º¡áτÑ¡¿⌐
  1956.      -----------------------------------------------------------------
  1957.  
  1958.           éáΦá »α«úαἼᠠ  úÑ¡Ñα¿απÑΓ    áñαÑß    Σπ¡¬µ¿¿    »α«óÑન
  1959.      ñ«»πßΓ¿¼«ßΓ¿ óó«ñ¿¼δσ º¡áτÑ¡¿⌐ Γá¬,  ¬á¬ íπñΓ« ßá¼á  φΓá  Σπ¡¬µ¿∩
  1960.      ¿ß»«½∞ºπÑΓß∩. Åα«úαá¼¼¡«Ñ «íÑß»ÑτÑ¡¿Ñ óó«ñá ñá¡¡δσ íπñÑΓ óδºδóáΓ∞
  1961.      φΓπ Σπ¡¬µ¿ε óßÑúñá »«ß½Ñ  Γ«ú«,  ¬á¬  óδ  óóѽ¿  ñá¡¡«Ñ  ó  »«½Ñ.
  1962.      æ½ÑñπÑΓ  ºá¼ÑΓ¿Γ∞,  τΓ«  »α¿ óó«ñÑ ñá¡¡δσ »α«úαá¼¼¡«Ñ «íÑß»ÑτÑ¡¿Ñ
  1963.      ßἫ  «ßπΘÑßΓó½∩ÑΓ  áóΓ«¼áΓ¿τÑ߬πε  »α«óÑα¬π  ¡Ñ¬«Γ«αδσ  «ß¡«ó¡δσ
  1964.      «úαá¡¿τÑ¡¿⌐ ó ß««ΓóÑΓßΓó¿¿ ß áΓα¿íπΓἿ »«½∩,  «ñ¡á¬«,  ¿ß»«½∞ºπ∩
  1965.      ñ«»«½¡¿Γѽ∞¡δÑ  »«ñ»α«úαá¼¼δ   »α«óÑન   º¡áτÑ¡¿⌐,   óδ   ¼«ªÑΓÑ
  1966.      ßπΘÑßΓóÑ¡¡«  αáßΦ¿α¿Γ∞  ¿  πß½«ª¡¿Γ∞ »α«óÑα¬π ñá¡¡δσ »« αẽ¿τ¡δ¼
  1967.      ¬α¿ΓÑα¿∩¼.
  1968.  
  1969.  
  1970.  
  1971.                              Help-¿¡Σ«α¼áµ¿∩
  1972.      -----------------------------------------------------------------
  1973.  
  1974.           éδ ¼«ªÑΓѠ߻ѵ¿Σ¿µ¿α«óáΓ∞ óß»«¼«úáΓѽ∞¡«Ñ help-«¬¡« (¬«Γ«α«Ñ
  1975.      «»¿ßá¡« ó â½áóÑ 7)  ñ½∩ ¬áªñ«ú« »«½∩,  á  ΓᬪѠ help-Σπ¡¬µ¿ε ñ½∩
  1976.      ¬áªñ«ú« »«½∩,  ¬«Γ«αá∩ íπñÑΓ óá¼ óδñáóáΓ∞ ß»αáó«τ¡πε ¿¡Σ«α¼áµ¿ε «
  1977.      »αÑñ¡áº¡áτÑ¡¿¿  ¬áªñ«ú« »«½∩  ó  ß½πτáÑ,  Ñß½¿  »«ßΓ«∩¡¡δ⌐ ΓѬßΓ,
  1978.      «»¿ßδóáεΘ¿⌐ »«½Ñ ¿  «Γ«íαáªáѼδ⌐ ó «¬¡Ñ,  ¡Ñ πñ«ó½ÑΓó«α∩ÑΓ óáΦѼπ
  1979.      ½εí«»δΓßΓóπ.   Help-«¬¡«  »«½πτáÑΓ   ¿¡Σ«α¼áµ¿ε  ¿º  ß»Ñµ¿á½∞¡«ú«
  1980.      help-Σá⌐½á,  ó  ßó∩º¿ ß τѼ  ó¬½ετÑ¡¿Ñ  help-Σπ¡¬µ¿⌐  ó »α«úαá¼¼π
  1981.      «í∩ºáΓѽ∞¡«.  Åα¿  ªÑ½á¡¿¿  óδ  ¼«ªÑΓÑ  ¡Ñ  ß»Ñµ¿Σ¿µ¿α«óáΓ∞  ßó«¿
  1982.      help-Σπ¡¬µ¿¿,  á  ¿ß»«½∞º«óáΓ∞  ßΓá¡ñáαΓ¡δÑ  help-Σπ¡¬µ¿¿ »á¬ÑΓá,
  1983.      ¬«Γ«αδÑ  ¼«úπΓ  íδΓ∞  óδºóá¡δ  »«½∞º«óáΓѽѼ   »πΓѼ  ¡áªáΓ¿∩  ¡á
  1984.      ß««ΓóÑΓßΓóπεΘπε help-¬½áó¿Φπ.  æ½ÑñπÑΓ »«¼¡¿Γ∞, τΓ« ¿ß»«½∞º«óá¡¿Ñ
  1985.      ß««ΓóÑΓßΓóπεΘÑ⌐  help-߻ѵ¿Σ¿¬áµ¿¿  φΣΣÑ¬Γ¿ó¡«  ½¿Φ∞  ó  »α«µÑßßÑ
  1986.      óó«ñá   »«½∞º«óáΓѽѼ   ñá¡¡δσ   ó   »«½Ñ,   ñ½∩   ¬«Γ«α«ú«   φΓá
  1987.      help-¿¡Σ«α¼áµ¿∩ »αÑñ¡áº¡áτÑ¡á.
  1988.  
  1989.  
  1990.  
  1991.                              - 52 -
  1992.  
  1993.                            îá߬á óó«ñ¿¼δσ ñá¡¡δσ
  1994.      -----------------------------------------------------------------
  1995.  
  1996.           è«úñá óδ «»αÑñѽ∩ÑΓÑ »«½Ñ ñ½∩ óó«ñá ñá¡¡δσ, óδ ¼«ªÑΓÑ ºáñáΓ∞
  1997.      ¼á߬π  ñ½∩  óßÑσ  óó«ñ¿¼δσ   ó  φΓ«  »«½Ñ  º¡áτÑ¡¿⌐.   ¥Γá  ¼á߬á
  1998.      ß»Ñµ¿Σ¿µ¿απÑΓß∩ ó ¼áßß¿óÑ  ß¿¼ó«½«ó,  ó¬½ετáεΘѼ  ó  ßÑí∩ ß¿¼ó«½δ
  1999.      ¡¿ª¡Ñú« »«ñτÑનóá¡¿∩ ¿ »π¡¬Γπᵿ¿.  æ¿¼ó«½ ¡¿ª¡Ñú« »«ñτÑનóá¡¿∩
  2000.      ß««ΓóÑΓßΓóπÑΓ »«º¿µ¿¿ ¼á߬¿,  ó ¬«Γ«α«⌐ ó«º¼«ªÑ¡  óó«ñ  ñá¡¡δσ, á
  2001.      »π¡¬Γπᵿ∩ ß½πª¿Γ ñ½∩ «í«º¡áτÑ¡¿∩ ñαπú¿σ (αẽ¿τ¡δσ) «Γ«íαáªáѼδσ
  2002.      ß¿¼ó«½«ó   ¬«ñá  ASCII.   ä½¿¡á   φ½Ñ¼Ñ¡Γ«ó   ñá¡¡δσ  «»¿ßδóáÑΓß∩
  2003.      ¬«½¿τÑßΓó«¼  ß¿¼ó«½«ó  ¡¿ª¡Ñú«  »«ñτÑનóá¡¿∩,  á  ñ½¿¡á  íπΣÑαá,
  2004.      óδñѽ∩Ѽ«ú« »«ñ óó«ñ¿¼δÑ ñá¡¡δÑ,  «»¿ßδóáѼδÑ ¼á߬«⌐, ñ«½ª¡á íδΓ∞
  2005.      ¡Ñ ¼Ñ¡∞ΦÑ, τѼ ñ½¿¡á φ½Ñ¼Ñ¡Γá ñá¡¡δσ »½εß 1. æ¿¼ó«½δ »π¡¬Γπᵿ¿ ó
  2006.      íπΣÑα  ¡Ñ  »ÑαѬáτ¿óáεΓß∩.   ìá»α¿¼Ñα,   ¼á߬ᠠóó«ñ¿¼δσ  ñá¡¡δσ,
  2007.      ¬áßáεΘ¿σß∩ ¡«¼Ñαá ΓѽÑΣ«¡á  (ó¬½ετá∩ ¬«ñ  ¼ÑßΓ¡«ßΓ¿ ¿ αáßΦ¿αÑ¡¿Ñ)
  2008.      ¼«ªÑΓ ¿¼ÑΓ∞ ß½ÑñπεΘ¿⌐ ó¿ñ:
  2009.  
  2010.      char phone_mask [] = "(____)____-____ ext:_____";
  2011.  
  2012.  
  2013.