home *** CD-ROM | disk | FTP | other *** search
/ BBS 1 / BBS#1.iso / document / tvcpp.a04 / TV_DOC.DOC
Text File  |  1992-03-03  |  159KB  |  3,284 lines

  1. «ó«⌐ ß¿ßΓÑ¼δ »«ññÑ᪬¿ "¼δΦ¿".
  2.  
  3.            é «ß¡«óÑ Σ¿½«ß«Σ¿¿ αáºαáí«Γ¬¿ Turbo Vision ½ÑªáΓ ñóÑ ß½Ññπε-
  4.       Θ¿Ñ  αѬ«¼Ñ¡ñᵿ¿:  »«½¡«Ñ ¿ß»«½∞º«óá¡¿Ñ «íΩÑ¬Γ¡«-«α¿Ñ¡Γ¿α«óá¡¡«⌐
  5.       ΓÑσ¡¿¬¿ ¿ αáí«Γá  ß  ¬«¼»½Ñ¬ß«¼  í¿í½¿«ΓѬ¿  Turbo  Vision  ó  ÑÑ
  6.       ß«íßΓóÑ¡¡δσ  »«¡∩Γ¿∩σ.  ¥Γ«  «º¡áτáÑΓ  "¿úαπ  »«  »αáó¿½á¼" Turbo
  7.       Vision ¿ ¿ß»«½∞º«óá¡¿Ñ ÑÑ ß«ßΓáó¡δσ Γ¿»«ó «íΩÑ¬Γ«ó Γá¬, ¬á¬ φΓ« ó
  8.       ¡Ñ⌐   »αÑñπß¼«ΓαÑ¡«.  îδ  ß«ºñáó὿  »α«úαá¼¼¡«Ñ  ßαÑñßΓó«  Turbo
  9.       Vision, τΓ«íδ ¿ºíáó¿Γ∞ »«½∞º«óáΓѽÑ⌐ «Γ «úα«¼¡«ú« «íΩÑ¼á ¡Ñ¡πª¡«⌐
  10.       »«óΓ«α∩εΘÑ⌐ß∩  αáí«Γδ  ¿  »αÑñ«ßΓáó¿Γ∞  ¿¼ »α«óÑαÑ¡¡πε «ß¡«óπ ñ½∩
  11.       αáºαáí«Γ¬¿ »α¿¬½áñ¡δσ  »α«úαá¼¼,  ¬«Γ«α«⌐  ¼«ª¡«  ñ«óÑα∩Γ∞.  ÅαÑ-
  12.       ñ«ßΓáó∞ΓÑ Turbo  Vision αáí«ΓáΓ∞ ó óáΦÑ⌐ »α«úαἼѠ¿ óδ ¿ºó½ÑτÑΓÑ
  13.       ¿º φΓ«ú« ¼á¬ß¿¼π¼ »«½∞ºδ.
  14.  
  15.       Turbo Vision ñ½∩ æ++         = 16 =
  16.  
  17.                ¥½Ñ¼Ñ¡Γδ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ, »«ßΓα«Ñ¡¡«⌐ ó  Turbo Vision
  18.       -----------------------------------------------------------------
  19.  
  20.            Éáßß¼«Γα¿¼, ñ½∩ ¡áτá½á,  ¬á¬¿Ñ ßαÑñßΓóá »αÑñ«ßΓáó½∩ÑΓ  Turbo
  21.       Vision ñ½∩ αáºαáí«Γ¬¿ »α¿¬½áñ¡δσ »α«úαá¼¼.
  22.  
  23.  
  24.                               ê¼Ñ¡«óá¡¿Ñ τáßΓÑ⌐
  25.                               -----------------
  26.  
  27.            Åਪ½áñ¡á∩ »α«úαá¼¼á, ¿ß»«½∞ºπεΘá∩ Turbo Vision, »αÑñßΓáó½∩-
  28.       ÑΓ ß«í«⌐ óºá¿¼«ñÑ⌐ßΓóπεΘÑÑ ¼¡«ªÑßΓó« «Γ«íαáªáѼδσ «íΩÑ¬Γ«ó, ß«íδ-
  29.       Γ¿⌐ ¿ ¡Ñ«Γ«íαáªáѼδσ «íΩÑ¬Γ«ó.
  30.  
  31.  
  32.                             ÄΓ«íαáªáѼδÑ «íΩѬΓδ
  33.  
  34.            ÄΓ«íαáªáѼδ⌐ «íΩÑ¬Γ - φΓ« ½εí«⌐ «íΩÑ¬Γ »α«úαá¼¼δ, ¿º«íαáªáÑ-
  35.       ¼δ⌐ ¡á φ¬αá¡Ñ. é ¬«¡ΓѬßΓÑ Turbo Vision «Γ«íαáªáѼδ⌐ «íΩÑ¬Γ - φΓ«
  36.       Γ«, τΓ« óδ ¼«ªÑΓÑ πó¿ñÑΓ∞ ¡á φ¬αá¡Ñ. Å«½∩, ¡áºóá¡¿∩ »«½Ñ⌐, αἬ¿,
  37.       ßΓ᫬¿ »α«¬απΓ¬¿ ¿ ¼Ñ¡ε,  - óßÑ φΓ« «Γ«íαáªáѼδÑ «íΩѬΓδ. ÄΓ«íαá-
  38.       ªáѼδÑ «íΩѬΓδ ¼«úπΓ «íΩÑñ¿¡∩Γ∞ß∩ ¿  «íαẫóδóáΓ∞  í«½ÑÑ  ß½«ª¡δÑ
  39.       «íΩѬΓδ, ΓᬿѠ ¬á¬  «¬¡á  ¿  »á¡Ñ½¿ ñ¿á½«úá.  ÆᬿѠ«íΩÑñ¿¡Ñ¡¡δÑ
  40.       «Γ«íαáªáѼδÑ «íΩѬΓδ ¡áºδóáεΓß∩ úαπ»»«ó묨 «íΩѬΓἿ, ¿ «¡¿ Σπ¡¬-
  41.       µ¿«¡¿απεΓ ó¼ÑßΓÑ,  ¬á¬ Ññ¿¡δ⌐ «Γ«íαáªáѼδ⌐ «íΩѬΓ.  âαπ»»δ Σá¬Γ¿-
  42.       τÑ߬¿ ∩ó½∩εΓß∩ ß»Ñµ¿á½¿º¿α«óá¡¡δ¼¿ «Γ«íαáªáÑ¼δ¼¿ «íΩѬΓἿ, ¬«Γ«-
  43.       αδÑ ¼«úπΓ ß«ñÑαªáΓ∞ ó ßÑíÑ ñαπú¿Ñ «Γ«íαáªáѼδÑ «íΩѬΓδ,  ¡áºδóáÑ-
  44.       ¼δÑ «Γ«íαáªáÑ¼δ¼¿ »«ñ«íΩѬΓἿ. âαπ»»δ ñáªÑ ¼«úπΓ ß«ñÑαªáΓ∞ ó ßÑ-
  45.       íÑ  ñαπú¿Ñ  úαπ»»δ,  »«α«ªñá∩ µÑ»«τ¬¿ «Γ«íαáªáѼδσ «íΩÑ¬Γ«ó ¿ »«-
  46.       ñ«íΩÑ¬Γ«ó. ì¿ªÑ óδ πó¿ñ¿ΓÑ,  ¬á¬ ó¬½ετ¿Γ∞ «Γ«íαáªáѼδ⌐  «íΩÑ¬Γ  ó
  47.       úαπ»»π, ¬«Γ«αá∩ αÑ὿º«óá¡á ó »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ.
  48.  
  49.            ÄΓ«íαáªáѼδÑ «íΩѬΓδ  óßÑúñá ¿¼ÑεΓ »α∩¼«πú«½∞¡πε Σ«α¼π,  ¿ ó
  50.       τáßΓ¡«ßΓ¿,  φΓ« ¼«úπΓ íδΓ∞ ¿ »α∩¼«πú«½∞¡¿¬¿, ß«ñÑαªáΘ¿Ñ «ñ¿¡ ß¿¼-
  51.       ó«½, á ΓᬪѠßΓ᫬¿ ó «ñ¿¡ ß¿¼ó«½ óδß«Γ«⌐ ¿½¿ Φ¿α¿¡«⌐.
  52.  
  53.       Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡á∩  ¿¡Σ«α¼áµ¿∩  «  «Γ«íαáªáѼδσ «íΩѬΓá ß«ñÑα-
  54.                   ª¿Γß∩ ó ú½áóÑ 4.
  55.  
  56.  
  57.                                    æ«íδΓ¿∩
  58.  
  59.            æ«íδΓ¿Ñ¼ ∩ó½∩ÑΓß∩ Γ«, ¡á τΓ« ñ«½ª¡á «ΓαÑáú¿α«óáΓ∞ óáΦá »α«ú-
  60.       αá¼¼á.  æ«íδΓ¿∩ »«ßΓπ»áεΓ «Γ ¬½áó¿áΓπαδ,  «Γ "¼δΦ¿" ¿½¿ ¿º ñαπú¿σ
  61.       τáßΓÑ⌐  Turbo Vision.  ìá»α¿¼Ñα,  ¡áªáΓ¿Ñ ¬½áó¿Φ¿,  (¬á¬ ¿ ¬¡«»¬¿
  62.       "¼δΦ¿") - φΓ« ß«íδΓ¿Ñ.  æ«íδΓ¿∩ »«¼ÑΘáεΓß∩ ó «τÑαÑñ∞, ºáΓѼ «íαá-
  63.       íáΓδóáεΓß∩ ó  »«α∩ñ¬Ñ »«ßΓπ»½Ñ¡¿∩ «íαáí«Γτ¿¬«¼.  Æᬫ⌐ «íαáí«Γτ¿¬
  64.       ¿¼ÑÑΓß∩ ó ¬½áßßÑ TAααlication,  ∩ó½∩εΘѼß∩ Γѽ«¼ óáΦÑ⌐ »α¿¬½áñ¡«⌐
  65.       »α«úαá¼¼δ. æ »«¼«Θ∞ε ¼Ñσá¡¿º¼á,  «»¿ßá¡¿Ñ ¬«Γ«α«ú« íπñÑΓ ñá¡« ¡¿-
  66.       ªÑ,  ß«íδΓ¿∩,  ¬«Γ«αδÑ ¡Ñ í뫨 «íαáí«Γá¡δ ó TAααlication, »ÑαÑñá-
  67.       εΓß∩ ñαπú¿¼ «Γ«íαáªáÑ¼δ¼ «íΩѬΓá¼,  ¿¼ÑεΘ¿¼ß∩ ó »α«úαá¼¼Ñ,  ¿ Γá¬
  68.       ñ« ΓÑσ »«α,  »«¬á ¡Ñ íπñÑΓ ¡á⌐ñÑ¡ ¡πª¡δ⌐ «íαáí«Γτ¿¬  ß«íδΓ¿⌐  ¿½¿
  69.       »«¬á ¡Ñ ó«º¡¿¬¡ÑΓ «Φ¿í«τ¡á∩ ß¿Γπᵿ∩.
  70.  
  71.       Turbo Vision ñ½∩ æ++         = 17 =
  72.  
  73.  
  74.            ìá»α¿¼Ñα, ¡áªáΓ¿Ñ  ¬½áó¿Φ¿  F1  óδºδóáÑΓ ß»αáó«τ¡πε ß¿ßΓѼπ.
  75.       àß½¿ ¬áªñδ⌐ «Γ«íαáªáѼδ⌐ «íΩÑ¬Γ ¿¼ÑÑΓ ßó«ε ß«íßΓóÑ¡¡πε Γ«τ¬π óσ«-
  76.       ñá ó  ß»αáó«τ¡πε  ß¿ßΓѼπ  (τΓ« ¿¼ÑÑΓ ¼ÑßΓ« ó ß¿ßΓѼѠ¬«¡ΓѬßΓ¡«⌐
  77.       »«¼«Θ¿),  Γ« ¡áªáΓ¿Ñ ¬½áó¿Φ¿ F1 «íαáíáΓδóáÑΓß∩ «íαáí«Γτ¿¬«¼ ß«íδ-
  78.       Γ¿⌐  ú½áó¡«⌐  »α«úαá¼¼δ.  Äíδτ¡δÑ  á½Σáó¿Γ¡«-µ¿Σα«óδÑ ¬½áó¿Φ¿ ¿½¿
  79.       ¬½áó¿Φ¿ αÑñá¬Γ¿α«óá¡¿∩ ßΓ᫬,  ¡á«í«α«Γ,  ñ«½ª¡δ «íαáíáΓδóáΓ∞ß∩ ß
  80.       »«¼«Θ∞ε  «Γ«íαáªáѼ«ú« «íΩѬΓá,  ¬«Γ«αδ⌐ ó ¡áßΓ«∩Θ¿⌐ ¼«¼Ñ¡Γ ¡áσ«-
  81.       ñ¿Γß∩ ó "Σ«¬πßÑ" (á¬Γ¿óÑ¡),  Γ.Ñ. «íΩѬΓá, ß ¬«Γ«αδ¼ »«½∞º«óáΓѽ∞
  82.       αáí«ΓáÑΓ ó ñá¡¡δ⌐ ¼«¼Ñ¡Γ.
  83.  
  84.       Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡ÑÑ « ß«íδΓ¿∩σ ß¼. ó ú½áóÑ 5.
  85.  
  86.  
  87.                            ìÑ«Γ«íαáªáѼδÑ «íΩѬΓδ
  88.  
  89.            ìÑ«Γ«íαáªáÑ¼δ¼¿ ¡áºδóáεΓß∩ ½εíδÑ «íΩѬΓδ »α«úαá¼¼δ, ¡Ñ ∩ó½∩-
  90.       εΘ¿Ñß∩ «Γ«íαáªáÑ¼δ¼¿.  Ä¡¿ ¡áºδóáεΓß∩ ¡Ñ «Γ«íαáªáÑ¼δ¼¿ ¡á φ¬αá¡Ñ,
  91.       Γ.¬.  ¡Ñ»«ßαÑñßΓóÑ¡¡« ¡Ñ óºá¿¼«ñÑ⌐ßΓóπεΓ ß φ¬αá¡«¼. Ä¡¿ óδ»«½¡∩εΓ
  92.       óδτ¿ß½Ñ¡¿∩,  «ßπΘÑßΓó½∩εΓ  ßó∩º∞ ß »Ñα¿ΣÑα¿⌐¡δ¼¿ πßΓα«⌐ßΓóἿ ¿ ó
  93.       µÑ½«¼ αÑ὿ºπεΓ Σπ¡¬µ¿¿ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ. àß½¿ ¡Ñ«Γ«íαáªáѼ«-
  94.       ¼π «íΩѬΓπ »«ΓαÑíπÑΓß∩ óδóÑßΓ¿ ¬á¬πε-½¿í« ¿¡Σ«α¼áµ¿ε ¡á φ¬αá¡, Γ«
  95.       φΓ« ñѽáÑΓß∩ ß »«¼«Θ∞ε «Γ«íαáªáѼ«ú« «íΩѬΓá. ¥Γá ¬«¡µÑ»µ¿∩ ∩ó½∩-
  96.       ÑΓß∩  «τÑ¡∞  ó᪡«⌐ ñ½∩ »«ññÑαªá¡¿∩ ßΓα«ú«ú« »«α∩ñ¬á ó »α¿¬½áñ¡δσ
  97.       »α«úαá¼¼áσ Turbo Vision: ß φ¬αá¡«¼ óºá¿¼«ñÑ⌐ßΓóπεΓ Γ«½∞¬« «Γ«íαá-
  98.       ªáѼδÑ «íΩѬΓδ.
  99.  
  100.            ì¿τΓ« ¡Ñ ¼«ªÑΓ,  «ñ¡á¬«,  »«¼ÑΦáΓ∞ "íѺú½áß¡δ¼" «íΩѬΓá¼ óδ-
  101.            »«½¡¿Γ∞ óδó«ñ ¡á φ¬αá¡ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ αrintf ¿½¿ «»ÑαáΓ«-
  102.            αá  <<.  ì« »α¿ φΓ«¼,  Ñß½¿ óδ óδó«ñ¿ΓÑ ΓѬßΓ ¡á ñ¿ß»½Ñ⌐ ßá-
  103.            ¼«ßΓ«∩Γѽ∞¡«,Γ« φΓ« »«ó½ÑτÑΓ αáºαπΦÑ¡¿Ñ  ΓѬßΓá,  óδó«ñ¿¼«ú«
  104.            Turbo  Vision,  ¿  ΓѬßΓ,  ¬«Γ«αδ⌐  óδó«ñ¿Γ  ¡á  φ¬αá¡ Turbo
  105.            Vision, ¼«ªÑΓ ºáΓÑαÑΓ∞ óáΦ "«ΓßΓπ»¡¿τÑ߬¿⌐" ΓѬßΓ (¡á»α¿¼Ñα,
  106.            ß »«¼«Θ∞ε »ÑαѼÑΘÑ¡¿∩ ¿½¿ ¿º¼Ñ¡Ñ¡¿∩ αẼÑα«ó «¬«¡).
  107.  
  108.  
  109.  
  110.  
  111.       Turbo Vision ñ½∩ æ++         = 18 =
  112.  
  113.                                                 ÄíΘ¿Ñ »«ñσ«ñδ
  114.  
  115.            Å«ß¬«½∞¬π Turbo Vision αáºαáí«Γá¡ ñ½∩ αÑ὿ºáµ¿¿  ßΓá¡ñáαΓ¿-
  116.       º«óá¡¡«ú«, αᵿ«¡á½∞¡«ú« »«ñσ«ñá ¬ »«ßΓα«Ñ¡¿ε ¿¡ΓÑαΣÑ⌐ßá, Γ« óáΦ¿
  117.       »α¿¬½áñ¡δÑ »α«úαá¼¼δ «íαÑΓπΓ »«σ«ª¿⌐ ó¿ñ. ¥Γ«Γ ó¿ñ ¿ñÑ¡Γ¿τÑ¡ ó¿ñπ
  118.       ¿¡ΓÑαΣÑ⌐ßá αẽ¿τ¡δσ ¿¡ΓÑúα¿α«óá¡¡δσ ßαÑñ Σ¿α¼δ Borland ¿ íếαπ-
  119.       ÑΓß∩ ¡á ¼¡«ú«½ÑΓ¡Ñ¼ «»δΓÑ ¿ »α«óÑα¬áσ ¿σ  ¿ß»«½∞º«óá¡¿∩.  ì὿τ¿Ñ
  120.       «íΘÑú« ¿ ñ«ßΓπ»¡«ú« ñ½∩ »«¡¿¼á¡¿∩ »«ñσ«ñá ¬ ¿¡ΓÑαΣÑ⌐ßπ »α¿¬½áñ¡«⌐
  121.       »α«úαá¼¼δ ∩ó½∩ÑΓß∩ í«½∞Φ¿¼ »αÑ¿¼πΘÑßΓó«¼ ñ½∩ óáß ¿ óáΦ¿σ  »«½∞º«-
  122.       óáΓѽÑ⌐:  ìÑß¼«Γα∩  ¡á ½εíπε ß½«ª¡«ßΓ∞ ¿ "ºá¬αδΓ«ßΓ∞" ºáñáτ óáΦÑ⌐
  123.       »α«úαá¼¼δ,  ß»«ß«í αáí«Γδ ß ¡Ñ⌐ íπñÑΓ óßÑúñá óá¼ º¡á¬«¼ ¿ »α«µÑßß
  124.       αáí«Γδ ß ¡Ñ⌐ ½Ñú«¬ ¿ »α«ßΓ.
  125.  
  126.            ìá α¿ßπ¡¬Ñ  1.1  »«¬áºá¡ α∩ñ «íΘ¿σ φ½Ñ¼Ñ¡Γ«ó,  ¬«Γ«αδÑ ¼«úπΓ
  127.       íδΓ∞ τáßΓ∞ε  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ,  ß«ºñá¡¡«⌐  ß  ¿ß»«½∞º«ó᡿Ѽ
  128.       Turbo Vision.  Éáí«τá∩ «í½áßΓ∞ - φΓ« ºáΦΓα¿σ«óá¡¡δ⌐ Σ«¡, ¡á ¬«Γ«-
  129.       α«¼ «Γ«íαáªáεΓß∩ «íΩѬΓδ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.  èᬠ¿ óßÑ «ßΓá½∞-
  130.       ¡δÑ φ½Ñ¼Ñ¡Γδ Turbo Vision,  αáí«τá∩  «í½áßΓ∞  ∩ó½∩ÑΓß∩  «íΩÑ¬Γ«¼.
  131.       ÄíΩѬΓἿ  ∩ó½∩εΓß∩  ΓᬪѠ½¿¡Ñ⌐¡«Ñ ¼Ñ¡ε ó óÑασ¡Ñ⌐ τáßΓ¿ φ¬αá¡á ¿
  132.       ßΓ᫬á ß«ßΓ«∩¡¿∩ ó Ñú« ¡¿ª¡Ñ⌐ τáßΓ¿.  è«¼á¡ñδ  ó  ßΓ᫬«ó«¼  ¼Ñ¡ε
  133.       ß««ΓóÑΓßΓóπεΓ ¼Ñ¡ε, ¬«Γ«αδÑ "αá߬αδóáεΓß∩" ó¡¿º (óÑαΓ¿¬á½∞¡δÑ ¼Ñ-
  134.       ¡ε) ß »«¼«Θ∞ε "¼δΦ¿" ¿½¿ ¡áªáΓ¿∩ ß««ΓóÑΓßΓóπεΘ¿σ π»αáó½∩εΘ¿σ ¬½á-
  135.       ó¿Φ.
  136.  
  137.       Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡ÑÑ «í φΓ«¼ ß¼. ó ú½áóÑ 4.
  138.  
  139.                 ┌──────────────────────────────────────┐
  140.                 │  ï¿¡Ñ⌐¡«Ñ ¼Ñ¡ε                       │
  141.                 ├──────────────────────────────────────┤
  142.                 │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  143.                 │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  144.                 │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  145.                 │░░ Éáí«τá∩ «í½áßΓ∞░░░░░░░░░░░░░░░░░░░░│
  146.                 │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  147.                 │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  148.                 ├──────────────────────────────────────┤
  149.                 │  æΓ᫬á ß«ßΓ«∩¡¿∩                    │
  150.                 └──────────────────────────────────────┘
  151.  
  152.            É¿ßπ¡«¬ 1.1. Éáß»«½«ªÑ¡¿Ñ φ½Ñ¼Ñ¡Γ«ó Turbo Vision ¡á φ¬αá¡Ñ.
  153.  
  154.            ÆѬßΓ, ¬«Γ«αδ⌐  »«∩ó½∩ÑΓß∩ ó ßΓα«¬Ñ ß«ßΓ«∩¡¿∩,  »αÑñ¡áº¡áτÑ¡
  155.       ñ½∩ óáß,  ¿,  «íδτ¡«,  Γá¼ óδñáεΓß∩ ß««íΘÑ¡¿∩ « ΓѬπΘѼ ß«ßΓ«∩¡¿¿
  156.       óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ,  »«¬áºδóáεΓß∩  ¿¼ÑεΘ¿Ñß∩  π»αáó½∩εΘ¿Ñ
  157.       ¬½áó¿Φ¿ ¿½¿ »«ñ߬Ậ¿ « ¬«¼á¡ñáσ,  ¬«Γ«αδÑ ñ«ßΓπ»¡δ »«½∞º«óáΓѽ∩¼
  158.       ó ñá¡¡δ⌐ ¼«¼Ñ¡Γ.
  159.  
  160.            è«úñá «Γ¬αδóáÑΓß∩ óÑαΓ¿¬á½∞¡«Ñ ¼Ñ¡ε,  Γ« π¬áºáΓѽ∞ ¼«ªÑΓ »Ñ-
  161.       αѼÑΘáΓ∞ß∩  óóÑασ  ¿ ó¡¿º »« ¬«¼á¡ñá¼ φΓ«ú« ¼Ñ¡ε ó ß««ΓóÑΓßΓó¿¿ ß
  162.       »ÑαѼÑΘÑ¡¿Ñ¼ "¼δΦ¿" ¿½¿ ¬παß«αá. è«úñá óδ ¡áª¿¼áÑΓÑ ¬½áó¿Φπ Enter
  163.       ¿½¿ ½Ñóπε ¬¡«»¬π "¼δΦ¿", Γ« óδí¿αáÑΓß∩ ¬«¼á¡ñᠼѡε, ¬«Γ«αá∩ íδ½á
  164.       óδñѽѡá ó φΓ« óαѼ∩.  Åα¿ ÑÑ óδí«αÑ »α«¿ºó«ñ¿Γß∩ »ÑαÑñáτá π»αáó-
  165.       ½Ñ¡¿∩ ó ¬á¬πε-½¿í« τáßΓ∞ »α«úαá¼¼δ.
  166.  
  167.       Turbo Vision ñ½∩ æ++         = 19 =
  168.  
  169.  
  170.            æó∩º∞ »α«úαá¼¼δ ß »«½∞º«óáΓѽ∩¼¿ «íδτ¡« «ßπΘÑßΓó½∩ÑΓß∩ τÑαѺ
  171.       «¬¡« ¿½¿ ¡Ñ߬«½∞¬« «¬«¡ ¿½¿ »á¡Ñ½¿ ñ¿á½«úá,  ¬«Γ«αδÑ «Γ«íαáªáεΓß∩
  172.       ó αáí«τÑ⌐ «í½áßΓ¿ ¡á φ¬αá¡Ñ ¿ ¿ßτѺáεΓ ó ß««ΓóÑΓßΓó¿¿ ß ¬«¼á¡ñἿ
  173.       «Γ "¼δΦ¿" ¿½¿ ß  ¬½áó¿áΓπαδ.  Turbo  Vision  αáß»«½áúáÑΓ  í«½∞Φ¿¼
  174.       áßß«αΓ¿¼Ñ¡Γ«¼  á½ú«α¿Γ¼«ó  αáí«Γδ ß «¬¡á¼¿ »« óó«ñπ ¿ ¿º«íαáªÑ¡¿ε
  175.       ¿¡Σ«α¼áµ¿¿ ¡á φ¬αá¡Ñ.  é¡πΓαÑ¡¡¿Ñ »«½∩ «¬«¡ ¼«ª¡« ßñѽáΓ∞ »α«¬απ-
  176.       τ¿óáÑ¼δ¼¿,  ¿  Γ«úñá «¡¿ íπñπΓ ß½πª¿Γ∞ "ó«α«ΓἿ" ó í«½ÑÑ ¬απ»¡δÑ
  177.       ¿º«íαáªÑ¡¿∩ ñá¡¡δσ, ΓᬿѠ¬á¬ Σá⌐½δ ñ«¬π¼Ñ¡Γ«ó. Å᫬απΓ¬á «¬¡á »«
  178.       ñá¡¡δ¼ óδ»«½¡∩ÑΓß∩ »ÑαѼÑΘÑ¡¿Ñ¼ íÑúπ¡¬á ßΓ᫬¿-»α«¬απΓ¬¿ ó ¡¿ª¡Ñ⌐
  179.       τáßΓ¿ φ¬αá¡á, ó Ñú« »αáó«⌐ τáßΓ¿ ¿½¿ ó «íÑ¿σ φΓ¿σ τáßΓ∩σ. üÑúπ¡«¬
  180.       ßΓ᫬¿-»α«¬απΓ¬¿ π¬áºδóáÑΓ  »«½«ªÑ¡¿Ñ  «¬¡á «Γ¡«ß¿Γѽ∞¡« ß«ó«¬π»-
  181.       ¡«ßΓ¿ ¿º«íαáªáѼδσ ¡á φ¬αá¡Ñ ñá¡¡δσ.
  182.  
  183.            ä¿á½«ú«óδÑ «¬¡á  τáßΓ« ß«ñÑαªáΓ ¬¡«»¬¿,  ¬«Γ«αδÑ αÑ὿º«óá¡δ
  184.       ¬á¬ óδñѽѡ¡δÑ µóÑΓ«¼ ß½«óá,  ¬«Γ«αδÑ óδí¿αáεΓß∩ ß »«¼«Θ∞ε "¼δΦ¿"
  185.       (¿½¿ ß »«¼«Θ∞ε ¬½áó¿Φ "Γáíπ½∩µ¿∩" ¿ "»α«íѽ").  é «ΓóÑΓ ¡á  ¡áªá-
  186.       Γ¿Ñ, "¬¡«»¬¿"  óñáó½¿óáεΓß∩ (¬á¬ ¡áßΓ«∩Θ¿Ñ ¬¡«»¬¿) ¿ ¼«úπΓ αÑ὿-
  187.       º«óáΓ∞ »ÑαÑñáτ𠬫¼á¡ñ »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ.
  188.  
  189.  
  190.  
  191.  
  192.       Turbo Vision ñ½∩ æ++         = 20 =
  193.  
  194.                        Åα«úαá¼¼á "Hello, World!" ó ßΓ¿½Ñ Turbo Vision
  195.       -----------------------------------------------------------------
  196.  
  197.            Æαáñ¿µ¿«¡¡δ¼ ß»«ß«í«¼  ñѼ«¡ßΓαᵿ¿ »α¿¼Ñ¡Ñ¡¿∩ ½εí«ú« ¡«ó«ú«
  198.       ∩ºδ¬á ¿½¿ »á¬ÑΓá,  αÑ὿ºπεΘÑú« ¿¡ΓÑαΣÑ⌐ß ß »«½∞º«óáΓѽѼ,  ∩ó½∩-
  199.       ÑΓß∩ »αÑñßΓáó½Ñ¡¿Ñ »α«úαá¼¼δ "Hello,  World" ("çñαáóßΓóπ⌐, ¼¿α"),
  200.       ¡á»¿ßá¡¡«⌐ ß »«¼«Θ∞ε αáßß¼áΓα¿óáѼδσ ßαÑñßΓó. ¥Γá »α«úαἼᠫíδτ-
  201.       ¡«  ó¬½ετáÑΓ ½¿Φ∞ φ½Ñ¼Ñ¡Γ,  ñ«ßΓáΓ«τ¡δ⌐ ñ½∩ ¿º«íαáªÑ¡¿∩ ¡á φ¬αá¡Ñ
  202.       ßΓ᫬¿ "Hello, World" ¿ ó«ºóαáΓá π»αáó½Ñ¡¿∩ ó DOS.
  203.  
  204.            Turbo Vision »αÑñ«ßΓáó½∩ÑΓ ñαπú«⌐ ß»«ß«í »αÑñßΓáó½Ñ¡¿∩ óδαá-
  205.       ªÑ¡¿∩ "Hello, World!".
  206.  
  207.            è½áßß¿τÑ߬á∩ »α«úαἼᠠ"Hello,  World" ¡Ñ ∩ó½∩ÑΓß∩ ¿¡ΓÑαá¬-
  208.       Γ¿ó¡«⌐ («¡á "ú«ó«α¿Γ",  ¡« ¡Ñ "ß½πΦáÑΓ"), á Turbo Vision ∩ó½∩ÑΓß∩
  209.       ßαÑñßΓó«¼ ñ½∩ αáºαáí«Γ¬¿ ¿¡ΓÑαá¬Γ¿ó¡δσ »α«úαá¼¼.
  210.  
  211.       Åα¿¼Ñτá¡¿Ñ: »α«úαá¼¼á "Hello, World" ß«ñÑনΓß∩ ó Σá⌐½Ñ HELLO.CPP
  212.                   ¡á ñ¿ßΓα¿íπΓ¿ó¡δσ ñ¿ß¬áσ.
  213.  
  214.            Åα«ßΓÑ⌐Φá∩ »α¿¬½áñ¡á∩ »α«úαá¼¼á,  ß«ºñá¡¡á∩ ß ¿ß»«½∞º«ó᡿Ѽ
  215.       Turbo Vision,  ú«αáºñ« ß½«ª¡ÑÑ, τѼ óδαáªÑ¡¿Ñ αrintf, ºá¬½ετÑ¡¡«Ñ
  216.       ¼Ñªñπ { ¿ }. é ßαáó¡Ñ¡¿¿ ß ¬½áßß¿τÑ߬«⌐ »α«úαá¼¼«⌐ "Hello, World"
  217.       »α«úαá¼¼á HELLO.CPP ¡á Turbo Vision óδ»«½¡∩ÑΓ ¼áßßπ  «»Ñαᵿ⌐,  ó
  218.       Γ.τ.:
  219.  
  220.         - «τ¿ßΓ¬π αáí«τÑ⌐ «í½áßΓ¿ φ¬αá¡á »« »«½πΓ«¡«ó«¼π Φáí½«¡π;
  221.  
  222.         - ¿º«íαáªÑ¡¿Ñ ßΓ᫬«ó«ú« ¼Ñ¡ε ¿ ßΓ᫬¿ ß«ßΓ«∩¡¿∩  ó  óÑασ¡Ñ⌐  ¿
  223.           ¡¿ª¡Ñ⌐ τáßΓ∩σ φ¬αá¡á;
  224.  
  225.         - πßΓá¡«ó¬π «íαáí«Γτ¿¬á ß«íδΓ¿⌐ «Γ ¬½áó¿áΓπαδ ¿ "¼δΦ¿";
  226.  
  227.         - »«ßΓα«Ñ¡¿Ñ  «íΩѬΓá  ¼Ñ¡ε "ºá ¬π½¿ßἿ" ¿ »α¿ß«Ññ¿¡Ñ¡¿Ñ Ñú« ¬
  228.           ßΓα«¬Ñ ¼Ñ¡ε;
  229.  
  230.         - »«ßΓα«Ñ¡¿Ñ ñ¿á½«ú«ó«ú« «¬¡á ΓᬪѠ"ºá ¬π½¿ßἿ";
  231.  
  232.         - ßó∩º∞ ñ¿á½«ú«ó«ú« «¬¡á ß ¼Ñ¡ε;
  233.  
  234.         - «ª¿ñá¡¿Ñ ¡áªáΓ¿⌐ ¬½áó¿Φ ¿ ß«íδΓ¿⌐ «Γ "¼δΦ¿".
  235.  
  236.           é φΓ«¼ »ÑαÑτ¡Ñ ¡Ñ ß«ñÑনΓß∩ ¿¡Σ«α¼áµ¿∩ «  óδó«ñÑ  ΓѬßΓá  ¡á
  237.           φ¬αá¡.  ìѬ«Γ«αδ⌐ ΓѬßΓ íδ½ »«ñú«Γ«ó½Ñ¡,  ¡« φΓ« í佫 ßñѽᡫ
  238.           ¡á ºáñ¡Ñ¼ »½á¡Ñ ó «ª¿ñá¡¿¿ Ñú« ó맮óá »« ¬«¼á¡ñÑ.  Åα¿ ¿ºπτÑ-
  239.           ¡¿¿ Turbo Vision ß½ÑñπÑΓ ¿¼ÑΓ∞ ó ó¿ñπ:  ßπΓ∞ »α«úαá¼¼¿α«óá¡¿∩
  240.           ß ¿ß»«½∞º«ó᡿Ѽ Turbo Vision ºá¬½ετáÑΓß∩ ó αáºαáí«Γ¬Ñ ΓαÑíπ-
  241.           Ñ¼«ú« ó¿ñá ¿¡ΓÑαΣÑ⌐ßá ¿ Ñú« «íαáí«Γ¬¿ ¬«¼á¡ñ.  Turbo Vision -
  242.           "߬ѽÑΓ" »α«úαá¼¼δ - »«ºáí«Γ¿Γß∩  «  »ÑαÑñáτÑ  ¬«¼á¡ñ  ¡πª¡δ¼
  243.           τáßΓ∩¼ óáΦÑ⌐ »α«úαá¼¼δ. éá¼ ªÑ «ßΓá¡ÑΓß∩ ½¿Φ∞ «»αÑñѽ¿Γ∞, τΓ«
  244.           ¬«¡¬αÑΓ¡« ñ«½ª¡« íδΓ∞ ßñѽᡫ »«ß½Ñ ¡áªáΓ¿∩ ¬½áó¿Φ¿ ¡á ¬½áó¿-
  245.           áΓπαÑ, ¬¡«»¬¿ "¼δΦ¿" ¿½¿ óδí«αá ¬«¼á¡ñδ ¼Ñ¡ε.
  246.  
  247.  
  248.       Turbo Vision ñ½∩ æ++         = 21 =
  249.  
  250.            Æᬿ¼ «íαẫ¼  "¼∩ß«¼" óáΦÑ⌐ »α«úαá¼¼δ ∩ó½∩ÑΓß∩ Γá ÑÑ τáßΓ∞,
  251.       ¬«Γ«αá∩ óδ»«½¡∩ÑΓ Σπ¡¬µ¿«¡á½∞¡πε «íαáí«Γ¬π »α¿¡¿¼áѼδσ «Γ »«½∞º«-
  252.       óáΓѽ∩ ¬«¼á¡ñ - ¿ φΓá "¼∩ß¡á∩"  τáßΓ∞  ß«ñÑনΓß∩  ó  ß«ºñáóáѼδσ
  253.       «Γ«íαáªáѼδσ «íΩѬΓáσ.
  254.  
  255.  
  256.  
  257.  
  258.       Turbo Vision ñ½∩ æ++         = 22 =
  259.  
  260.                                       çá»π߬ »α«úαá¼¼δ HELLO.CPP
  261.  
  262.            ÅαѪñÑ, τѼ »α«óÑßΓ¿ ñÑΓá½∞¡δ⌐ á¡á½¿º  »α«úαá¼¼δ  HELLO.CPP,
  263.       ß½ÑñπÑΓ ÑÑ ºáúαπº¿Γ∞, «Γ¬«¼»¿½¿α«óáΓ∞ ¿ »«ß¼«ΓαÑΓ∞, ¬á¬ «¡á αáí«-
  264.       ΓáÑΓ.
  265.  
  266.            Åα¿ φΓ«¼ Hello «τ¿ßΓ¿Γ φ¬αá¡ ¿ ß«ºñáÑΓ αáí«τπε «í½áßΓ∞,  ¬á¬
  267.       »«¬áºá¡¡πε ¡á É¿ß.1.2.  é φΓ«⌐ «í½áßΓ¿ ¡ÑΓ «Γ¬αδΓδ󠫬«¡, á ó ½¿-
  268.       ¡Ñ⌐¡«¼ ¼Ñ¡ε ó óÑασ¡Ñ⌐ τáßΓ¿ φ¬αá¡á »«∩ó½∩ÑΓß∩ ½¿Φ∞ «ñ¿¡  φ½Ñ¼Ñ¡Γ:
  269.       ¬«¼á¡ñá Hello. ÄíαáΓ¿ΓѠ󡿼᡿Ñ, τΓ« íπ¬óá "H" ó ß½«óÑ Hello óδ-
  270.       ñѽѡᠫ߫íδ¼ µóÑΓ«¼,  á ó ßΓα«¬Ñ ß«ßΓ«∩¡¿∩ ¡áσ«ñ¿Γß∩  ß««íΘÑ¡¿Ñ:
  271.       Alt-X Exit.
  272.  
  273.                  ┌──────────────────────────────────────┐
  274.                  │  Hello                               │
  275.                  ├──────────────────────────────────────┤
  276.                  │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  277.                  │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  278.                  │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  279.                  │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  280.                  │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  281.                  │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  282.                  ├──────────────────────────────────────┤
  283.                  │  Alt-X Exit                          │
  284.                  └──────────────────────────────────────┘
  285.  
  286.               É¿ßπ¡«¬ 1.2. ìáτá½∞¡δ⌐ φ¬αá¡ »α«úαá¼¼δ HELLO.CPP.
  287.  
  288.            çñÑß∞ ß½ÑñπÑΓ  «Γ¼ÑΓ¿Γ∞ ñóá «íΘ¿σ »αáó¿½á »α«úαá¼¼¿α«óá¡¿∩ ó
  289.       ½εí«⌐ »«½∞º«óáΓѽ∞߬«⌐ ßαÑñÑ:  ¡¿¬«úñá ¡Ñ ºáßΓáó½∩⌐ΓÑ »«½∞º«óáΓÑ-
  290.       ½∩  αẼδΦ½∩Γ∞  « Γ«¼,  τΓ« ªÑ Ñ¼π ñѽáΓ∞ ñá½∞ΦÑ,  á ΓᬪѠóßÑúñá
  291.       »αÑñ«ßΓáó½∩⌐ΓÑ »«½∞º«óáΓÑ½ε »πΓ∞ ñó¿ªÑ¡¿∩ ó»ÑαÑñ ¿ »πΓ∞ ¬ «ΓßΓπ»-
  292.       ½Ñ¡¿ε.  ÅÑαÑñ ΓѼ,  ¬á¬ ¡áτáΓ∞ ¬á¬¿Ñ-½¿í« «»Ñαᵿ¿,  »«½∞º«óáΓѽ∞
  293.       »α«úαá¼¼δ Hello ¿¼ÑÑΓ ñóÑ τÑΓ¬¿Ñ ó«º¼«ª¡«ßΓ¿:  ½¿í« óδíαáΓ∞ »π¡¬Γ
  294.       ¼Ñ¡ε Hello, ½¿í« ¡áªáΓ∞ ¬½áó¿Φπ Alt-X, τΓ«íδ óδ⌐Γ¿ ¿º »α«úαá¼¼δ.
  295.  
  296.                            Å«∩ó½Ñ¡¿Ñ αáºó«αáτ¿óáεΘÑú«ß∩ ¼Ñ¡ε ¡á φ¬αá¡Ñ
  297.  
  298.            ê¼Ñ∩ ó ó¿ñπ »αÑñδñπΘ¿Ñ ºá¼Ñτá¡¿∩,  óδíÑα¿ΓÑ ó ßΓ᫬«ó«¼ ¼Ñ¡ε
  299.       ¬«¼á¡ñπ Hello. ¥Γ« ¼«ª¡« ßñѽáΓ∞ ΓαѼ∩ ß½ÑñπεΘ¿¼¿ ß»«ß«íἿ:
  300.  
  301.         - »«¼ÑßΓ¿ΓÑ π¬áºáΓѽ∞ "¼δΦ¿" ¡áñ Hello ¿ ¡áª¼¿ΓÑ ÑÑ ½Ñóπε ¬¡«»-
  302.           ¬π;
  303.  
  304.         - ¡áª¼¿ΓÑ ¬½áó¿Φπ F10,  τΓ«íδ πßΓá¡«ó¿Γ∞ ¬παß«α ¡á ½¿¡Ñ⌐¡«Ñ ¼Ñ-
  305.           ¡ε, óδñѽ¿ó  »α¿  φΓ«¼  ß½«ó«  Hello.  çáΓѼ  ¡áª¼¿ΓÑ ¬½áó¿Φπ
  306.           Enter, τΓ«íδ óδíαáΓ∞ Hello.
  307.  
  308.         - ¡áª¼¿ΓÑ Alt-H, úñÑ H - φΓ« óδñѽѡ¡á∩ íπ¬óá ó ¬«¼á¡ñÑ Hello.
  309.  
  310.            é« óßÑσ ΓαÑσ ß½πτá∩σ αáºó«αáτ¿óáεΘÑÑß∩  ¼Ñ¡ε  »«∩ó¿Γß∩  ¡¿ªÑ
  311.       »π¡¬Γᠼѡε Hello.  ¥Γ« óá¼,  ¬á¬ »α«úαá¼¼¿ßΓπ ¡á ∩ºδ¬Ñ Turbo C++
  312.  
  313.       Turbo Vision ñ½∩ æ++         = 23 =
  314.  
  315.       ¿½¿ Borland C++,  ñ«½ª¡« íδΓ∞ º¡á¬«¼«.  éδ»«½¡¿ó φΓ¿ «»Ñαᵿ¿, óδ
  316.       πíÑñ¿ΓÑß∞ ó Γ«¼,  τΓ« ó í¿í½¿«ΓѬѠTurbo Vision πτΓÑ¡δ óßÑ ß«ú½á-
  317.       ΦÑ¡¿∩ ¿¡ΓÑúα¿α«óá¡¡δσ ßαÑñ Σ¿α¼δ Borland.
  318.  
  319.            Å«∩ó¿óΦÑÑß∩ ¼Ñ¡ε »«¬áºá¡« ¡á α¿ß.1.3. é ¡Ñ¼ ß«ñÑনΓß∩ óßÑú«
  320.       ñóÑ ¬«¼á¡ñδ,  αáºñѽѡ¡δσ «Γñѽ∞¡«⌐ ½¿¡¿Ñ⌐.  Äñ¡á¬«, ó «íΘѼ ß½π-
  321.       τáÑ,  ó ¡¿σ ¼«ªÑΓ αáß»«½áúáΓ∞ß∩ ½εí«Ñ τ¿ß½« ¬«¼á¡ñ,  «úαá¡¿τÑ¡¡δσ
  322.       ½¿Φ∞ αẼÑα«¼ φ¬αá¡á.
  323.  
  324.                        ┌──────────────────┐
  325.                        │░░Greeting...░░░░░│
  326.                        ├──────────────────┤
  327.                        │  Alt-X Exit      │
  328.                        └──────────────────┘
  329.  
  330.            É¿ßπ¡«¬ 1.3. îÑ¡ε »α«úαá¼¼δ HELLO.CPP.
  331.  
  332.            éδ ¼«ªÑΓÑ  ßñѽáΓ∞ óδí«α ¬«¼á¡ñδ ¼Ñ¡ε ½¿í« ß »«¼«Θ∞ε ¬½áó¿á-
  333.       Γπαδ, ½¿í« ß »«¼«Θ∞ε "¼δΦ¿". æ »«¼«Θ∞ε ¬½áó¿Φ π»αáó½Ñ¡¿∩ ¬παß«α«¼
  334.       π¬áºáΓѽ∞ ¼«ª¡« »ÑαѼÑΘáΓ∞ »« ¼Ñ¡ε óóÑασ ¿ ó¡¿º. éδí«α «Γ¼ÑτÑ¡¡«-
  335.       ú« »π¡¬Γá ß ¬½áó¿áΓπαδ »α«¿ºó«ñ¿Γß∩ ¡áªáΓ¿Ñ¼ ¬½áó¿Φ¿ Enter. éδí«α
  336.       ªÑ ¬«¼á¡ñδ ¼Ñ¡ε ß »«¼«Θ∞ε "¼δΦ¿" »α«¿ßσ«ñ¿Γ ¿¡ΓÑαÑß¡ÑÑ: óδ ñ«½ª¡δ
  337.       "ºáσóáΓ¿Γ∞" π¬áºáΓѽ∞ ¼Ñ¡ε,  ¡áªáó ½Ñóπε ¬¡«»¬π "¼δΦ¿" ó Γ«Γ  ¼«-
  338.       ¼Ñ¡Γ,  ¬«úñá  ÑÑ  π¬áºáΓѽ∞ «¬áªÑΓß∩ ¡áñ ¡¿¼ ¿ πñÑαªáΓ∞ ÑÑ ó φΓ«¼
  339.       »«½«ªÑ¡¿¿.  Åα¿ φΓ«¼, »«¬á óδ ñÑনΓÑ ¬¡«»¬π ó ¡áªáΓ«¼ ß«ßΓ«∩¡¿¿,
  340.       óδ  ¼«ªÑΓÑ »ÑαѼÑΘáΓ∞ ¼áα¬Ñα óóÑασ ¿ ó¡¿º »« ¼Ñ¡ε.  éδí«α ¬«¼á¡ñδ
  341.       ¼Ñ¡ε »α«¿ºó«ñ¿Γß∩ »«óΓ«α¡δ¼ ¡áªáΓ¿Ñ¼ ¬¡«»¬¿ "¼δΦ¿" ó Γ«Γ  ¼«¼Ñ¡Γ,
  342.       ¬«úñá ¼áα¬Ñα íπñÑΓ ¡áσ«ñ¿Γ∞ß∩ ¡áñ ¡πª¡δ¼ »π¡¬Γ«¼.
  343.  
  344.  
  345.  
  346.  
  347.       Turbo Vision ñ½∩ æ++         = 24 =
  348.  
  349.                                                Åá¡Ñ½∞ ñ¿á½«úá
  350.  
  351.            éδíαá¡¡δ⌐ ½εíδ¼ ß»«ß«í«¼ »π¡¬Γ ¼Ñ¡ε Greeting óδºδóáÑΓ  »«∩ó-
  352.       ½Ñ¡¿Ñ »α∩¼«πú«½∞¡«ú« «¬¡á, ¡áºδóáѼ«ú« »á¡Ñ½∞ε ñ¿á½«úá, ¬á¬ »«¬á-
  353.       ºá¡« ¡á α¿ß. 1.4. Åá¡Ñ½∞ ñ¿á½«úá »«∩ó¿Γß∩ ó µÑ¡ΓαÑ φ¬αá¡á, «ñ¡á¬«
  354.       óδ  ß¼«ªÑΓÑ  »ÑαѼÑΘáΓ∞ ÑÑ,  »«ñóÑñ∩ ñ½∩ φΓ«ú« π¬áºáΓѽ∞ "¼δΦ¿" ¬
  355.       óÑασ¡Ñ⌐ úαá¡¿µÑ φΓ«ú« «¬¡á,  ¡áªáó ½Ñóπε ¬¡«»¬π "¼δΦ¿" ¿ »ÑαÑñó¿-
  356.       úá∩  "¼δΦ∞",  πñÑনóá∩ »α¿ φΓ«¼ ¬¡«»¬π ó ¡áªáΓ«¼ ß«ßΓ«∩¡¿¿.  èá¬
  357.       Γ«½∞¬« óδ «Γ»πßΓ¿ΓÑ ¬¡«»¬π,  »á¡Ñ½∞ ñ¿á½«úá «ßΓá¡«ó¿Γß∩ ó  ñá¡¡«¼
  358.       ¼ÑßΓÑ ¿ Γá¼ «ßΓá¡ÑΓß∩.
  359.  
  360.       Åα¿¼Ñτá¡¿Ñ: î¡«ú«Γ«τ¿Ñ  (...)  »«ß½Ñ »π¡¬Γá ¼Ñ¡ε ¿ß»«½∞ºπÑΓß∩ ñ½∩
  361.                   «í«º¡áτÑ¡¿∩, τΓ« ñá¡¡δ⌐ »π¡¬Γ óδºδóáÑΓ »«∩ó½Ñ¡¿Ñ  »á-
  362.                   ¡Ñ½¿ ñ¿á½«úá.
  363.  
  364.                 ╔═[■]══════Hello, World!═══════════════╗
  365.                 ║                                      ║
  366.                 ║                       Terrific       ║
  367.                 ║                       ──────────────┘║
  368.                 ║                       OK             ║
  369.                 ║  How are you?         ──────────────┘║
  370.                 ║                       Lousy          ║
  371.                 ║                       ──────────────┘║
  372.                 ║                       Cancel         ║
  373.                 ║                       ──────────────┘║
  374.                 ╚══════════════════════════════════════╝
  375.  
  376.            É¿ßπ¡«¬ 1.4. Åá¡Ñ½∞ ñ¿á½«úá »α«úαá¼¼δ "Hello, World!".
  377.  
  378.            ä¿á½«ú«ó«Ñ «¬¡« ß«ñÑαª¿Γ ºáú«½«ó«¬ "Hello,  World!", á ΓᬪÑ
  379.       ¬¡«»¬π ó ½Ñó«¼ óÑασ¡Ñ¼ πú½π.  Åα¿ π¬áºá¡¿¿ "¼δΦ∞ε" ¡á φëà º¡á¬,
  380.       »á¡Ñ½∞ ñ¿á½«úá ºá¬αδóáÑΓß∩ ¿ ¿ßτѺáÑΓ ß φ¬αá¡á. é¡πΓα¿ »á¡Ñ½¿ ñ¿-
  381.       á½«úá »«¼ÑΘÑ¡á ¬«α«Γ¬á∩ ßΓ᫬á ΓѬßΓá: "How are you?" ("èᬠ»«ª¿-
  382.       óáÑΓÑ?").  Ä¡á ∩ó½∩ÑΓß∩ »α¿¼Ñα«¼ ßΓáΓ¿τ¡«ú« ΓѬßΓá,  Γ.Ñ. ΓѬßΓá,
  383.       ¬«Γ«αδ⌐ ¼«ª¡« »α«τÑßΓ∞, ¡« ¬«Γ«αδ⌐ ¡Ñ ¿¼ÑÑΓ ¿¡ΓÑαá¬Γ¿ó¡«ú« º¡áτÑ-
  384.       ¡¿∩.  äαπú¿¼¿ ß½«óἿ,  ßΓáΓ¿τ¡δ⌐ ΓѬßΓ ¿ß»«½∞ºπÑΓß∩ ñ½∩ «»¿ßá¡¿∩
  385.       ñαπú¿σ «íΩÑ¬Γ«ó, ¿ »α¿ á¬Γ¿óᵿ¿ Ñú« ¡¿τÑú« ¡Ñ »α«¿º«⌐ñÑΓ.
  386.  
  387.                                                      è¡«»¬¿
  388.  
  389.            ìá¿í«½ÑÑ ¿¡ΓÑαÑß¡δ¼¿   φ½Ñ¼Ñ¡ΓἿ   »á¡Ñ½¿  ñ¿á½«úá  "Hello,
  390.       World!" ∩ó½∩εΓß∩ τÑΓδαÑ »α∩¼«πú«½∞¡¿¬á ó Ñú«  »αáó«⌐  τáßΓ¿.  Ä¡¿
  391.       ¡áºδóáεΓß∩  ¬¡«»¬á¼¿  ¿  ∩ó½∩εΓß∩ »α¿¼ÑαἿ φ½Ñ¼Ñ¡Γ«ó π»αáó½Ñ¡¿∩.
  392.       Ä¡¿ ¡áºδóáεΓß∩ φ½Ñ¼Ñ¡ΓἿ π»αáó½Ñ¡¿∩,  Γ.¬.  ¡á»«¼¿¡áεΓ  φ½Ñ¼Ñ¡Γδ
  393.       π»αáó½Ñ¡¿∩ φ½Ñ¬Γα«¡¡δσ »α¿í«α«ó.  èáªñá∩ ¬¡«»¬á ¿¼ÑÑΓ ¼ÑΓ¬π, π¬á-
  394.       ºδóáεΘπε, τΓ« »α«¿º«⌐ñÑΓ »α¿ ÑÑ ¡áªáΓ¿¿.
  395.  
  396.            ìáªáΓ¿Ñ ¬¡«»¬¿ »α«¿ºó«ñ¿Γß∩ ß »«¼«Θ∞ε "¼δΦ¿" ¿½¿ »α¿óÑñÑ¡¿Ñ¼
  397.       ÑÑ  ó ß«ßΓ«∩¡¿Ñ »« π¼«½τá¡¿ε (τΓ« «»¿ßá¡« ¡¿ªÑ) ¿ »«ß½ÑñπεΘ¿¼ ¡á-
  398.       ªáΓ¿Ñ¼ ¬½áó¿Φ¿  Enter.  Å«»α«íπ⌐ΓÑ  "¡áªáΓ∞" «ñ¡π ¿º ¬¡«»«¬ ß »«-
  399.       ¼«Θ∞ε "¼δΦ¿" (»«¼ÑßΓ¿ó ¡á ¡ÑÑ π¬áºáΓѽ∞ "¼δΦ¿" ¿ ¡áªáó »α¿  φΓ«¼π
  400.       ¬½áó¿Φπ "¼δΦ¿") ¿ »«ß¼«Γα¿ΓÑ, τΓ« »α«¿º«⌐ñÑΓ: ¬¡«»¬á »ÑαÑñó¿¡ÑΓß∩
  401.  
  402.       Turbo Vision ñ½∩ æ++         = 25 =
  403.  
  404.       ó»αáó« ¡á «ñ¡π »«º¿µ¿ε ¿ ÑÑ ΓÑ¡∞ ¿ßτѺ¡ÑΓ. æ«ºñáÑΓß∩ ¿½½εº¿∩, τΓ«
  405.       »α∩¼«πú«½∞¡πε ¬¡«»¬π ¡áª¿¼áεΓ ó ¡á»αáó½Ñ¡¿¿ ó¡¿º ¬ φ¬αá¡π.  è«úñá
  406.       óδ «Γ»πßΓ¿ΓÑ ¬½áó¿Φπ "¼δΦ¿", Γ« óδ»«½¡¿Γß∩ ñÑ⌐ßΓó¿Ñ, ß««ΓóÑΓßΓóπ-
  407.       εΘÑÑ «ΓªáΓ«⌐ ¬¡«»¬Ñ.
  408.  
  409.            ÄíαáΓ¿ΓѠ󡿼᡿Ѡ¡á Γ«,  τΓ« ¼ÑΓ¬á ¬¡«»¬¿  Cancel  («Γ¼Ñ¡á)
  410.       ¿¼ÑÑΓ µóÑΓ,  «Γ½¿τ¡δ⌐ «Γ ñαπú¿σ ¼ÑΓ«¬.  ¥Γ« «º¡áτáÑΓ,  τΓ« ¬¡«»¬á
  411.       Cancel ∩ó½∩ÑΓß∩ ó ñá¡¡δ⌐ ¼«¼Ñ¡Γ ¬¡«»¬«⌐ π»αáó½Ñ¡¿∩,  ¿ß»«½∞ºπѼ«⌐
  412.       »« π¼«½τá¡¿ε ó »á¡Ñ½¿ ñ¿á½«úá. àß½¿ ó φΓ«¼ ß½πτáÑ óδ ¡áª¼ÑΓÑ ¬½á-
  413.       ó¿Φπ Enter, Γ« Σá¬Γ¿τÑ߬¿ ¡áª¼ÑΓÑ ¬¡«»¬π Cancel.
  414.  
  415.       Åα¿¼Ñτá¡¿Ñ: é ¼«¡«σα«¼¡δσ ß¿ßΓѼáσ ¬¡«»¬¿,  ¿ß»«½∞ºπѼδÑ »« π¼«½-
  416.                   τá¡¿ε, «í«º¡áτáεΓß∩ ß »«¼«Θ∞ε ß¿¼ó«½«ó ">> <<".
  417.  
  418.            ô»αáó½∩εΘá∩ ¬¡«»¬á,  ¿ß»«½∞ºπѼá∩ »« π¼«½τá¡¿ε ó »á¡Ñ½¿ ñ¿á-
  419.       ½«úá,  ¼«ªÑΓ íδΓ∞ ¿º¼Ñ¡Ñ¡á ¡áªáΓ¿Ñ¼ ¬½áó¿Φ¿ Tab (Γáíπ½∩µ¿∩). Å«»-
  420.       α«íπ⌐ΓÑ »α«ñѽáΓ∞ φΓ« ß »á¡Ñ½∞ε ñ¿á½«úá "Hello,  World!". ÄΓ½¿τ¿-
  421.       Γѽ∞¡δÑ µóÑΓá ñ½∩ ¬¡«»¬¿ »« π¼«½τá¡¿ε »ÑαÑσ«ñ∩Γ «Γ «ñ¡«⌐ ¬¡«»¬¿ ¬
  422.       ñαπú«⌐ »α¿ ¬áªñ«¼ ¡áªáΓ¿¿ ¬½áó¿Φ¿ Tab. ¥Γ« »«ºó«½∩ÑΓ »«½∞º«óáΓѽε
  423.       ¡áª¿¼áΓ∞ ¬¡«»¬π,  ¡Ñ »«½∞ºπ∩ß∞ "¼δΦ∞ε",  á »ÑαѼÑΘá∩ µóÑΓ ¬¡«»¬¿,
  424.       ¿ß»«½∞ºπѼ«⌐  »« π¼«½τá¡¿ε,  ¬ óδíαá¡¡«⌐ ¬¡«»¬Ñ ß »«¼«Θ∞ε ¬½áó¿Φ¿
  425.       Tab ¿ ¡áª¿¼á∩ ºáΓѼ ¬½áó¿Φπ Enter ¿½¿ "Åα«íѽ" ñ½∩ "¡áªáΓ¿∩ ¬¡«»-
  426.       ¬¿".
  427.  
  428.            Åα¿¼¿ΓÑ ó« ó¡¿¼á¡¿Ñ, τΓ« ¼á¡¿»π½∩µ¿¿ "¼δΦ∞ε" ó¡Ñ »á¡Ñ½¿ ñ¿á-
  429.       ½«úá  (¡á»α¿¼Ñα,  «íαáΘÑ¡¿Ñ  ¬ ¼Ñ¡ε) ¡¿ ¬ τѼπ ¡Ñ »α¿ó«ñ∩Γ,  »«¬á
  430.       í½«¬ ñ¿á½«úá á¬Γ¿óÑ¡. ü½«¬ ñ¿á½«úá ¬«¡Γα«½¿απÑΓ dct!
  431.  
  432.  
  433.  
  434.                             éδσ«ñ ¿º »α«úαá¼¼δ
  435.  
  436.            ìáªáΓ¿Ñ ½εí«⌐ ¬¡«»¬¿, ó »á¡Ñ½¿ ñ¿á½«úá Hello, πí¿αáÑΓ »á¡Ñ½∞
  437.       ñ¿á½«úá ¿ «ßΓáó½∩ÑΓ αáí«τπε «í½áßΓ∞ »πßΓ«⌐.  éδ ß¡«óá ¼«ªÑΓÑ óδí-
  438.       αáΓ∞ ¼Ñ¡ε Hello ¿ óδºóáΓ∞ »á¡Ñ½∞ ñ¿á½«úá ß¬«½∞¬« πú«ñ¡« αáº.  ä½∩
  439.       Γ«ú«,  τΓ«íδ óδ⌐Γ¿ ¿º »α«úαá¼¼δ,  ¼«ª¡« ½¿í« óδíαáΓ∞ ¬«¼á¡ñπ Exit
  440.       ¼Ñ¡ε  Hello,  ½¿í« ¡áªáΓ∞ ¬½áó¿Φπ Alt-X - ß«¬αáΘÑ¡¡δ⌐ óáα¿á¡Γ ¬«-
  441.       ¼á¡ñδ Exit. ê¼Ñ⌐ΓÑ ó ó¿ñπ, τΓ« φëàóáα¿á¡Γ »αÑñßΓáó½Ñ¡ ¬á¬ ó ¼Ñ-
  442.       ¡ε Hello, Γᬠ¿ ó ßΓα«¬Ñ ß«ßΓ«∩¡¿∩ ó ¡¿ª¡Ñ⌐ τáßΓ¿ φ¬αá¡á.
  443.  
  444.            æ½ÑñπÑΓ »α¿ñÑনóáΓ∞ß∩ Γᬫú« »αáó¿½á:  éßÑúñá «íÑß»Ñτ¿óá⌐ΓÑ
  445.            »«½∞º«óáΓÑ½ε »α«ßΓ«⌐ óδσ«ñ ¿º »α«úαá¼¼δ.  ìѬ«Γ«αδÑ αáßßÑ∩¡-
  446.            ¡δÑ  »«½∞º«óáΓѽ¿,  ó»«½¡Ñ  óÑα«∩Γ¡«,¡Ñ ß¼«úπΓ ¡á⌐Γ¿ óδσ«ñ ¿
  447.            »«»δΓáεΓß∩ »ÑαѺáúαπº¿Γ∞  ¬«¼»∞εΓÑα,  τѼ  »«¼ÑΦáεΓ  ºá¬αδΓ∞
  448.            Σá⌐½δ  »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ¿½¿ óδ»«½¡¿Γ∞ ñαπú¿Ñ ºáóÑαΦáεΘ¿Ñ
  449.            «»Ñαᵿ¿ »ÑαÑñ óδσ«ñ«¼ ¿º »α«úαá¼¼δ.
  450.  
  451.  
  452.  
  453.  
  454.       Turbo Vision ñ½∩ æ++         = 26 =
  455.  
  456.                                 æΓαπ¬Γπαá »α«úαá¼¼δ HELLO.CPP
  457.       -----------------------------------------------------------------
  458.  
  459.            îδ αáßß¼«Γαѽ¿ σ«ñ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ Hello »«ß½Ñ  ÑÑ  ºá-
  460.       »π߬á. èᬿ¼ ªÑ «íαẫ¼ αÑ὿ºπÑΓß∩ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ? ü«½∞Φá∩
  461.       τáßΓ∞ »α«úαá¼¼δ Hello π¡áß½Ññ«óá¡á ¿º «»αÑñѽѡ¡δσ αá¡ÑÑ «íΩÑ¬Γ«ó
  462.       ó Turbo Vision.  Åα¿τѼ π¡áß½Ññ«óá¡á ¡áßΓ«½∞¬« º¡áτ¿Γѽ∞¡á∩ τáßΓ∞
  463.       »α«úαá¼¼δ, τΓ« »α¿¡µ¿»δ ÑÑ αÑ὿ºáµ¿¿ ¼«úπΓ »«¬áºáΓ∞ß∩ Γá¿¡ßΓóÑ¡-
  464.       ¡δ¼¿.  Å«Φáú«ó«Ñ  óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ß »«¼«Θ∞ε ¿¡ΓÑúα¿α«óá¡¡«ú«
  465.       «Γ½áñτ¿¬á ¡Ñ ñáßΓ »«½¡«⌐ ¬áαΓ¿¡δ, Γ.¬. Turbo Vision Σπ¡¬µ¿«¡¿απÑΓ
  466.       ó ó¿ñÑ «ΓΓαá¡ß½¿α«óá¡¡«⌐ í¿í½¿«ΓѬ¿.  è ßτáßΓ∞ε,  Ñß½¿ óδ π½«ó¿ΓÑ
  467.       ßπΓ∞ αáí«Γδ »α«úαá¼¼δ,  Γ« º¡á¡¿Ñ Γ«τ¡δσ »α¿¡µ¿»«ó ÑÑ  αÑ὿ºáµ¿¿
  468.       ¡Ñ »«ΓαÑíπÑΓß∩.
  469.  
  470.            ùΓ«íδ »«¡∩Γ∞ »α¿¡µ¿»δ αáí«Γδ »α«úαá¼¼δ Turbo Vision, ß½ÑñπÑΓ
  471.       »«¼¡¿Γ∞, τΓ«  «¡á »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¼¡«ªÑßΓó« ß«ó¼ÑßΓ¡« αáí«Γáε-
  472.       Θ¿σ «íΩÑ¬Γ«ó.  Ä»αÑñѽ¿ΓÑ ú½áó¡δÑ «íΩѬΓδ ¿  »«ßΓáαá⌐ΓÑß∞  »«¡∩Γ∞
  473.       »α¿¡µ¿»δ ¿σ ß«ó¼ÑßΓ¡«⌐ αáí«Γδ. çáΓѼ »α«ß½Ññ¿ΓÑ, ¬á¬ óΓ«α«ßΓѻѡ-
  474.       ¡δÑ «íΩѬΓδ »«ññÑনóáεΓ í«½ÑÑ ¬απ»¡δÑ «íΩѬΓδ.
  475.  
  476.            ÅÑαÑñ ΓѼ  ¬á¬ ¿ºπτáΓ∞ ¼ÑΓ«ñ¿¬π,  ß½ÑñπÑΓ »«¡∩Γ∞ «»αÑñѽѡ¿∩
  477.       ¬½áßß«ó ó  »α¿½áúáѼδσ Σá⌐½áσ ºáú«½«ó¬«ó *.H.  é᪡« »«¡∩Γ∞,  τΓ«
  478.       ß«ñÑনΓß∩ ó «íΩѬΓÑ ¿ ¬á¬ «¡ ß««Γ¡«ß¿Γß∩ ß ñαπú¿¼¿  «íΩѬΓἿ  ó
  479.       ß¿ßΓѼÑ.
  480.  
  481.                                       è½áßß »α¿¬½áñ¡«⌐ »α«úαá¼¼δ
  482.  
  483.            "èαáÑπú«½∞¡δ¼ ¬á¼¡Ñ¼"  ½εí«⌐  »α¿¬½áñ¡«⌐  »α«úαá¼¼δ ∩ó½∩ÑΓß∩
  484.       ¬½áßß TAααlication.  ò«Γ∩, Σá¬Γ¿τÑ߬¿, óδ ¡¿¬«úñá ó ∩ó¡«¼ ó¿ñÑ ¡Ñ
  485.       ß«ºñáÑΓÑ   «íΩѬΓδ   Γ¿»á   TAααlication.   èᬠ¡áß½Ññ¡¿¬ TGrouα,
  486.       TAααlication - φΓ« úαπ»»«ó«⌐ «íΩѬΓ,  ¬«Γ«αδ⌐ º¡áÑΓ ¬á¬ ó½áñÑΓ∞ ¿
  487.       π»αáó½∩Γ∞ ñ¿¡á¼¿τÑ߬¿¼¿ µÑ»«τ¬á¼¿  «Γ«íαáªáѼδσ  «íΩÑ¬Γ«ó,  Γᬿσ
  488.       ¬á¬, ¡á»α¿¼Ñα,  ¼Ñ¡ε ¿½¿ «¬¡á »α«úαá¼¼δ ¿½¿ ñαπú¿¼¿ «Γ«íαáªáÑ¼δ¼¿
  489.       »«ñ«íΩѬΓἿ. è½áßß TAααlication ßá¼á »« ßÑíÑ ¡Ñ «íÑß»Ñτ¿óáÑΓ óδ-
  490.       »«½¡Ñ¡¿Ñ  »α«úαá¼¼δ.  éδ  ¿ß»«½∞ºπÑΓÑ  TAααlication  ¬á¬  íẫóδ⌐
  491.       ¬½áßß.  êº  ¡Ñú«  óδ  »«α«ªñáÑΓÑ  ¬½áßß,  ß«ñÑαªáΘ¿⌐  ßπΓ∞  óáΦÑ⌐
  492.       »α«úαá¼¼δ - ÑÑ "¼∩ß«".  ï¿Φ∞ «ñ¿¡  φ¬ºÑ¼»½∩α  Γᬫú«  »α¿¬½áñ¡«ú«
  493.       ¬½áßßá ¡Ñ«íσ«ñ¿¼ ñ½∩ ¬«¡¬αÑΓ¡«⌐ »α«úαá¼¼δ. é »α«úαἼѠHello φΓ¿¼
  494.       »α«¿ºó«ñ¡δ¼ ¬½áßß«¼ ∩ó½∩ÑΓß∩ THelloAαα, «íΩ∩ó½Ñ¡¡δ⌐ ß½ÑñπεΘ¿¼ «í-
  495.       αẫ¼:
  496.  
  497.       class THelloAαα : αublic TAααlication
  498.       {
  499.         αublic:
  500.            THelloAαα();    // ¬«¡ßΓαπ¬Γ«α
  501.  
  502.            virtual void handleEvent ( TEvent& event );
  503.            static  TMenuBar *initMenuBar (TRect r);
  504.            static  TStatusLine *initStatusLine (TRect r);
  505.  
  506.  
  507.         αrivate:
  508.  
  509.       Turbo Vision ñ½∩ æ++         = 27 =
  510.  
  511.  
  512.            void  greetingBox();
  513.       };
  514.  
  515.            é í«½ÑÑ  ß½«ª¡δσ »α«úαá¼¼áσ «»αÑñѽѡ¿∩ ¬½áßß«ó ß½ÑñπÑΓ αáº-
  516.       ¼ÑΘáΓ∞ ó ºáú«½«ó«τ¡δσ Σá⌐½áσ *.H , á ß««ΓóÑΓßΓóπεΘ¿Ñ «»¿ßá¡¿∩ - ó
  517.       Σá⌐½áσ *.CPP .
  518.  
  519.            è«¡Ñτ¡«, «íΩÑ¬Γ  THelloAαα  ß«ñÑαª¿Γ ¡Ñ »α«ßΓ« ¬«¡ßΓαπ¬Γ«α ¿
  520.       τÑΓδαÑ Σπ¡¬µ¿¿-φ½Ñ¼Ñ¡Γá (ó ñá½∞¡Ñ⌐ΦѼ »α«ßΓ« ¼ÑΓ«ñ);  »«α«ªñÑ¡¡δ⌐
  521.       ¬½áßß  ¡áß½ÑñπÑΓ  óßÑ  ßó«⌐ßΓóá ßó«Ñú« íẫó«ú« ¬½áßßá (á Γ«Γ,  ó
  522.       ßó«ε «τÑαÑñ∞,  - ßó«Ñú« ¡Ñ»«ßαÑñßΓóÑ¡¡«ú« íẫó«ú« ¬½áßßá,  ¿ Γá¬
  523.       ñá½ÑÑ).  Åα¿  ß«ºñá¡¿¿ «íΩѬΓá THelloAαα óδ «»αÑñѽ∩ÑΓÑ ΓᬪѠÑú«
  524.       «Γ½¿τ¿∩ «Γ »αÑñΦÑßΓóÑ¡¡¿¬á TAααlication.  éßÑ ¡Ñ »ÑαÑ«»αÑñѽѡ¡δÑ
  525.       ßó«⌐ßΓóá ¡áß½ÑñπεΓß∩ ¿º TAααlication ó ¡Ñ¿º¼Ñ¡¡«¼ ó¿ñÑ.
  526.  
  527.            îδ ßÑ⌐τáß «ßΓáó½∩Ѽ  ó  ßΓ«α«¡Ñ  «íßπªñÑ¡¿Ñ  ¬«¡ßΓαπ¬Γ«αá  ¿
  528.       »αÑñ½áúáѼ «íº«α τÑΓδαÑσ ¼ÑΓ«ñ«ó,  «»αÑñѽѡ¡δσ ó THelloAαα.  ¥Γ¿
  529.       ¼ÑΓ«ñδ,  ó Γ«¼ ¿½¿ ¿¡«¼ ó¿ñÑ,  »α¿ßπΓßΓóπεΓ, »αá¬Γ¿τÑ߬¿, ó ½εí«⌐
  530.       »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ:
  531.  
  532.         1. öπ¡¬µ¿«¡¿α«óá¡¿Ñ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ  «»αÑñѽ∩ÑΓß∩  ΓѼ  ¡á
  533.            ¬á¬¿Ñ  ß«íδΓ¿∩  «¡á  αÑáú¿απÑΓ  ¿  ¬á¬  φΓ« »α«¿ßσ«ñ¿Γ.  ä½∩
  534.            «íÑß»ÑτÑ¡¿∩ αÑᬵ¿¿ ¡á ß«íδΓ¿∩ óδ  ñ«½ª¡δ  «»αÑñѽ¿Γ∞  ¼ÑΓ«ñ
  535.            handleEvent.  é¿αΓπá½∞¡δ⌐  ¼ÑΓ«ñ  handleEvent ¡áß½ÑñπÑΓß∩ ¿º
  536.            ¬½áßßá TAααlication (τÑαѺ Ñú« íẫóδ⌐ ¬½áßß TProgramm)  ñ½∩
  537.            αáí«Γδ ß ß«íδΓ¿∩¼¿, ¬«Γ«αδÑ »α«¿ßσ«ñ∩Γ ó σ«ñÑ óδ»«½¡Ñ¡¿∩ ½ε-
  538.            í«⌐ »α«úαá¼¼δ,  «ñ¡á¬« óδ óßÑúñá ñ«½ª¡δ »ÑαÑ«»αÑñѽ∩Γ∞ «íαá-
  539.            í«Γτ¿¬ ß«íδΓ¿⌐, ß»Ñµ¿Σ¿τ¡δσ ñ½∩ óáΦÑ⌐ ß«íßΓóÑ¡¡«⌐ »α¿¬½áñ¡«⌐
  540.            »α«úαá¼¼δ.
  541.  
  542.         2. æΓáΓ¿τÑ߬¿⌐ ¼ÑΓ«ñ initMenuBar ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á «íΩѬΓ
  543.            TMenuBar. Ä¡á ºáñáÑΓ ¼Ñ¡ε ñ½∩ óáΦÑ⌐ »α«úαá¼¼δ (¡á»«¼¡¿¼, τΓ«
  544.            ßΓ᫬«ó«Ñ ¼Ñ¡ε  αáß»«½áúáÑΓß∩  ó  óÑασ¡Ñ⌐  ßΓα«¬Ñ   φ¬αá¡á).
  545.            TAααlication »«ññÑনóáÑΓ  ßá¼π αáí«Γπ ¼Ñ¡ε,  ¡« ¡Ñ ß«ñÑনΓ
  546.            ¬«¼á¡ñ; Ñß½¿ óá¼ ΓαÑíπεΓß∩ ¼Ñ¡ε, Γ« óδ ñ«½ª¡δ «»αÑñѽ¿Γ∞ ¼Ñ-
  547.            Γ«ñ initMenuBar  ñ½∩ ¿σ ß«ºñá¡¿∩.  é»«ß½ÑñßΓó¿¿ íπñÑΓ ó¿ñ¡«,
  548.            ¬á¬ ¬«¡ßΓαπ¬Γ«α THelloAαα óδºδóáÑΓ ¼ÑΓ«ñ initMenuBar ¿ ó¬½ε-
  549.            τáÑΓ  »«½πτÑ¡¡δ⌐ ¿º ¡Ñú« «íΩÑ¬Γ TMenuBar ó úαπ»»π »α¿¬½áñ¡«⌐
  550.            »α«úαá¼¼δ.
  551.  
  552.         3. Ç¡á½«ú¿τ¡«, ßΓáΓ¿τÑ߬¿⌐ ¼ÑΓ«ñ initStatusLine ó«ºóαáΘáÑΓ π¬á-
  553.            ºáΓѽ∞  ¡á  TStatusLine,  τΓ«íδ  «íÑß»Ñτ¿Γ∞  ΓѬßΓ  ó ßΓ᫬Ñ
  554.            ß«ßΓ«∩¡¿∩ ó ¡¿ª¡Ñ⌐ τáßΓ¿ φ¬αá¡á.  é ¡Ñ⌐ «íδτ¡« ß««íΘáÑΓß∩  «
  555.            ΓѬπΘѼ ß«ßΓ«∩¡¿¿ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ,  ñáÑΓß∩ ¿¡Σ«α¼áµ¿∩ «
  556.            π»αáó½∩εΘ¿σ ¬½áó¿Φáσ ¿½¿ ¡á»«¼¿¡áÑΓß∩  «  ñÑ⌐ßΓó¿∩σ, ¬«Γ«αδÑ
  557.            ñ«½ªÑ¡   »αÑñ»α¿¡∩Γ∞   »«½∞º«óáΓѽ∞.   èᬠ  ¿  ó  ß½πτáÑ  ß
  558.            initMenuBar, ¬«¡ßΓαπ¬Γ«α THelloAαα óδºδóáÑΓ initStatusLine ¿
  559.            ó¬½ετáÑΓ »«½πτÑ¡¡δ⌐  ¿º  ¡ÑÑ  «íΩÑ¬Γ TStatusLine ó úαπ»»«ó«⌐
  560.            «íΩÑ¬Γ óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
  561.  
  562.         4. ùáßΓ¡δ⌐ ¼ÑΓ«ñ greetingBox óδºδóáÑΓ »«∩ó½Ñ¡¿Ñ ñ¿á½«ú«ó«ú« «¬-
  563.            ¡á »«ß½Ñ óδí«αá »π¡¬Γᠼѡε Greeting.  ¥Γ«Γ ¼ÑΓ«ñ óδºδóáÑΓß∩
  564.  
  565.       Turbo Vision ñ½∩ æ++         = 28 =
  566.  
  567.            Γ«½∞¬« ¿º ¼ÑΓ«ñá handleEvent ó «ΓóÑΓ ¡á  ß«íδΓ¿Ñ,  ¿¡¿µ¿¿α«-
  568.            óá¡¡«Ñ óδí«α«¼  ¬«¼á¡ñδ  ¼Ñ¡ε  Greeting ß »«¼«Θ∞ε "¼δΦ¿" ¿½¿
  569.            ¡áªáΓ¿∩ ¬½áó¿Φ.  é í«½ÑÑ ß«óÑαΦÑ¡¡δσ  »α¿¬½áñ¡δσ  »α«úαá¼¼áσ
  570.            ¿¼ÑεΓß∩  «Γñѽ∞¡δÑ Σπ¡¬µ¿¿ ñ½∩ «Γ¬½¿¬á ¡á ¬áªñδ⌐ »π¡¬Γ ¼Ñ¡ε,
  571.            «»αÑñѽѡ¡δ⌐ ó »Ñαó«¡áτá½∞¡«¼ ¼Ñ¡ε.
  572.  
  573.            êΓá¬, ¼ÑΓ«ñδ ¬½áßßá THelloAαα  ß½πªáΓ  ñ½∩  αÑ὿ºáµ¿¿  óßÑσ
  574.       ó«º¼«ª¡«ßΓÑ⌐ «íΩÑ¬Γ«ó óáΦÑ⌐ »α«úαá¼¼δ:  ¬«¡ßΓαπ¬Γ«α ñ½∩ πßΓá¡«ó¬¿
  575.       »α«úαá¼¼δ,  "¼Ñσá¡¿º¼" («íαáí«Γτ¿¬ ß«íδΓ¿⌐) ñ½∩ αáß»«º¡áóá¡¿∩ ß«-
  576.       íδΓ¿⌐ ¿ ¼ÑΓ«ñδ, ñ½∩ αÑᬵ¿¿ ¡á φΓ¿ ß«íδΓ¿∩. ¥Γ¿ Γα¿ "ßαÑñßΓóá" óδ
  577.       ¿ ñ«½ª¡δ  óßÑúñá  ñ«íáó½∩Γ∞  ¬  ¬½áßßá¼,  »«α«ªñÑ¡¡δ¼  ¿º  ¬½áßßá
  578.       TAααlication.
  579.  
  580.                                         ÄíΩÑ¬Γ "»á¡Ñ½∞ ñ¿á½«úá"
  581.  
  582.            äαπú¿¼ óáª¡δ¼ «íΩÑ¬Γ«¼,  ¿ß»«½∞ºπÑ¼δ¼ ó »α«úαἼѠHello, ∩ó-
  583.       ½∩ÑΓß∩ «íΩÑ¬Γ "»á¡Ñ½∞ ñ¿á½«úá",  Γ.¬. φΓá »á¡Ñ½∞ ¡Ñ óδ»«½¡∩ÑΓ ¬á-
  584.       ¬¿σ-½¿í« ß»Ñµ¿á½∞¡δσ Σπ¡¬µ¿⌐,  Γ« ó Hello ¿ß»«½∞ºπÑΓß∩ »α«ßΓ« φ¬-
  585.       ºÑ¼»½∩α ¬½áßßá TDialog.  Äíδτ¡«, »«α«ªñáΓ∞ ¡«óδ⌐ ¬½áßß ¿º TDialog
  586.       ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿,  σ«Γ∩ íδóáεΓ ß½πτá¿, ¬«úñá φΓ« ¼«ªÑΓ «¬áºáΓ∞ß∩
  587.       »«½Ñº¡δ¼.
  588.  
  589.            æá¼ »«  ßÑíÑ ¬½áßß TDialog ¡Ñ ß«ñÑαª¿Γ ¿¡ΓÑαá¬Γ¿ó¡δσ φ½Ñ¼Ñ¡-
  590.       Γ«ó. Ä¡ »αÑñßΓáó½∩ÑΓ ß«í«⌐ ½¿Φ∞ Φáí½«¡: ß Ñú« »«¼«Θ∞ε óδ ºáñáÑΓÑ,
  591.       ¬á¬¿Ñ  »«½∩  (¿½¿ φ½Ñ¼Ñ¡Γδ π»αáó½Ñ¡¿∩) ¡πª¡δ ñ½∩ óºá¿¼«ñÑ⌐ßΓó¿∩ ß
  592.       »«½∞º«óáΓѽѼ.
  593.  
  594.            öπ¡¬µ¿∩   THelloAαα::greetingBox   ß«ºñáÑΓ   «íΩÑ¬Γ   ¬½áßßá
  595.       TDialog, "óßΓáó½∩∩" ó ¡Ñú« τÑΓδαÑ ¬¡«»¬¿,  ¬«Γ«αδÑ ∩ó½∩εΓß∩ «Γ«í-
  596.       αáªáÑ¼δ¼¿  «íΩѬΓἿ  Turbo  Vision.  (ìừ¼¡¿¼,  τΓ« óßÑ «íΩѬΓδ
  597.       »α«úαá¼¼δ, óδó«ñ∩Θ¿Ñ σ«Γ∞ ¬á¬¿Ñ-Γ« ¿º«íαáªÑ¡¿∩ ¡á φ¬αá¡, ∩ó½∩εΓß∩
  598.       «Γ«íαáªáÑ¼δ¼¿ «íΩѬΓἿ Turbo Vision!) ¥Γ« «íδτ¡á∩  ß¿Γπᵿ∩  »α¿
  599.       ¿ß»«½∞º«óá¡¿¿ ñ¿á½«ú«óδ󠫬«¡.  Äíδτ¡«,  óδ »α«ßΓ« "óßΓáó½∩ÑΓÑ" ó
  600.       ¡¿σ φ½Ñ¼Ñ¡Γδ π»αáó½Ñ¡¿∩,  ¬«Γ«αδÑ  σ«Γ¿ΓÑ  ¿ß»«½∞º«óáΓ∞.  éßÑ  ªÑ
  601.       «ßΓá½∞¡«Ñ, τΓ« ñ«½ª¡« ¡áσ«ñ¿Γ∞ß∩ ó »á¡Ñ½¿ ñ¿á½«úá (ó¬½ετá∩  «íαá-
  602.       í«Γτ¿¬ ß«íδΓ¿⌐), αÑ὿º«óá¡« ó ¬½áßßÑ TDialog.
  603.  
  604.  
  605.  
  606.  
  607.       Turbo Vision ñ½∩ æ++         = 29 =
  608.  
  609.                                 ò«ñ óδ»«½¡Ñ¡¿∩ ¿ «Γ½áñ¬¿ »α«úαá¼¼δ
  610.  
  611.            Æ.¬. »α«úαá¼¼δ,  ¡á»¿ßá¡¡δÑ ß ¿ß»«½∞º«ó᡿Ѽ  Turbo  Vision,
  612.       π»αáó½∩εΓß∩ ß«íδΓ¿∩¼¿, ¿σ ßΓαπ¬Γπαá ¡Ñ߬«½∞¬« «Γ½¿τáÑΓß∩ «Γ «íδτ-
  613.       ¡δσ »α«úαá¼¼. Äß«íÑ¡¡«ßΓ∞ε »α«úαá¼¼, π»αáó½∩Ѽδσ ß«íδΓ¿∩¼¿, ∩ó½∩-
  614.       ÑΓß∩  «Γñѽѡ¿Ñ  ßΓαπ¬Γπα π»αáó½Ñ¡¿∩,  ¬«Γ«αδÑ óδ»«½¡∩εΓ τΓÑ¡¿Ñ ¿
  615.       «íαáí«Γ¬π óσ«ñ¡δσ ñá¡¡δσ »«½∞º«óáΓѽ∩ (¿ ñαπú¿σ ß«íδΓ¿⌐), «Γ »α«-
  616.       µÑñπα ¿ Σπ¡¬µ¿⌐, ¬«Γ«αδÑ ó«ºñÑ⌐ßΓóπεΓ ¡á φΓ¿ óσ«ñ¡δÑ ñá¡¡δÑ.
  617.  
  618.            Äíδτ¡δÑ »α«úαá¼¼δ,  ¬á¬  »αá󿽫,  ß«ñÑαªáΓ  ¼¡«ú« «Γñѽ∞¡δσ
  619.       »α«úαá¼¼¡δσ í½«¬«ó,  ¬áªñδ⌐ ¿º ¬«Γ«αδσ »αÑñπß¼áΓα¿óáÑΓ  »«½πτÑ¡¿Ñ
  620.       óσ«ñ¡δσ ñá¡¡δσ,  ºáΓѼ «»αÑñѽ∩ÑΓ,  ¬á¬«⌐ τáßΓ¿ »α«úαá¼¼δ «¡¿ áñ-
  621.       αÑß«óá¡δ ¿ óδ»«½¡∩εΓ ó맮ó ß««ΓóÑΓßΓóπεΘÑú«  Σαáú¼Ñ¡Γá  (Σαáú¼Ñ¡-
  622.       Γ«ó) ñ½∩ «íαáí«Γ¬¿ φΓ¿σ ñá¡¡δσ,  á ºáΓѼ »«óΓ«α∩ÑΓ óßÑ φΓ¿ «»Ñαá-
  623.       µ¿¿.  èα«¼Ñ Γ«ú«, Σαáú¼Ñ¡Γ, ºáóÑαΦáεΘ¿⌐ «íαáí«Γ¬π óσ«ñ¡δσ ñá¡¡δσ,
  624.       ñ«½ªÑ¡ »«½πτ¿Γ∞ ¿¡Σ«α¼áµ¿ε « ¼ÑßΓÑ »ÑαÑñáτ¿ π»αáó½Ñ¡¿∩ ñ½∩ ß½Ññπ-
  625.       εΘÑú« φΓá»á óó«ñá.
  626.  
  627.            Åα«úαá¼¼δ, π»αáó½∩ѼδÑ ß«íδΓ¿∩¼¿,  ¡á«í«α«Γ, ¿¼ÑεΓ µÑ¡Γα὿-
  628.       º«óá¡¡δ⌐ ¼Ñσá¡¿º¼ ñ¿ß»ÑΓτÑα¿ºáµ¿¿ ß«íδΓ¿⌐. Æᬿ¼ «íαẫ¼, í«½∞Φá∩
  629.       τáßΓ∞ »α«úαá¼¼δ ¡Ñ ºáí«Γ¿Γß∩ « óδí«α¬Ñ óσ«ñ¡δσ ñá¡¡δσ ¿, »«φΓ«¼π,
  630.       ¿σ ¿ß»«½∞º«óá¡¿Ñ ¡Ñ íπñÑΓ ß«ßΓáó½∩Γ∞ í«½∞Φ«⌐ »α«í½Ñ¼δ. éáΦ¿ Σπ¡¬-
  631.       µ¿¿ »α«ßΓ« ªñπΓ, ¬«úñᠵѡΓαá½∞¡δ⌐ ñ¿ß»ÑΓτÑα »ÑαÑñáßΓ ¿σ ¡á «íαá-
  632.       í«Γ¬π.  ¥Γ« ¿¼ÑÑΓ í«½∞Φ«Ñ º¡áτÑ¡¿Ñ ñ½∩ «Γ½áñ¬¿ »α«úαá¼¼,  Γᬠ¬á¬
  633.       óδ ñ«½ª¡δ ¿º¼Ñ¡¿Γ∞ ßó«ε ßΓαáΓÑú¿ε «Γ½áñ¬¿, πßΓá¡áó½¿óá∩ ¬«¡Γα«½∞-
  634.       ¡δÑ Γ«τ¬¿ ó Σπ¡¬µ¿∩σ «íαáí«Γ¬¿ ß«íδΓ¿⌐ ñ½∩ »α«óÑન ñ¿ß»ÑΓτÑਧá-
  635.       µ¿¿ ß««íΘÑ¡¿⌐;  ó Σαáú¼Ñ¡Γáσ »α«úαá¼¼δ, αÑáú¿απεΘ¿σ ¡á »α«¿ßσ«ñ∩-
  636.       Θ¿Ñ ß«íδΓ¿∩, τΓ«íδ »α«óÑα¿Γ∞ »αáó¿½∞¡«ßΓ∞ ¿σ Σπ¡¬µ¿«¡¿α«óá¡¿∩.
  637.  
  638.       Åα¿¼Ñτá¡¿Ñ: ü«½ÑÑ ñÑΓá½∞¡« «í «Γ½áñ¬Ñ »α«úαá¼¼,  ¡á»¿ßá¡¡δσ ß »«-
  639.                   ¼«Θ∞ε Turbo Vision, ß¼. ó ú½áóÑ 10.
  640.  
  641.       Turbo Vision ñ½∩ æ++         = 30 =
  642.  
  643.  
  644.                öπ¡¬µ¿∩ main »α¿¬½áñ¡«⌐ »α«úαá¼¼δ HELLO
  645.       -----------------------------------------------------------------
  646.  
  647.            ìá ßἫ¼ óδß«¬«¼ πα«ó¡Ñ,  Σπ¡¬µ¿∩ main óßÑσ »α¿¬½áñ¡δσ »α«ú-
  648.       αá¼¼, ¡á»¿ßá¡¡δσ ß ¿ß»«½∞º«ó᡿Ѽ Turbo Vision,  óδú½∩ñ¿Γ »«ñ«í¡«
  649.       Σπ¡¬µ¿¿ main ó »α«úαἼѠHELLO:
  650.  
  651.       int main()
  652.       {
  653.               THelloAαα helloWorld;
  654.               helloWorld.run();
  655.               return 0;
  656.       }
  657.  
  658.            äáóá⌐ΓÑ αáºíÑαѼ Γѽ« main í«½ÑÑ »«ñα«í¡«.
  659.  
  660.                              æ«ºñá¡¿Ñ φ¬ºÑ¼»½∩αá »α¿¬½áñ¡«⌐ »α«úαá¼¼δ
  661.  
  662.            ÅÑαó«Ñ óδαáªÑ¡¿Ñ  «íΩ∩ó½∩ÑΓ  φ¬ºÑ¼»½∩α  THelloAαα  ß  ¿¼Ñ¡Ñ¼
  663.       helloWorld.  Ä¡« óδºδóáÑΓ  ¬«¡ßΓαπ¬Γ«α  THelloAαα::THelloAαα  ñ½∩
  664.       ß«ºñá¡¿∩  ¿  ¿¡¿µ¿á½¿ºáµ¿¿ «íΩѬΓá helloWorld.  êú¡«α¿απ∩ ó¡ÑΦ¡¿Ñ
  665.       ñÑΓ὿,  ¼«ª¡« ß¬áºáΓ∞, τΓ« ¬«¡ßΓαπ¬Γ«α THelloAαα »ÑαѬ½ετáÑΓ «í-
  666.       αáΘÑ¡¿∩  ¬  íẫóδ¼  ¬«¡ßΓαπ¬Γ«αἠ󡿺 »« ¿Ñαáασ¿¿ ¬½áßß«ó Turbo
  667.       Vision «Γ TObject (íẫóδ⌐ ¬½áßß Turbo Vision) ¬ TView, ¬ TGrouα,
  668.       ¬ TProgram,  ¬ TAααlication ¿,  ¡á¬«¡Ñµ,  ¬ THelloAαα. ¥Γ«Γ »«Γ«¬
  669.       ¡¿ßσ«ñ∩ΘÑ⌐ ñÑ∩Γѽ∞¡«ßΓ¿ πßΓá¡áó½¿óáÑΓ í«½∞Φ«Ñ ¬«½¿τÑßΓó«  πß½«ó¿⌐
  670.       »«  π¼«½τá¡¿ε ¿ ¼Ñσá¡¿º¼«ó,  ¬«Γ«αδÑ αÑ὿ºπεΓ ßΓá¡ñáαΓ¡δÑ ¿¡ΓÑα-
  671.       ΣÑ⌐ßδ í«½∞Φ¿¡ßΓóá »α¿¬½áñ¡δσ  »α«úαá¼¼.  (Ä»δΓ¡δ¼  »α«úαá¼¼¿ßΓá¼,
  672.       ªÑ½áεΘ¿¼ αáºαáíáΓδóáΓ∞ ¡ÑßΓá¡ñáαΓ¡δÑ ¿¡ΓÑαΣÑ⌐ßδ,  ¡Ñ«íσ«ñ¿¼« ¿ºπ-
  673.       τ¿Γ∞ ¿ «ßó«¿Γ∞ ß««ΓóÑΓßΓóπεΘ¿Ñ ¬«¡ßΓαπ¬Γ«αδ ¬½áßß«ó,  «»¿ßá¡¡δÑ ó
  674.       ú½áóÑ   13.)   Åα∩¼δ¼  αѺπ½∞ΓáΓ«¼  óßÑú«  φΓ«ú«  íπñÑΓ  Γ«,  τΓ«
  675.       helloWorld - ú½áó¡δ⌐ »α«úαá¼¼¡δ⌐ «íΩѬΓ,  ¡áτ¡ÑΓ ßó«Ñ ßπΘÑßΓó«óá-
  676.       ¡¿Ñ   ß   τ¿ßΓ«⌐,  »«½¡«φ¬αá¡¡«⌐,  »«½πΓ«¡«ó«⌐  αáí«τÑ⌐  «í½áßΓ¿.
  677.       è«¡ßΓαπ¬Γ«α  TProgram  óδºδóáÑΓ   initMenuBar  ¿  initStatusLine,
  678.       τΓ«íδ »α«¿¡¿µ¿á½¿º¿α«óáΓ∞  ¬«¡¬αÑΓ¡δÑ  ¼Ñ¡ε  ßΓ᫬¿  ß«ßΓ«∩¡¿∩  ¿
  679.       »α«úαá¼¼δ HELLO, ¬«Γ«αδÑ óδ ó¿ñѽ¿ αá¡ÑÑ. é᪡Ñ⌐Φ¿Ñ Φáú¿ Γᬫóδ:
  680.  
  681.       // π»α«ΘÑ¡¡δ⌐ »α¿¼Ñα ¬«¡ßΓαπ¬Γ«α«ó ¬½áßß«ó TProgram ¿ TProgInit
  682.  
  683.       menuBar = initMenuBar(); // Å«½πτ¿¼ π¬áºáΓѽ∞ ¡á menuBar
  684.       if (menuBar != 0 )
  685.          insert( menuBar);     // éßΓáó¿¼ Ñú« ó ß»¿ß«¬ «Γ«íαáªáѼδσ
  686.                                // «íΩÑ¬Γ«ó »α¿¬½áñ¡«⌐ »α«úαá¼¼δ
  687.  
  688.       statusLine = initStatusLine(); // Å«½πτ¿¼ π¬áºáΓѽ∞ ¡á statusLine
  689.       if (statusLine != 0 )
  690.          insert( statusLine);     // éßΓáó¿¼ ¿ Ñú« ó ß»¿ß«¬
  691.                                   // «Γ«íαáªáѼδσ «íΩÑ¬Γ«ó
  692.  
  693.            ìá ñá¡¡«¼ φΓá»Ñ ó᪡« »«½πτ¿Γ∞ «íΘÑÑ »αÑñßΓáó½Ñ¡¿Ñ  «í  φΓ¿σ
  694.       «»Ñαᵿ∩σ.  êßσ«ñ¡δ⌐ ΓѬßΓ ñ½∩ THelloAαα::initMenuBar ¿ THelloAαα
  695.       ::initStatusLine »«¬áºδóáÑΓ «ß¡«ó¡πε ßΓαáΓÑú¿ε. é ú½áóÑ 2 ¼δ «íΩ-
  696.  
  697.       Turbo Vision ñ½∩ æ++         = 31 =
  698.  
  699.       ∩ß¡¿¼ í«½ÑÑ »«ñα«í¡«,  ¬á¬ ß«ºñáóáΓ∞ ßΓ᫬«ó«Ñ ¼Ñ¡ε ¿ ßó∩ºá¡¡δÑ ß
  700.       ¡¿¼ »«ñ¼Ñ¡ε ¿ ¬«¼á¡ñδ ó¼ÑßΓÑ ß« ßΓ᫬«⌐ ß«ßΓ«∩¡¿∩,  ÑÑ ΓѬßΓ«¼  ¿
  701.       ¬«¼á¡ñἿ.
  702.  
  703.            ä«ßΓáΓ«τ¡« ¿¡ΓÑαÑß¡«  ¿ß»«½∞º«óáΓ∞ ¿¡ΓÑúα¿α«óá¡¡δ⌐ «Γ½áñτ¿¬,
  704.       τΓ«íδ óδ»«½¡¿Γ∞ HELLO.EXE ó »«Φáú«ó«¼ αѪ¿¼Ñ  ¿  »«ß¼«ΓαÑΓ∞,  τΓ«
  705.       »«½πτ¿Γß∩ ¡á ñ¿ß»½ÑÑ.  Å«ß½Ñ ó맮óá ¬«¡ßΓαπ¬Γ«αá αáí«τá∩ «í½áßΓ∞,
  706.       ßΓ᫬«ó«Ñ ¼Ñ¡ε ¿ ßΓ᫬á ß«ßΓ«∩¡¿∩ íπñπΓ »«½¡«ßΓ∞ε »αÑñßΓáó½Ñ¡δ ¡á
  707.       φ¬αá¡Ñ ¿ ú«Γ«óδ ñ½∩ ¿ß»«½∞º«óá¡¿∩ ó ¼ÑΓ«ñÑ helloWorld.run.
  708.  
  709.                                                    îÑΓ«ñ run
  710.  
  711.            Å«τΓ¿ óß∩ "Γá¿¡ßΓóÑ¡¡«ßΓ∞" »α¿¬½áñ¡«⌐ »α«úαá¼¼δ,  ¡á»¿ßá¡¡«⌐
  712.       ß ¿ß»«½∞º«ó᡿Ѽ  Turbo Vision,  ºá¬½ετáÑΓß∩ ó ¼ÑΓ«ñÑ run ú½áó¡«⌐
  713.       »α«úαá¼¼δ. Æá¿¡ßΓóÑ¡¡«ßΓ∞ ¡áτ¿¡áÑΓß∩ ß ¼«¼Ñ¡Γá, ¬«úñá óδ ºáú½∩¡Ñ-
  714.       ΓÑ ó THelloAαα ó »«¿ß¬áσ «»αÑñѽѡ¿∩ run.  àú« ºñÑß∞ ¡ÑΓ,  »«Γ«¼π
  715.       τΓ« ¼ÑΓ«ñ run µÑ½¿¬«¼ π¡áß½Ññ«óá¡ ¿º íẫó«ú« ¬½áßßá THelloAαα  -
  716.       TAααlication,  τÑαѺ Ñú« íẫóδ⌐ ¬½áßß - TProgram.  TProgram::run
  717.       óδºδóáÑΓ ¼ÑΓ«ñ execute,  ¬«Γ«αá∩ ¡áσ«ñ¿Γß∩ Γá¼, úñÑ í«½∞Φπε τáßΓ∞
  718.       óαѼѡ¿ íπñÑΓ ¡áσ«ñ¿Γ∞ß∩ »α«úαá¼¼á. ¥Γ«Γ ¼ÑΓ«ñ ß«ßΓ«¿Γ ¿º ñó«⌐¡«-
  719.       ú« µ¿¬½á do..while, ó π»α«ΘÑ¡¡«¼ ó¿ñÑ »«¬áºá¡« ¡¿ªÑ:
  720.  
  721.            ushort TGouα::execute()
  722.            {
  723.               do {
  724.                 endState = 0;
  725.                 do {
  726.                   TEvent event;
  727.                   getEvent ( event );
  728.                   handleEvent ( event );
  729.                 } while ( endState == 0 );
  730.               } while ( !valid(endState ) );
  731.               return endState;
  732.            }
  733.  
  734.  
  735.            ìÑ óñáóá∩ß∞ ó ñÑΓ὿, óδ ¼«ªÑΓÑ ó¿ñÑΓ∞, τΓ« »α¿¬½áñ¡á∩ »α«ú-
  736.       αá¼¼á, ß«ºñá¡¡á∩ ß ¿ß»«½∞º«ó᡿Ѽ Turbo Vision, µ¿¬½¿τÑ߬¿ »α«σ«-
  737.       ñ¿Γ τÑαѺ ñóÑ ºáñáτ¿:  »«½πτÑ¡¿Ñ  ß«íδΓ¿∩  τÑαѺ  ¼ÑΓ«ñ  getEvent
  738.       (Ñß½¿ φΓ« ß«íδΓ¿Ñ ñÑ⌐ßΓó¿Γѽ∞¡« »αÑñßΓáó½∩ÑΓ ¬á¬«Ñ-½¿í« ñÑ⌐ßΓó¿Ñ)
  739.       ¿ «íß½πª¿óá¡¿Ñ φΓ«ú« ß«íδΓ¿∩ τÑαѺ ¼ÑΓ«ñ handleEvent.  é ¬á¬«⌐-Γ«
  740.       ¼«¼Ñ¡Γ «ñ¡« ¿º φΓ¿σ ß«íδΓ¿⌐ αáºαÑΦáÑΓ ¬«¼á¡ñπ óδσ«ñá,  ¿ µ¿¬½ ºá-
  741.       óÑαΦáÑΓß∩.
  742.  
  743.       Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡ÑÑ «í «íαáí«Γ¬Ñ ß«íδΓ¿⌐ ß¼. ó ú½áóÑ 5.
  744.  
  745.  
  746.                       äÑßΓαπ¬Γ«α »α¿¬½áñ¡«⌐ »α«úαá¼¼δ
  747.  
  748.            ƒó¡«ú« ñÑßΓαπ¬Γ«αá,  «»αÑñѽѡ¡«ú« ó HELLO.CPP, ¡Ñ ßπΘÑßΓóπ-
  749.       ÑΓ.  è«úñá  »α«úαἼᠺáóÑαΦáÑΓß∩,  «íΩÑ¬Γ helloAαα ¿ ßó∩ºá¡¡δÑ ß
  750.       ¡¿¼ «Γ«íαáªáѼδÑ «íΩѬΓδ (ßΓα«¬á ¼Ñ¡ε, ßΓ᫬á ß«ßΓ«∩¡¿∩ ¿ αáí«τá∩
  751.  
  752.       Turbo Vision ñ½∩ æ++         = 32 =
  753.  
  754.       «í½áßΓ∞) π¡¿τΓ«ªáεΓß∩ («ßó«í«ªñáÑΓß∩,  óδñѽѡ¡á∩ »«ñ ¡¿σ »á¼∩Γ∞)
  755.       »πΓѼ  áóΓ«¼áΓ¿τÑ߬¿σ  ó맮ó«ó ñÑßΓαπ¬Γ«α«ó íẫóδ󠬽áßß«ó ó »«-
  756.       α∩ñ¬Ñ,  «íαáΓ¡«¼ Γ«¼π, ¬«Γ«αδ⌐ ¿ß»«½∞º«óá½ß∩ »α¿ ó맮óÑ ¬«¡ßΓαπ¬-
  757.       Γ«α«ó.  ìᬫ¡Ñµ,  «Γ¬½ετáεΓß∩  «íαáí«Γτ¿¬ «Φ¿í«¬ ¿ ñαá⌐óÑαδ Turbo
  758.       Vision. é µÑ½«¼,  «Γ óáß ¡Ñ ΓαÑíπÑΓß∩ ß»Ñµ¿á½∞¡«ú« ºáóÑαΦÑ¡¿∩ αá-
  759.       í«Γδ ß «íΩѬΓἿ Turbo Vision.
  760.  
  761.  
  762.                                   ÉѺε¼Ñ
  763.       -----------------------------------------------------------------
  764.  
  765.            é ñá¡¡«⌐ ú½áóÑ óδ,  ó »Ñαó«¼ »α¿í½¿ªÑ¡¿¿,  í뫨  «º¡á¬«¼½Ñ¡δ
  766.       (¼δ  ¡áñÑѼß∩,  ¿  ºá¿¡Γα¿ú«óá¡δ)  ß  »α«úαá¼¼¡δ¼ ßαÑñßΓó«¼ Turbo
  767.       Vision. éδ πº¡á½¿ « óºá¿¼«ñÑ⌐ßΓó¿¿ «íΩÑ¬Γ«ó ó ßΓαπ¬ΓπαÑ, π»αáó½∩-
  768.       Ñ¼«⌐ ß«íδΓ¿∩¼¿,  ¿ »«½πτ¿½¿ »αÑñßΓáó½Ñ¡¿Ñ « ßαÑñßΓóáσ, »αÑñ«ßΓáó-
  769.       ½∩Ѽδσ Turbo Vision.
  770.  
  771.            ÆÑ»Ñα∞ óδ ¼«ªÑΓÑ ß ñ«ßΓáΓ«τ¡«⌐ πóÑαÑ¡¡«ßΓ∞ε »«»δΓáΓ∞ß∩ ¼«ñ¿-
  772.       Σ¿µ¿α«óáΓ∞ »α«úαá¼¼π HELLO.CPP,  τΓ«íδ «¡á ¼«ú½á óδ»«½¡∩Γ∞ ¿ ñαπ-
  773.       ú¿Ñ Σπ¡¬µ¿¿. éδ ¼«ªÑΓÑ φΓ« ½Ñú¬« ßñѽáΓ∞. Turbo Vision »αÑñ«ßΓáó-
  774.       ½∩ÑΓ  ó«º¼«ª¡«ßΓ∞  ßó«í«ñ¡«ú«  ¿º¼Ñ¡Ñ¡¿∩  »α«úαá¼¼ ß ¼¿¡¿¼á½∞¡δ¼¿
  775.       πß¿½¿∩¼¿ ß óáΦÑ⌐ ßΓ«α«¡δ.
  776.  
  777.            é ß½ÑñπεΘÑ⌐ ú½áóÑ óδ «º¡á¬«¼¿ΓÑß∞ ß φΓá»á¼¿  ß«ºñá¡¿∩  »α«ú-
  778.       αá¼¼δ, ß ¿ß»«½∞º«ó᡿Ѽ Turbo Vision, ¡á «ß¡«óÑ »αÑñ½áúáѼ«ú« ¡á-
  779.       ¼¿ "߬ѽÑΓá" »α«úαá¼¼δ.
  780.  
  781.       Turbo Vision ñ½∩ æ++         = 33 =
  782.  
  783.                           âïÇéÇ 2. ÉÇçÉÇüÄÆèÇ ÅÉêèïÇäì¢ò ÅÉÄâÉÇîî
  784.                        æ êæÅÄï£çÄéÇìêàî TURBO VISION
  785.       -----------------------------------------------------------------
  786.  
  787.            ÆÑ»Ñα∞, ¬«úñá óδ »«½πτ¿½¿ ¬αáΓ¬«Ñ  »αÑñßΓáó½Ñ¡¿Ñ  «  ó«º¼«ª-
  788.       ¡«ßΓ∩σ »α¿¬½áñ¡δσ  »α«úαá¼¼,  ß«ºñá¡¡δσ  ß  ¿ß»«½∞º«ó᡿Ѽ  Turbo
  789.       Vision,  óá¼, ¡áóÑα¡«Ñ, ¡Ñ ΓÑα»¿Γß∩ »«»δΓáΓ∞ß∩ ßἫ¼π αáºαáí«ΓáΓ∞
  790.       Γá¬πε »α«úαá¼¼π.  é φΓ«⌐ ú½áóÑ óδ ß¼«ªÑΓÑ ßñѽáΓ∞ φΓ«, ¡áτ¿¡áó ß«
  791.       "߬ѽÑΓá" »α«ßΓ«⌐ »α«úαá¼¼δ ¿ ñ«íáó½∩∩ ¬ ¡Ñ¼π  ¬áªñ«¼  φΓá»Ñ  ¡Ñ-
  792.       í«½∞Φ¿Ñ Σαáú¼Ñ¡Γδ, τÑΓ¬« »αÑñßΓáó½∩∩ ßÑíÑ »α¿ φΓ«¼, τΓ« ¬áªñδ⌐ ¿º
  793.       ¡¿σ ñѽáÑΓ.
  794.  
  795.            ô óáß  ¼«ªÑΓ  ó«º¡¿¬¡πΓ∞  ºñÑß∞ α∩ñ ó«»α«ß«ó.  èᬠ¬«¡¬αÑΓ¡«
  796.       Σπ¡¬µ¿«¡¿απεΓ «Γ«íαáªáѼδÑ «íΩѬΓδ?  èᬠúαπ»»á π»αáó½∩ÑΓ »«ñ«íΩ-
  797.       Ñ¬ΓἿ?  ùΓ«  ∩ ¼«úπ ß ¡¿¼¿ ñѽáΓ∞?  èᬠ∩ ¼«úπ ¿σ ¿ß»«½∞º«óáΓ∞ ó
  798.       ßó«Ñ⌐ »α«úαá¼¼Ñ?  àß½¿ íδ Turbo Vision ∩ó½∩½áß∞ Γαáñ¿µ¿«¡¡«⌐ í¿í-
  799.       ½¿«ΓѬ«⌐,  Γ« «ΓóÑΓδ ¡á φΓ¿ ó«»α«ßδ óδ íδ,  óÑα«∩Γ¡«, ¿ß¬á½¿ ó ÑÑ
  800.       ¿ßσ«ñ¡δσ ΓѬßΓáσ.
  801.  
  802.            Turbo Vision ∩ó½∩ÑΓß∩,  «ñ¡á¬«, πªÑ αáí«τÑ⌐ »α«úαá¼¼«⌐. Å«φ-
  803.       Γ«¼π ½πτΦ¿¼ »πΓѼ ñ½∩ »«¿ß¬á «ΓóÑΓá íπñÑΓ,  »«-ó¿ñ¿¼«¼π,  »«»δΓ¬á
  804.       ñÑ⌐ßΓó¿Γѽ∞¡« »«αáí«ΓáΓ∞ ß «Γ«íαáªáÑ¼δ¼¿ «íΩѬΓἿ Turbo  Vision.
  805.       ÆѼ í«½ÑÑ, τΓ«, ¬á¬ óδ πó¿ñ¿ΓÑ, ¿¡¿µ¿á½¿ºáµ¿∩ φΓ¿σ «íΩÑ¬Γ«ó ¼«ªÑΓ
  806.       íδΓ∞ óδ»«½¡Ñ¡á ß »«¼«Θ∞ε »α«úαá¼¼δ ¼¿¡¿¼á½∞¡«ú« «íΩѼá.
  807.  
  808.                               éáΦá »Ñαóá∩ »α«úαἼᠡá Turbo Vision
  809.       -----------------------------------------------------------------
  810.  
  811.            Åα«úαá¼¼á, ¡á»¿ßá¡¡á∩ ß ¿ß»«½∞º«ó᡿Ѽ Turbo Vision,  óßÑúñá
  812.       ¡áτ¿¡áÑΓß∩  ß  ¿¡¿µ¿á½¿ºáµ¿¿  ¬½áßßá,  »«α«ªñÑ¡¡«ú«   ¿º   ¬½áßßá
  813.       TApplication. é »α¿óÑñÑ¡¡«¼ ¡¿ªÑ »α¿¼ÑαÑ óδ ß«ºñáñ¿ΓÑ »«α«ªñÑ¡¡δ⌐
  814.       ¿º TApplication ¬½áßß TMyApp.  é φΓ«¼ ¬½áßßÑ óδ ß¼«ªÑΓÑ »ÑαÑ«»αÑ-
  815.       ñѽ¿Γ∞ ¼ÑΓ«ñδ ¬½áßßá TApplication ¿/¿½¿ ñ«íáó¿Γ∞ ¬ ¡Ñ¼π ¡«óδÑ ¼Ñ-
  816.       Γ«ñδ.  Å«ß½Ñ φΓ«ú« óδ «íΩ∩ó¿ΓÑ φ¬ºÑ¼»½∩α ¬½áßßá TMyApp  ß  ¿¼Ñ¡Ñ¼
  817.       myApp.  ê¼Ñ⌐ΓÑ ó ó¿ñπ, τΓ« myApp - φΓ« «ß«íá∩ αạ«ó¿ñ¡«ßΓ∞ «Γ«í-
  818.       αáªáѼ«ú« «íΩѬΓá,  ¡áºóá¡¡«ú« ¡á¼¿ úαπ»»«⌐, »α«ß½Ñª¿óáεΘÑú« ßó«Ñ
  819.       »α«¿ßσ«ªñÑ¡¿Ñ   ¿Ñαáασ¿τÑ߬¿   ßóÑασπ  «Γ  TApplication,  TGrouα,
  820.       TProgram ¿ TView.  ÄΓ ¬áªñ«ú« ¿º  φΓ¿σ  ¬½áßß«ó  myApp  ¡áß½ÑñπÑΓ
  821.       ¡Ñ߬«½∞¬« ßó«⌐ßΓ󠿠󫺼«ª¡«ßΓÑ⌐, ¬«Γ«αδÑ ¼«úπΓ íδΓ∞ ¿ß»«½∞º«óá¡δ
  822.       óἿ íѺ ∩ó¡«ú« π»«¼¿¡á¡¿∩ ¿σ ó »α«úαá¼¼Ñ. Åα¿ »α«úαá¼¼¿α«óá¡¿¿ ß
  823.       ¿ß»«½∞º«ó᡿Ѽ Turbo  Vision ¡πª¡« »«ßΓ«∩¡¡« ß½Ññ¿Γ∞ ºá ΓѼ,  τΓ«
  824.       "π¼á½τ¿óáѼ«ú«" ó¡«ß¿Γ ¬áªñδ⌐ ¬½áßß ó »«óÑñÑ¡¿Ñ óáΦÑ⌐  »α«úαá¼¼δ.
  825.       é  τáßΓ¡«ßΓ¿,  óδ  πó¿ñ¿ΓÑ  ó  φΓ«⌐  ú½áóÑ,  ¬á¬  ó᪡δ úαπ»»«óδÑ
  826.       ßó«⌐ßΓóá ñ½∩ myApp.  é ñá½∞¡Ñ⌐ΦѼ,  úαπ»»á óáΦÑ⌐ »α«úαá¼¼δ  íπñÑΓ
  827.       ó½áñѽ∞µÑ¼ »«ß½Ññ«óáΓѽ∞¡«ßΓÑ⌐ «Γ«íαáªáѼδσ «íΩÑ¬Γ«ó (ó Γ«¼ τ¿ß½Ñ
  828.       ñαπú¿σ úαπ»»,  ó¬½ετáεΘ¿σ »«ñ«íΩѬΓδ), ¬«Γ«αδÑ ñ«½ª¡δ αÑáú¿α«óáΓ∞
  829.       ¡á ß«íδΓ¿∩.
  830.  
  831.            é φΓ«⌐  ú½áóÑ ¼δ íπñѼ τáßΓ« «íαáΘáΓ∞ß∩ ¬ ¬½áßßπ myApp.  Å«ñ
  832.            ¡¿¼ ¼δ íπñѼ »«ñαáºπ¼ÑóáΓ∞ óáΦπ  »α«úαá¼¼π,  Γ.Ñ.  φ¬ºÑ¼»½∩α
  833.            ¬½áßßá,  »«α«ªñÑ¡¡«ú« ¿º ¬½áßßá TApplication. éáΦ¿ ß«íßΓóÑ¡-
  834.            ¡δÑ »α«úαá¼¼δ,  ¡á»¿ßá¡¡δÑ ß ¿ß»«½∞º«ó᡿Ѽ Turbo Vision, óδ
  835.  
  836.       Turbo Vision ñ½∩ æ++         = 34 =
  837.  
  838.            ¼«ªÑΓÑ  ¡áºδóáΓ∞  ¬á¬-¡¿íπñ∞  ¿¡áτÑ,  ó ºáó¿ß¿¼«ßΓ¿ «Γ ßó«¿σ
  839.            ó¬πß«ó. îδ ªÑ ¿ß»«½∞º«ó὿ ¡áºóá¡¿Ñ myApp, ¬á¬ ß«¬αáΘÑ¡¿Ñ «Γ
  840.            φ¬ºÑ¼»½∩αá ¬½áßßá, »«α«ªñÑ¡¡«ú« ¿º ¬½áßßá TApplication.
  841.  
  842.       Åα¿¼Ñτá¡¿Ñ: ó  »α«úαἼѠ ¿¼ÑÑΓß∩  Γ«½∞¬«  «ñ¿¡   «íΩÑ¬Γ   ¬½áßßá
  843.                   TApplication.
  844.  
  845.            Åα¿óÑñÑ¡¡δ⌐ ¡¿ªÑ Σαáú¼Ñ¡Γ »α«úαá¼¼δ ∩ó½∩ÑΓß∩  ¡áτὫ¼  »α«ú-
  846.       αá¼¼δ-»α¿¼Ñαá, ¬«Γ«απε ¼δ íπñѼ αáºαáíáΓδóáΓ∞. ùΓ«íδ ¡Ñ »α¿ó«ñ¿Γ∞
  847.       ¬áªñδ⌐ αẠ»«½¡δ⌐ ½¿ßΓ¿¡ú φΓ«⌐  »α«úαá¼¼δ,  ¼δ  íπñѼ  »«¬áºδóáΓ∞
  848.       Γ«½∞¬« ÑÑ ñ«íáó½∩ѼδÑ ¿½¿ ¿º¼Ñ¡∩ѼδÑ τáßΓ¿. àß½¿ óδ íπñÑΓÑ ó¡¿¼á-
  849.       Γѽ∞¡« ¿ºπτáΓ∞ »α¿¼Ñα ¿ »α«¿ºó«ñ¿Γ∞ óßÑ π¬áºá¡¡δÑ  ¿º¼Ñ¡Ñ¡¿∩,  Γ«
  850.       πó¿ñ¿ΓÑ, τÑú« ßΓ«¿Γ ñ«íáó½Ñ¡¿Ñ ó »α«úαá¼¼π ñ«»«½¡¿Γѽ∞¡δσ Σπ¡¬µ¿-
  851.       «¡á½∞¡δσ ó«º¼«ª¡«ßΓÑ⌐.  ìáßΓ«∩Γѽ∞¡« αѬ«¼Ñ¡ñπѼ »«»δΓáΓ∞ß∩ ¼«ñ¿-
  852.       Σ¿µ¿α«óáΓ∞ φΓ¿ »α¿¼Ñαδ. ÆᬪѠ¼δ ß«óÑΓπѼ ¿ºπτ¿Γ∞ αẽ¿τ¡δÑ ºáú«-
  853.       ½«ó«τ¡δÑ Σá⌐½δ *.H, ¿¼ÑεΘ¿Ñß∩ ¡á ñ¿ßΓα¿íπΓ¿ó¡δσ ñ¿ß¬áσ. é ¡¿σ ¡á-
  854.       σ«ñ∩Γß∩  «íΩ∩ó½Ñ¡¿∩  ¬½áßß«ó,  »α«Γ«Γ¿»δ  ¼ÑΓ«ñ«ó  φΓ¿σ  ¬½áßß«ó,
  855.       «»¿ßá¡¿∩ ß««ΓóÑΓßΓóπεΘ¿σ ñá¡¡δσ, αẽ¿τ¡δÑ ¬«¡ßΓá¡Γδ ¿ ¼á¬α«ßδ. é
  856.       ú½áóÑ 12  »αÑñßΓáó½Ñ¡ »«½Ñº¡δ⌐ ß»αáó«τ¡¿¬ »ÑαѬαÑßΓ¡δσ ßß佫¬ ñ½∩
  857.       ºáú«½«ó«τ¡δσ Σá⌐½«ó.
  858.  
  859.       Åα¿¼Ñτá¡¿Ñ: ¡Ñ¬«Γ«αδÑ  τáßΓ¿ Σαáú¼Ñ¡Γ«ó »α«úαá¼¼δ-»α¿¼Ñαá ¿¼ÑεΓß∩
  860.                   ¡á óáΦ¿σ ñ¿ßΓα¿íπΓ¿ó¡δσ ñ¿ß¬áσ. ê¼Ñ¡á ß««ΓóÑΓßΓóπεΘ¿σ
  861.                   Σá⌐½«ó π¬áºá¡δ »«ß½Ñ φΓ¿σ Σαáú¼Ñ¡Γ«ó.
  862.  
  863.            â½áó¡δ⌐ í½«¬ »α«úαá¼¼δ TVGUID01 (ΓᬠªÑ,  ¬á¬ ¿  óßÑσ  »α«ú-
  864.       αá¼¼, ¡á»¿ßá¡¡δσ  ß ¿ß»«½∞º«ó᡿Ѽ Turbo Vision) óδú½∩ñ¿Γ ß½Ññπε-
  865.       Θ¿¼ «íαẫ¼:
  866.  
  867.       // TVGUID01.CPP
  868.  
  869.          #define Uses_TApplication
  870.          #include <tv.h>
  871.  
  872.          class TMyApp : αublic TApplication
  873.          {
  874.  
  875.          αublic:
  876.                  TMyApp();
  877.  
  878.          };
  879.  
  880.          TMyApp::TMyApp() :
  881.                  TProgInit( &TMyApp::initStatusLine,
  882.                                 &TMyApp::initMenuBar,
  883.                                 &TMyApp::initDeskToα
  884.                               )
  885.          {
  886.          }
  887.  
  888.          int main()
  889.          {
  890.                  TMyApp myApp;
  891.  
  892.       Turbo Vision ñ½∩ æ++         = 35 =
  893.  
  894.                  myApp.run();
  895.                  return 0;
  896.          }
  897.  
  898.  
  899.       Åα¿¼Ñτá¡¿Ñ: ¥Γá »α«úαἼᠡáσ«ñ¿Γß∩ ó Σá⌐½Ñ TVGUID01.CPP, ¬«Γ«αδ⌐
  900.                   ó¼ÑßΓÑ ß  ñѼ«¡ßΓαᵿ«¡¡δ¼¿  »α«úαἼἿ  ¿¼ÑÑΓß∩  ¡á
  901.                   ñ¿ßΓα¿íπΓ¿ó¡δσ ñ¿ß¬áσ.
  902.  
  903.  
  904.       Turbo Vision ñ½∩ æ++         = 36 =
  905.  
  906.  
  907.            ÄíαáΓ¿ΓѠ󡿼᡿Ñ,  τΓ« óδ ¡Ñ ñ«íá󿽿 (»«¬á) ¡¿¬á¬«⌐  ¡«ó«⌐
  908.       Σπ¡¬µ¿«¡á½∞¡«⌐  ó«º¼«ª¡«ßΓ¿  ¬ ¬½áßßπ TMyApp.  Äíδτ¡« »«α«ªñÑ¡¡δ⌐
  909.       ¬½áßß ¡¿¬«úñá  ¡Ñ «íΩ∩ó½∩ÑΓß∩ íѺ ó¬½ετÑ¡¿∩ ó ¡Ñú« ¡«óδσ ¼ÑΓ«ñ«ó,
  910.       »«½Ñ⌐ ¿½¿ íѺ »ÑαÑ«»αÑñѽѡ¿∩ ó ¡Ñ¼  ¡áß½ÑñπѼδσ  τ½Ñ¡«ó  ¬½áßßá.
  911.       àß½¿ ªÑ  óδ σ«Γѽ¿ ¿¼Ñ¡¡« φΓ«ú«,  Γ« óá¼ ß½Ññ«óὫ íδ »α«ßΓ« «íΩ-
  912.       ∩ó¿Γ∞ »ÑαѼѡ¡πε myApp ¬á¬  φ¬ºÑ¼»½∩α  ¬½áßßá  TApplication.  ì«,
  913.       Γ.¬. »«ºñ¡ÑÑ óδ íπñÑΓÑ ñѽáΓ∞ αẽ¿τ¡δÑ ñ«íáó½Ñ¡¿∩ ¬ ¬½áßßπ myApp
  914.       (ΓᬪѠ¬á¬ ¿ »α¿ ¡á»¿ßá¡¿¿ ñαπú¿σ »α«úαá¼¼ ¡á Turbo  Vision),  Γ«
  915.       ßÑ⌐τáß  óδ ¼«ªÑΓÑ óºú½∩¡πΓ∞ ¡á TMyApp,  ¬á¬ ¡á ßΓáαΓ«óπε »½«Θáñ¬π
  916.       ñ½∩ íπñπΘ¿σ ñÑ⌐ßΓó¿⌐.  é ñá¡¡«¼ ªÑ ß½πτáÑ «¡ íπñÑΓ óÑßΓ¿ ßÑí∩ ¬á¬
  917.       «íδτ¡δ⌐ ¬½áßß TApplication. ÄíΩѬΓδ TApplication »« π¼«½τá¡¿ε «»-
  918.       αÑñѽ∩εΓ φ¬αá¡, »«¬áºá¡¡δ⌐ ¡á α¿ßπ¡¬Ñ 2.1.
  919.  
  920.                 ┌──────────────────────────────────────┐
  921.                 │                                      │
  922.                 ├──────────────────────────────────────┤
  923.                 │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  924.                 │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  925.                 │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  926.                 │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  927.                 │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  928.                 ├──────────────────────────────────────┤
  929.                 │  Alt-X Exit                          │
  930.                 └──────────────────────────────────────┘
  931.  
  932.            É¿ßπ¡«¬ 2.1. ¥¬αá¡, «»αÑñѽ∩Ѽδ⌐ ¬½áßß«¼ TApplication
  933.                         »« π¼«½τá¡¿ε
  934.  
  935.            äá¡¡á∩ »α«úαá¼¼á óδ»«½¡∩ÑΓ ½¿Φ∞ «ñ¡π «»Ñαᵿε:  αÑáú¿απÑΓ ¡á
  936.       ¡áªáΓ¿Ñ  ¬½áó¿Φ¿ Alt-X ñ½∩ ºáóÑαΦÑ¡¿∩ »α«úαá¼¼δ.  ùΓ«íδ »α«úαá¼¼á
  937.       óδ»«½¡∩½á ¿ ñαπú¿Ñ Σπ¡¬µ¿¿,  ß½ÑñπÑΓ ñ«íáó¿Γ∞  ΓѬßΓδ  ¬«¼á¡ñδ  ó
  938.       ßΓ᫬π ß«ßΓ«∩¡¿∩ ¿½¿ ó ßΓ᫬π ¼Ñ¡ε. é ß½ÑñπεΘѼ αáºñѽѠóδ ß¼«ªÑ-
  939.       ΓÑ óδ»«½¡¿Γ∞ «íÑ φΓ¿ «»Ñαᵿ¿.
  940.  
  941.  
  942.  
  943.  
  944.       Turbo Vision ñ½∩ æ++         = 37 =
  945.  
  946.                        Éáí«τá∩ «í½áßΓ∞, ßΓα«¬á ¼Ñ¡ε ¿ ßΓ᫬á ß«ßΓ«∩¡¿∩
  947.       -----------------------------------------------------------------
  948.  
  949.       Åα¿¼Ñτá¡¿Ñ:
  950.         êß»«½∞ºπѼδÑ ¬½áßßδ:
  951.         TView, TGrouα,  TMenuBar,  TMenuBox,  TStatusLine,   TProgInit,
  952.         TProgram, TApplication, TDeskToα.
  953.  
  954.             é »α«úαἼѠTVGUID01.CPP Γѽ«  ¬«¡ßΓαπ¬Γ«αá  TMyApp  »πßΓ«.
  955.       è«¡ßΓαπ¬Γ«α  TMyApp  óδºδóáÑΓ  ¬«¡ßΓαπ¬Γ«α ßó«Ñú« íẫó«ú« ¬½áßßá
  956.       ProgInit. TProgInit  -  φΓ«  ó¿αΓπá½∞¡á∩  «ß¡«óá  ñ½∩   TProgram.
  957.       è«¡ßΓαπ¬Γ«α TProgram óδºδóáÑΓ ¬«¡ßΓαπ¬Γ«α TGrouα:
  958.  
  959.       TProgram::TProgram() : TGrouα( /* áαúπ¼Ñ¡Γδ ñ½∩ «»αÑñѽѡ¿∩
  960.                              úαá¡¿µ «Γ«íαáªáѼ«ú« «íΩѬΓá */ )
  961.       // è«¡ßΓαπ¬Γ«α ¬½áßßá TGouα ß«ºñáÑΓ »«½¡«φ¬αá¡¡δ⌐
  962.       // «Γ«íαáªáѼδ⌐ «íΩѬΓ
  963.  
  964.       {
  965.            ...
  966.            if createStatusLine != 0 &&
  967.                statusLine = createStatusLine ( getExtent () ) != 0 )
  968.            insert( statusLine );
  969.            ...
  970.       // ¡á ßἫ¼ ñѽѠ¼ÑΓ«ñ createStatusLine óδºδóáÑΓ initStatusLine,
  971.       // «»αÑñѽѡ¡δ⌐  ¿½¿ ó TProgram, ¿½¿, Ñß½¿ »ÑαÑ«»αÑñѽѡ,
  972.       // ó «ñ¡«¼ ¿º »«α«ªñÑ¡¡δσ ¿º TProgramm ¬½áßß«ó.
  973.       // æ¼«Γα¿ΓÑ «»¿ßá¡¿Ñ ¬«¡ßΓαπ¬Γ«αá TProgInit ó ú½áóÑ 13.
  974.  
  975.       // statusLine ∩ó½∩ÑΓß∩ ßΓáΓ¿τÑ߬¿¼ »«½Ñ¼,
  976.       // ¬«Γ«α«Ñ π¬áºδóáÑΓ ¡á Γ«½∞¬« τΓ« ß«ºñá¡¡δ⌐ «íΩÑ¬Γ ßΓ᫬¿
  977.       // ß«ßΓ«∩¡¿∩.  insert() óßΓáó½∩ÑΓ ßΓ᫬π ß«ßΓ«∩¡¿∩ ó úαπ»»π
  978.       // óáΦÑú« »α¿½«ªÑ¡¿∩ ¿ «Γ«íαáªáÑΓ ÑÑ ¡á φ¬αá¡Ñ.
  979.  
  980.       // getExtent() ó«ºóαáΘáÑΓ αẼÑα »α∩¼«πú«½∞¡«⌐
  981.       // «í½áßΓ¿, ºá¡¿¼áѼ«⌐ óδºδóáÑ¼δ¼ «íΩÑ¬Γ«¼
  982.  
  983.          ...
  984.       // á¡á½«ú¿τ¡δ⌐ ¬«ñ ñ½∩ createMenuBar ¿ createDeskToα
  985.          ...
  986.  
  987.       }
  988.  
  989.            ÆαѼ π¬áºáΓѽ∩¼ ¡á  ¼ÑΓ«ñδ  createXXX  »α¿ßóá¿óáεΓß∩  áñαÑßá
  990.       ß««ΓóÑΓßΓóπεΘ¿σ ¿¼  ¼ÑΓ«ñ«ó  initXXX.  ü«½ÑÑ »«ñα«í¡δÑ «íΩ∩ß¡Ñ¡¿∩
  991.       íπñπΓ ñá¡δ ó »α«úαἼѠTVGUID02 ¿ ó αáºñѽѠú½áóδ 13, «»¿ßδóáεΘѼ
  992.       ¬«¡ßΓαπ¬Γ«αδ TMyApp ¿ TProgInit.
  993.  
  994.            Éáí«τá∩ «í½áßΓ∞,  ßΓα«¬á ¼Ñ¡ε ¿ ßΓα«¬á  ß«ßΓ«∩¡¿∩  »α«úαá¼¼δ
  995.       TVGUID01.CPP  ß«ºñáεΓß∩  ¿  óßΓáó½∩εΓß∩  ó  úαπ»»π  myApp,  ¬«úñá
  996.       ¬«¡ßΓαπ¬Γ«α  TProgram  óδºδóáÑΓ   Γα¿   ¼ÑΓ«ñá   -   initDeskToα,
  997.       initMenuBar ¿ initStatusLine.  TApplication ¡áß½ÑñπÑΓ φΓ¿ Γα¿ ¼Ñ-
  998.       Γ«ñá íѺ ¬á¬¿σ-½¿í« ¿º¼Ñ¡Ñ¡¿⌐ «Γ ¡Ñ»«ßαÑñßΓóÑ¡¡«ú« »αÑñΦÑßΓóÑ¡¡¿-
  999.  
  1000.       Turbo Vision ñ½∩ æ++         = 38 =
  1001.  
  1002.       ¬á TProgram.  é ßó«ε «τÑαÑñ∞, ¿ TMyApp ¡áß½ÑñπÑΓ ¿σ íѺ ¿º¼Ñ¡Ñ¡¿⌐
  1003.       ¿º TApplication.  Å« «»αÑñѽѡ¿ε,  ñá¡¡«¼π ó TProgram, Γα¿ ¼ÑΓ«ñá
  1004.       initXXX ß«ºñáεΓ ¼¿¡¿¼á½∞¡δ⌐ ¡áí«α «Γ«íαáªáѼδσ «íΩÑ¬Γ«ó, »«¬áºá¡-
  1005.       ¡δ⌐ ¡á α¿ß.  2.1. é Γ«¼ ¼á½«óÑα«∩Γ¡«¼ ß½πτáÑ, Ñß½¿ óáß πñ«ó½ÑΓó«-
  1006.       α¿Γ  ßΓ«½∞  ß¬πñ¡δ⌐  ¿¡ΓÑαΣÑ⌐ß,  Γ«  óδ  ¼«ªÑΓÑ  »α«ßΓ« »«ºó«½¿Γ∞
  1007.       π¡áß½Ññ«óá¡¡δ¼ Σπ¡¬µ¿∩¼ init óδ»«½¡¿Γ∞ ¿σ αáí«Γπ.  öá¬Γ¿τÑ߬¿ αá-
  1008.       í«τá∩ «í½áßΓ∞ »« π¼«½τá¡¿ε »«½¡«ßΓ∞ε »«ñσ«ñ¿Γ ñ½∩ í«½∞Φ¿¡ßΓóá µÑ-
  1009.       ½Ñ⌐, »«φΓ«¼π ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿  »ÑαÑ»¿ßδóáΓ∞  ¼ÑΓ«ñ  initDeskToα.
  1010.       ìá«í«α«Γ,  ½¿¡Ñ⌐¡«Ñ ¼Ñ¡ε ¿ ßΓ᫬á ß«ßΓ«∩¡¿∩ ¡πªñáεΓß∩ ó ¬«ααѬµ¿¿
  1011.       ó ¬áªñ«¼ ¬«¡¬αÑΓ¡«¼ ß½πτáÑ, á »«φΓ«¼π óá¼ »α¿ñÑΓß∩ »ÑαÑ«»αÑñѽ∩Γ∞
  1012.       initMenuBar  ¿  initStatusLine ¬áªñδ⌐ αáº.  èᬠφΓ« ñѽáÑΓß∩,  óδ
  1013.       πó¿ñ¿ΓÑ ó φΓ«⌐ ú½áóÑ.
  1014.  
  1015.            éδαáªÑ¡¿Ñ #define Uses_TApplication  ¿  #include<tv.h>,  ¿ß-
  1016.       »«½∞ºπεΓß∩  ñ½∩ Γ«ú«,  τΓ«íδ «íΩ∩ó¿Γ∞ ¡Ñ«íσ«ñ¿¼δÑ ¬½áßßδ ¿º Σá⌐½á
  1017.       APP.H,  ó  ¬«Γ«α«¼  ß«ñÑαªáΓß∩   «íΩ∩ó½Ñ¡¿∩   ¬½áßß«ó   TProgram,
  1018.       TProgInit  ¿ TApplication.  èᬠó »α¿óÑñÑ¡¡«¼ »α¿¼ÑαÑ,  óδ »α«ßΓ«
  1019.       ñ«íáó½∩ÑΓÑ óδαáªÑ¡¿Ñ
  1020.  
  1021.          #define Uses_<¿¼∩_¬½áßßá>
  1022.  
  1023.       ñ½∩ ¬áªñ«ú« ßΓá¡ñáαΓ¡«ú« ¬½áßßá,  ¬«Γ«αδ⌐ ºáσ«Γ¿ΓÑ  ¿ß»«½∞º«óáΓ∞,
  1024.       óδ ¼«ªÑΓÑ  íδΓ∞ πóÑαÑ¡¡δ¼¿,  τΓ« TV.H ó¬½ετ¿Γ óßÑ ¡πª¡δÑ Σá⌐½δ .H
  1025.       (íѺ ñπí½¿α«óá¡¿∩) ¡Ñ Γ«½∞¬« ñ½∩ ßἫú« T<¿¼∩_¬½áßßá>,  ¡« ¿ óßÑσ
  1026.       Ñú« íẫóδ󠬽áßß«ó.
  1027.  
  1028.            TProgram ¿ß»«½∞ºπÑΓ   ¼ÑΓ«ñ   initDeskToα,   initMenuBar   ¿
  1029.       initStatus- Line,  τΓ«íδ ºáñáΓ∞ ßΓáΓ¿τÑ߬¿¼  π¬áºáΓѽ∩¼  deskToα,
  1030.       menuBar  ¿  statusLine  ¬½áßßá TProgram áñαÑßá ß««ΓóÑΓßΓóπεΘ¿σ ¿¼
  1031.       «íΩÑ¬Γ«ó.  ¥Γ« «º¡áτáÑΓ,  τΓ« ó ¬áªñδ⌐ ¬«¡¬αÑΓ¡δ⌐ ¼«¼Ñ¡Γ  óαѼѡ¿
  1032.       ßπΘÑßΓóπÑΓ  Γ«½∞¬«  »« «ñ¡«¼π «íΩѬΓπ αáí«τÑ⌐ «í½áßΓ¿,  ½¿¡Ñ⌐¡«ú«
  1033.       ¼Ñ¡ε ¿ ßΓ᫬¿ ß«ßΓ«∩¡¿∩ ñ½∩ ñá¡¡«⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ. Éáßß¼«Γ-
  1034.       α¿¼, »« «τÑαÑñ¿, ¬áªñδ⌐ ¿º φΓ¿σ «íΩÑ¬Γ«ó.
  1035.  
  1036.                                        Éáí«τá∩ «í½áßΓ∞ (DeskToα)
  1037.  
  1038.            îÑΓ«ñ initDeskToα ß«ºñáÑΓ «íΩÑ¬Γ TDeskToα ¿ ó«ºóαáΘáÑΓ  π¬á-
  1039.       ºáΓѽ∞ ¡á ¡Ñú«, ¬á¬ φΓ« »«¬áºá¡« ¡¿ªÑ:
  1040.  
  1041.       TDeskToα *TProgram::initDeskToα (TRect r )
  1042.       {
  1043.         r.a.y++;  // ß¬«ααÑ¬Γ¿α«óáΓ∞ ¬««αñ¿¡áΓπ ½Ñó«ú« óÑασ¡Ñú« πú½á
  1044.         r.b.y--;  // ß¬«ααÑ¬Γ¿α«óáΓ∞ ¬««αñ¿¡áΓπ »αáó«ú« ¡¿ª¡Ñú« πú½á
  1045.                   // »«½πτ¿½ß∩ »«½¡δ⌐ φ¬αá¡ ¬α«¼Ñ ßΓ᫬¿
  1046.                   // ß«ßΓ«∩¡¿∩ ¿ ½¿¡Ñ⌐¡«ú« ¼Ñ¡ε
  1047.  
  1048.         return new TReskToα (r ); // ß«ºñá¡¿Ñ αáí«τÑ⌐ «í½áßΓ¿
  1049.                                   // »« π¼«½τá¡¿ε
  1050.       }
  1051.  
  1052.            ô¬áºáΓѽ∞ ¡á  αáí«τπε  «í½áßΓ∞,  deskToα,  - φΓ« ßΓáΓ¿τÑ߬«Ñ
  1053.       »«½Ñ ¬½áßßá TProgram,  Γ.¬.  ñ½∩ ¬áªñ«⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ  ßπ-
  1054.  
  1055.       Turbo Vision ñ½∩ æ++         = 39 =
  1056.  
  1057.       ΘÑßΓóπÑΓ Γ«½∞¬« «ñ¡á αáí«τá∩ «í½áßΓ∞. è«¡ßΓαπ¬Γ«α TProgram óßΓáó-
  1058.       ½∩ÑΓ αáí«τπε «í½áßΓ∞ ó úαπ»»π »α¿¬½áñ¡«⌐ »α«úαá¼¼δ. æÑ⌐τáß úαπ»»á
  1059.       myApp ∩ó½∩ÑΓß∩ ó½áñѽ∞µÑ¼ «íΩѬΓá DeskTop (Éáí«τá∩  «í½áßΓ∞).  ì«
  1060.       αáí«τá∩ «í½áßΓ∞ ΓᬪѠ∩ó½∩ÑΓß∩ úαπ»»«⌐.  ò«Γ∩ Ñ⌐ "ó½áñÑÑΓ" myApp,
  1061.       αáí«τá∩ «í½áßΓ∞ ¼«ªÑΓ  ¿¼ÑΓ∞  ó  ßó«Ñ¼  αáß»«α∩ªÑ¡¿¿  ß«íßΓóÑ¡¡δÑ
  1062.       «Γ«íαáªáѼδÑ  «íΩѬΓδ.  öá¬Γ¿τÑ߬¿,  αáí«τá∩ «í½áßΓ∞ (¬á¬ úαπ»»á)
  1063.       ¿úαáÑΓ ¬½ετÑóπε α«½∞ ó óáΦÑ⌐ »α«úαá¼¼Ñ,  Γ.¬. «¡á π»αáó½∩ÑΓ óßѼ¿
  1064.       «Γ«íαáªáÑ¼δ¼¿ «íΩѬΓἿ,  »«∩ó½∩εΘ¿¼¿ß∩ ó αáí«τÑ⌐ «í½áßΓ¿. ìá»α¿-
  1065.       ¼Ñα,  ¬«úñá »«½∞º«óáΓѽ∞ óδí¿αáÑΓ ¬«¼á¡ñπ  ¼Ñ¡ε,  myApp  óδºδóáÑΓ
  1066.       ß««ΓóÑΓßΓóπεΘ¿⌐  «Γ«íαáªáѼδ⌐  »«ñ«íΩÑ¬Γ ¿ óßΓáó½∩ÑΓ Ñú« ó úαπ»»π
  1067.       αáí«τÑ⌐ «í½áßΓ¿.  Åα¿ φΓ«¼ αáí«τá∩ «í½áßΓ∞ π»αáó½∩ÑΓ φΓ¿¼ «Γ«íαá-
  1068.       ªáÑ¼δ¼ »«ñ«íΩÑ¬Γ«¼  ¿  óßѼ¿ »«ñ»«ñ«íΩѬΓἿ,  ¬«Γ«αδÑ »«ß½Ññ«óá-
  1069.       Γѽ∞¡« ß«ºñáεΓß∩ ¿º ¡Ñú«.  é φΓ«¼ ¬«¡ΓѬßΓÑ  π»αáó½Ñ¡¿Ñ  «º¡áτáÑΓ
  1070.       ΓᬿѠñÑ⌐ßΓó¿∩,  ¬á¬ «íαáí«Γ¬π ß«íδΓ¿⌐, ¿º«íαáªÑ¡¿Ñ «íΩÑ¬Γ«ó, »Ñ-
  1071.       αÑñó¿ªÑ¡¿Ñ ¿ ¿º¼Ñ¡Ñ¡¿Ñ αẼÑα«ó  «Γ«íαáªáѼδσ  «íΩÑ¬Γ«ó,  τΓ«,  ó
  1072.       ßó«ε «τÑαÑñ∞, ∩ó½∩ÑΓß∩ αÑᬵ¿Ñ⌐ ¡á »α«¿º«ΦÑñΦ¿Ñ ß«íδΓ¿∩.
  1073.  
  1074.                                               æΓ᫬á ß«ßΓ«∩¡¿∩
  1075.  
  1076.            è«¡ßΓαπ¬Γ«α ¬½áßßá TProgram óδºδóáÑΓ ¼ÑΓ«ñ TProgram::create-
  1077.       StatusLine  ñ½∩  ß«ºñá¡¿∩ «íΩѬΓá TStatusLine ¿ ó«ºóαáΘáÑΓ π¬áºá-
  1078.       Γѽ∞ ¡á statusLine.  ìá ßἫ¼ ñѽѠßΓ᫬á ß«ßΓ«∩¡¿∩  ß«ºñáÑΓß∩  ó
  1079.       TProgram::initStatusLine,  ¼ÑΓ«ñ«¼,  ¬«Γ«αδ⌐ óδ »ÑαÑ«»αÑñѽ∩ÑΓÑ ß
  1080.       µÑ½∞ε ß«ºñá¡¿∩ ßΓ᫬¿ ß«ßΓ«∩¡¿∩, ß««ΓóÑΓßΓóπεΘÑ⌐ óáΦÑ⌐ ¬«¡¬αÑΓ¡«⌐
  1081.       »α¿¬½áñ¡«⌐  »α«úαá¼¼Ñ.  æÑ⌐τáß óδ »«⌐¼ÑΓÑ,  ¬á¬ φΓ« ñѽáÑΓß∩.  éδ
  1082.       »α«ßΓ« »ÑαÑñáÑΓÑ  áñαÑß  TMyApp::initStatusLine   ó   ¬«¡ßΓαπ¬Γ«α
  1083.       ProgInit ¿ »αÑñ«ßΓáó½∩ÑΓÑ «ßΓá½∞¡«Ñ Turbo Vision.
  1084.  
  1085.            èᬠ¿ ó ß½πτáÑ ß deskToα,  statusLine  ∩ó½∩ÑΓß∩  ßΓáΓ¿τÑ߬¿¼
  1086.       »«½Ñ¼ ¬½áßßá  TProgram,  »α¿τѼ  ßπΘÑßΓóπÑΓ Γ«½∞¬« «ñ¿¡ φ¬ºÑ¼»½∩α
  1087.       φΓ«ú« »«½∩, ñ½∩ óßÑσ «íΩÑ¬Γ«ó ñá¡¡«ú« ¬½áßßá. Äß¡«ó¡«Ñ ¡áº¡áτÑ¡¿Ñ
  1088.       ßΓ᫬¿ ß«ßΓ«∩¡¿∩ - φΓ« »«ñ߬Ậᠻ« ¬«¼á¡ñá¼,  ñ«ßΓπ»¡δ¼ ó ñá¡¡δ⌐
  1089.       ¼«¼Ñ¡Γ óαѼѡ¿ »« π»αáó½∩εΘ¿¼ ¬½áó¿Φá¼. ô»αáó½∩εΘ¿Ñ ¬½áó¿Φ¿ - φΓ«
  1090.       ¬«¼í¿¡áµ¿∩ ¡áªáΓ¿⌐ ¡á ¬½áó¿Φ¿,  ó Γ«¼ τ¿ß½Ñ Shift, Control, Alt ¿
  1091.       ^KF, ¬«Γ«αδÑ ñÑ⌐ßΓóπεΓ ΓᬪÑ, ¬á¬ ¬«¼á¡ñδ ¼Ñ¡ε ¿½¿ φ½Ñ¼Ñ¡Γδ ßΓα«-
  1092.       ¬¿ ß«ßΓ«∩¡¿∩.)
  1093.  
  1094.            æΓ᫬á ß«ßΓ«∩¡¿∩ «Γ«íαáªáÑΓß∩, ¡áτ¿¡á∩ ß ½Ñó«ú« ¬αá∩ φ¬αá¡á.
  1095.       ïεíá∩  τáßΓ∞  ¡¿ª¡Ñ⌐  ßΓ᫬¿  φ¬αá¡á,  ¬«Γ«αá∩ ¡Ñ ¡πª¡á φ½Ñ¼Ñ¡Γá¼
  1096.       ßΓ᫬¿ ß«ßΓ«∩¡¿∩,  ßó«í«ñ¡á  ñ½∩  ñαπú¿σ  «Γ«íαáªáѼδσ  «íΩÑ¬Γ«ó.
  1097.       *statusLine ßó∩ºδóáÑΓ ¬½áó¿Φ¿ π»αáó½Ñ¡¿∩ ß ¬«¼á¡ñἿ, ¬α«¼Ñ Γ«ú«,
  1098.       φ½Ñ¼Ñ¡Γδ ßΓ᫬¿ ß«ßΓ«∩¡¿∩ ¼«úπΓ íδΓ∞ óδíαá¡δ ß »«¼«Θ∞ε ½Ñó«⌐ ¬½á-
  1099.       ó¿Φ¿  "¼δΦ¿".  ùΓ«íδ ñáΓ∞ »αÑñßΓáó½Ñ¡¿Ñ «í initStatusLine,  ñá½ÑÑ
  1100.       »αÑñ½áúáÑΓß∩ ÑÑ óÑαß¿∩ (»«ñαáºπ¼ÑóáѼá∩ »« π¼«½τá¡¿ε), «»αÑñѽѡ-
  1101.       ¡á∩   ó  TProgram,  ¬«Γ«αá∩  ñáÑΓ  ¼¿¡¿¼á½∞¡πε  ßΓ᫬π  ß«ßΓ«∩¡¿∩
  1102.       "Alt-X", ¬á¬ φΓ« »«¬áºá¡« ¡á α¿ß.  2.1.  èα«¼Ñ  Γ«ú«  π»αáó½∩εΘ¿Ñ
  1103.       ¬½áó¿Φ¿ F10, Alt-F3, F5 ¿ Ctrl-F5 ßó∩ºδóáεΓß∩ ß« ßΓá¡ñáαΓ¡δ¼¿ ¬«-
  1104.       ¼á¡ñἿ ¿¡ΓÑúα¿α«óá¡¡«⌐ ßαÑñδ: cmMenu, cmClose, cmZoom ¿ cmResize
  1105.       ß««ΓóÑΓßΓóÑ¡¡«, σ«Γ∩   ¡á  ñ¿ß»½ÑÑ  »«∩ó½∩ÑΓß∩  Γ«½∞¬«  ß««íΘÑ¡¿Ñ
  1106.       "Alt-X Exit".  ìá ñá¡¡«¼ φΓá»Ñ á¬Γ¿ó¡á (ñ«ßΓπ»¡á) Γ«½∞¬«  ¬«¼á¡ñá
  1107.       cmQuit .
  1108.  
  1109.  
  1110.       Turbo Vision ñ½∩ æ++         = 40 =
  1111.  
  1112.       TStatusLine *TProgram::initStatusLine( TRect r )
  1113.       {
  1114.           r.a.y = r.b.y - 1;
  1115.           return new TStatusLine( r,
  1116.               *new TStatusDef( 0, 0xFFFF ) +
  1117.                   *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) +
  1118.                   *new TStatusItem( 0, kbF10, cmMenu ) +
  1119.                   *new TStatusItem( 0, kbAltF3, cmClose )
  1120.                   *new TStatusItem( 0, kbF5, cmZoom ) +
  1121.                   *new TStatusItem( 0, kbCtrlF5, cmResize ) +
  1122.               );
  1123.       }
  1124.  
  1125.            é ß½ÑñπεΘѼ   »α¿¼ÑαÑ   óδ   »«º¡á¬«¼¿ΓÑß∞   ß   ß¿¡Γá¬ß¿ß«¼
  1126.       initStatusLine, ñ«íáó¿ó  ó  ßΓ᫬π  ß«ßΓ«∩¡¿∩  φ½Ñ¼Ñ¡Γ-»«ñ߬Ậπ.
  1127.       Åα«úαá¼¼á TVGUID02.CPP ß«ºñáÑΓ ¼«ñ¿Σ¿µ¿α«óá¡¡πε ßΓ᫬π  ß«ßΓ«∩¡¿∩
  1128.       »πΓѼ »ÑαÑ«»αÑñѽѡ¿∩ ¼ÑΓ«ñá TApplication::initStatusLine.  Äíαá-
  1129.       Γ¿ΓÑ   ó¡¿¼á¡¿Ñ    ¡á    ñ«»«½¡¿Γѽ∞¡δÑ    ßΓ᫬¿    -    #define
  1130.       Uses_T<¿¼∩_¬½áßßá>,  ó ¡áτá½Ñ TVGUID02.CPP,  »« «ñ¡«⌐ ñ½∩ ¬áªñ«ú«
  1131.       ¡«ó«ú« ¬½áßßá.  Æá¬, ¡á»α¿¼Ñα, Uses_TKeys »«ñΓóÑαªñáÑΓ, τΓ« ¼«ª¡«
  1132.       »«½∞º«óáΓ∞ß∩ αẽ¿τ¡δ¼¿  ¿¼Ñ¡«óá¡¿∩¼¿ ¬½áó¿Φ,  Γᬫ⌐,  ¬á¬ kbF5 ¿
  1133.       kbAltF3.
  1134.  
  1135.       Åα¿¼Ñτá¡¿Ñ: ¡Ñ¬«Γ«αδÑ ¿º #define Uses_<¿¼∩_¬½áßßá> ¿ºíδΓ«τ¡δ,  ¡«
  1136.                   ½πτΦÑ »ÑαÑßΓαáσ«óáΓ∞ß∩,  τѼ »«»áßΓ∞ ó ¡Ñ»α¿∩Γ¡πε ß¿-
  1137.                   Γπᵿε.
  1138.  
  1139.            äá½ÑÑ, ñ«íáó∞ΓÑ «íΩ∩ó½Ñ¡¿Ñ initStatusLine ó TMyApp,  á ΓᬪÑ
  1140.       ß½ÑñπεΘÑÑ «»αÑñѽѡ¿Ñ:
  1141.  
  1142.       static TStatusLine *TMyApp::initStatusLine(TRect r)
  1143.       {
  1144.         r.a.y = r.b.y - 1;     // óÑασ¡∩∩ úαá¡¿µá ¡á 1 óδΦÑ ¡¿ª¡Ñ⌐
  1145.         return new TStatusLine( r,
  1146.             *new TStatusDef( 0, 0xFFFF ) +
  1147.             // «»αÑñѽѡ¿Ñ ¡áí«αá ¬«¡ΓѬßΓ«ó »«¼«Θ¿
  1148.                 *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) +
  1149.                 // «»αÑñѽѡ¿Ñ φ½Ñ¼Ñ¡Γá
  1150.                 *new TStatusItem( "~Alt-F3~ Close", kbAltF3, cmClose )
  1151.                 // ¿ ÑΘÑ «ñ¡«ú«
  1152.             );
  1153.       }
  1154.  
  1155.       Åα¿¼Ñτá¡¿Ñ: φΓ« τáßΓ¿ Σá⌐½á TVGUID02.CPP. ìÑ ºáíπñ∞ΓÑ ñ«íáó¿Γ∞.
  1156.  
  1157.              static TStatusLine *initStatusLine(TRect r);
  1158.  
  1159.       ó Γѽ« «íΩ∩ó½Ñ¡¿∩ ó TMyApp.
  1160.  
  1161.            ê¡¿µ¿á½¿ºáµ¿∩ -  φΓ«  »«ß½Ññ«óáΓѽ∞¡«ßΓ∞  ó½«ªÑ¡¡δσ  ó맮ó«ó
  1162.       ¬«¡ßΓαπ¬Γ«α«ó  TStatusDef  ¿  TStatusItem (»«ñα«í¡ÑÑ « ¡¿σ ß¼.  ó
  1163.       ú½áóÑ 13).  ÅÑαÑ«»αÑñѽѡ¡δ⌐ «»ÑαáΓ«α + ¿ß»«½∞ºπÑΓß∩ ñ½∩ ß«ºñá¡¿∩
  1164.       ßó∩ºá¡¡«ú« ß»¿ß¬á «íΩÑ¬Γ«ó TStatusDef ¿ TStatusItem ¿ ñ½∩ »ÑαÑñá-
  1165.  
  1166.       Turbo Vision ñ½∩ æ++         = 41 =
  1167.  
  1168.       τ¿ φΓ«ú« ß»¿ß¬á ó »«½Ñ items ¬½áßßá TStatusLine:
  1169.  
  1170.             TStatusDef& oαerator + (TStatusDef& s1, TSatusItem s2);
  1171.  
  1172.             Åα«Γ«Γ¿» ¬«¡ßΓαπ¬Γ«αá  TStatusItem  »«¼«ªÑΓ  »«¡∩Γ∞  ñá¡¡δ⌐
  1173.       ß¿¡Γá¬ß¿ß:
  1174.  
  1175.             TStatusItem::TStatusItem(const char *aText, ushort key,
  1176.                          ushort cmd, TStatusItem *aNext = 0);
  1177.  
  1178.            èᬠóδ ó¿ñ¿ΓÑ,  ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ ßΓ᫬¿  ß«ßΓ«∩¡¿∩  «»αÑñѽ∩ÑΓ
  1179.       ßΓ᫬π ΓѬßΓá  (πßΓá¡«ó½Ñ¡¡πε ó ¡«½∞,  Ñß½¿ ¡Ñ ΓαÑíπÑΓß∩ ¡¿¬á¬«ú«
  1180.       ΓѬßΓá),  ¬«ñ ¬½áó¿Φ¿,  ¬«ñ ¬«¼á¡ñδ ¿ π¬áºáΓѽ∞ ¡á ß½ÑñπεΘ¿⌐ φ½Ñ-
  1181.       ¼Ñ¡Γ  ßΓ᫬¿  ß«ßΓ«∩¡¿∩  (¡π½Ñó«⌐ π¬áºáΓѽ∞ «º¡áτáÑΓ,  τΓ« ñαπú¿σ
  1182.       φ½Ñ¼Ñ¡Γ«ó í«½∞ΦÑ ¡ÑΓ).
  1183.  
  1184.            ÄíΩÑ¬Γ TStatusDef ó  »α«úαἼѠ TVGUID02  «»αÑñѽ∩ÑΓ  ßΓ᫬π
  1185.       ß«ßΓ«∩¡¿∩, ¬«Γ«αá∩ ñ«½ª¡á íδΓ∞ óδóÑñÑ¡á ¡á φ¬αá¡ ó ºáó¿ß¿¼«ßΓ¿ «Γ
  1186.       ¬«¡ΓѬßΓá ß»αáó«τ¡«⌐ ß¿ßΓѼδ ó ñ¿á»áº«¡Ñ «Γ 0 ñ« 0xFFFF. Ä¡ ΓᬪÑ
  1187.       ßó∩ºδóáÑΓ  ßΓá¡ñáαΓ¡δÑ  ¬«¼á¡ñδ  Turbo  Vision cmQuit ¿ cmClose ß
  1188.       ¬½áó¿ΦἿ Alt-X ¿ Alt-F3.
  1189.  
  1190.            Å«ß½Ññ¡¿⌐ φ½Ñ¼Ñ¡Γ ßΓ᫬¿ ß«ßΓ«∩¡¿∩ «»αÑñѽ∩ÑΓ ΓѬßΓ«óδ⌐  áα-
  1191.       úπ¼Ñ¡Γ "~Alt-F3~Close". ùáßΓ∞ ßΓ᫬¿, ºá¬½ετÑ¡¡á∩ ¼Ñªñπ ß¿¼ó«½á¼¿
  1192.       Γ¿½∞ñδ (~),  ¡á φ¬αá¡Ñ  íπñÑΓ  óδñѽѡᠠ߫«ΓóÑΓßΓóπεΘ¿¼  µóÑΓ«¼.
  1193.       Å«½∞º«óáΓѽ∞ ¿¼ÑÑΓ ó«º¼«ª¡«ßΓ∞ á¬Γ¿ó¿º¿α«óáΓ∞ ½εíπε ¬«¼á¡ñπ ßΓα«-
  1194.       ¬¿ ß«ßΓ«∩¡¿∩ ¡áªáΓ¿Ñ¼ ½Ñó«⌐ ¬¡«»¬¿ "¼δΦ¿", ¬«úñá ÑÑ π¬áºáΓѽ∞ ¡á-
  1195.       σ«ñ¿Γß∩ ó ¡πª¡«¼ ¼ÑßΓÑ ßΓ᫬¿.
  1196.  
  1197.            è«úñá óδ ºá»πßΓ¿ΓÑ »α«úαá¼¼π TVGUID02, óδ ºá¼ÑΓ¿ΓÑ, τΓ« φ½Ñ-
  1198.       ¼Ñ¡Γ ßΓ᫬¿ ß«ßΓ«∩¡¿∩ Alt-F3 ¡Ñ »«ñßóÑτÑ¡, ¿ óδí«α Ñú« "¼δΦ∞ε" ¡¿
  1199.       ¬  τѼπ ¡Ñ »α¿ó«ñ¿Γ.  ¥Γ« »α«¿ßσ«ñ¿Γ »«Γ«¼π,  τΓ« ¬«¼á¡ñá cmClose
  1200.       ¡Ññ«ßΓπ»¡á »« π¼«½τá¡¿ε,  á φ½Ñ¼Ñ¡Γδ ßΓ᫬¿ ß«ßΓ«∩¡¿∩, úÑ¡Ñα¿απÑ-
  1201.       ¼δÑ ¡Ññ«ßΓπ»¡«⌐ ¬«¼á¡ñ«⌐, Γ«ªÑ ¡Ññ«ßΓπ»¡δ. Æ«½∞¬« ¬«úñá óδ «Γ¬α«-
  1202.       ÑΓÑ «¬¡«,  ¿ß»«½∞ºπ∩ ¬«¼á¡ñπ ¼Ñ¡ε ¿½¿ ßΓ᫬π  ß«ßΓ«∩¡¿∩,  ¬«¼á¡ñá
  1203.       cmClose ¿ ß««ΓóÑΓßΓóπεΘ¿⌐ φ½Ñ¼Ñ¡Γ ßΓ᫬¿ ßΓá¡πΓ á¬Γ¿ó¡δ¼¿.
  1204.  
  1205.            îδ πªÑ «»αÑñѽ¿½¿ ¬«¡ßΓαπ¬Γ«α TMyApp Γᬿ¼ «íαẫ¼,  τΓ« íπ-
  1206.       ñÑΓ  óδºóá¡á óáΦ ß«íßΓóÑ¡¡δ⌐ ¼ÑΓ«ñ initStatusLine,  á ¡Ñ »Ñαó«¡á-
  1207.       τá½∞¡á∩, ¬«Γ«αá∩ «»αÑñѽѡá ó TProgram:
  1208.  
  1209.       TMyApp::TMyApp() :
  1210.           TProgInit( &TMyApp::initStatusLine,
  1211.                      &TMyApp::initMenuBar,
  1212.                      &TMyApp::initDeskToα
  1213.                    )
  1214.       {
  1215.       }
  1216.  
  1217.        /* ÅÑαÑñá⌐ΓÑ áñαÑßá óáΦ¿σ ΓαÑσ  ¼ÑΓ«ñ«ó  initXXX  ó  ¬«¡ßΓαπ¬Γ«α
  1218.           TProgInit.  ¥Γ«Γ  ¬«¡ßΓαπ¬Γ«α ¿¡¿µ¿á½¿º¿απÑΓ Γα¿ π¬áºáΓѽ∩ ¡á
  1219.           ¼ÑΓ«ñδ creatXXX (creatStatusLine ¿.Γ.ñ.) ¿ ¿ß»«½∞ºπÑΓ ¿σ  ñ½∩
  1220.           ¿¡¿µ¿á½¿ºáµ¿¿ ßΓ᫬¿ ß«ßΓ«∩¡¿∩, ßΓα«¬á ¼Ñ¡ε ¿ αáí«τÑ⌐ «í½áßΓ¿
  1221.  
  1222.       Turbo Vision ñ½∩ æ++         = 42 =
  1223.  
  1224.           óáΦÑ⌐ »α«úαá¼¼δ.
  1225.        */
  1226.  
  1227.            Ä»¿ßá¡¿Ñ ¬½áßßá TProgInit »α¿óÑñÑ¡« ó ú½áóÑ  13.  çñÑß∞  ªÑ,
  1228.       «Γ¼ÑΓ¿¼, τΓ«   TProgram   ¿¼ÑÑΓ  ñóá  íẫóδσ  ¬½áßßá:  TGrouα  ¿
  1229.       TProgInit.  TProgInit ∩ó½∩ÑΓß∩ «íΘÑñ«ßΓπ»¡δ¼ (αublic) ó¿αΓπá½∞¡δ¼
  1230.       íẫóδ¼ ¬½áßß«¼, ß«ñÑαªáΘ¿¼ π¬áºáΓѽ¿ ¡á ¼ÑΓ«ñδ createStatusLine,
  1231.       createDeskToα ¿ createMenuBar.  é¿αΓπá½∞¡δÑ íẫóδÑ  ¬«¡ßΓαπ¬Γ«αδ
  1232.       ¿¼ÑεΓ  ßó«¿  ß«íßΓóÑ¡¡δÑ  «ß«íδÑ  »αáó¿½á:  «¡¿  óδºδóáεΓß∩ »ÑαÑñ
  1233.       ¬«¡ßΓαπ¬Γ«αἿ ½εíδ󠻫᫪ñÑ¡¡δ󠬽áßß«ó.  Å«φΓ«¼π  π¬áºáΓѽ∞  ¡á
  1234.       ¼ÑΓ«ñ createStatusLine πßΓá¡áó½¿óáÑΓß∩ ó &TMyApp::initStatusLine.
  1235.       Æᬠ¬á¬ TMyApp ¡Ñ «»αÑñѽ∩ÑΓ initMenuBar ¿½¿ initDeskToα,  ¼ÑΓ«ñδ
  1236.       &TMyApp::initMenuBar ¿ &TMyApp::initDeskToα ß««ΓóÑΓßΓóπεΓ π¡áß½Ñ-
  1237.       ñ«óá¡¡δ¼ óÑαß¿∩¼ φΓ¿σ ¼ÑΓ«ñ«ó.
  1238.  
  1239.            Éáí«Γá ß« ßΓ᫬«⌐ ß«ßΓ«∩¡¿∩  ºá¬á¡τ¿óáÑΓß∩,  ¬á¬  Γ«½∞¬«  óδ
  1240.       »α«¿¡¿µ¿á½¿º¿α«ó὿  statusLine.  Å«ß¬«½∞¬π óδ ¿ß»«½∞ºπÑΓÑ Γ«½∞¬«
  1241.       »αÑñ«»αÑñѽѡ¡δÑ ¬«¼á¡ñδ (cmQuit ¿ cmClose),  Γ« statusLine ¼«ªÑΓ
  1242.       «íαáíáΓδóáΓ∞   »«½∞º«óáΓѽ∞߬¿⌐   óó«ñ   íѺ  óáΦÑú«  ñá½∞¡Ñ⌐ΦÑú«
  1243.       πτáßΓ¿∩. (çá¼ÑΓ∞ΓÑ, τΓ« »«ß¬«½∞¬π statusLine ∩ó½∩ÑΓß∩ ßΓáΓ¿τÑ߬¿¼
  1244.       φ½Ñ¼Ñ¡Γ«¼ ñá¡¡δσ,  Γ« ¬½áßßδ,  ¡Ñ »«α«ªñÑ¡¡δÑ ¿º TProgram,  ¼«úπΓ
  1245.       ßßδ½áΓ∞ß∩ ¡á ¡Ñú« Γ«½∞¬« »« »«½¡«¼π ¿¼Ñ¡¿: TProgram::statusLine.)
  1246.  
  1247.  
  1248.  
  1249.  
  1250.       Turbo Vision ñ½∩ æ++         = 43 =
  1251.  
  1252.                                           æ«ºñá¡¿Ñ ¡«óδ󠬫¼á¡ñ
  1253.       -----------------------------------------------------------------
  1254.  
  1255.            ÄΓ¼ÑΓ¿¼, τΓ« ¬«¼á¡ñδ cmQuit ¿ cmClose,  ¬«Γ«αδÑ óδ "ßó∩ºá½¿"
  1256.       c φ½Ñ¼Ñ¡ΓἿ  ßΓ᫬¿  ß«ßΓ«∩¡¿∩,  ∩ó½∩εΓß∩ ßΓá¡ñáαΓ¡δ¼¿ ¬«¼á¡ñἿ
  1257.       Turbo Vision,  á »«φΓ«¼π «»αÑñѽ∩Γ∞ ¿σ ¡Ñ ΓαÑíπÑΓß∩. ä½∩ Γ«ú« ªÑ,
  1258.       τΓ«íδ «»αÑñѽ¿Γ∞ ß«íßΓóÑ¡¡δÑ ¬«¼á¡ñδ,  óδ ñ«½ª¡δ «íΩ∩ó¿Γ∞ ¿σ, ¬á¬
  1259.       ¬«¡ßΓá¡Γδ. ìá»α¿¼Ñα, óδ ¼«ªÑΓÑ «»αÑñѽ¿Γ∞ ßó«ε ß«íßΓóÑ¡¡πε ¬«¼á¡-
  1260.       ñπ ñ½∩ «Γ¬αδΓ¿∩ ¡«ó«ú« «¬¡á ß½ÑñπεΘ¿¼ «íαẫ¼:
  1261.  
  1262.           const int cmNewWin   = 199;
  1263.  
  1264.       Åα¿¼Ñτá¡¿Ñ: Turbo  Vision  αѺÑαó¿απÑΓ  α∩ñ  ¬«¡ßΓá¡Γ  ñ½∩  ßó«¿σ
  1265.                   ß«íßΓóÑ¡¡δ󠬫¼á¡ñ. æ¼. ú½áóπ 5.
  1266.  
  1267.            çáΓѼ óδ ¼«ªÑΓÑ "ßó∩ºáΓ∞" φΓ𠬫¼á¡ñπ c π»αáó½∩εΘÑ⌐ ¬½áó¿ΦÑ⌐
  1268.       ¿ φ½Ñ¼Ñ¡Γ«¼ ßΓ᫬¿ ß«ßΓ«∩¡¿∩:
  1269.  
  1270.           return statusLine = new TStatusLine( r,
  1271.               *new TStatusDef( 0, 0xFFFF ) +
  1272.                   *new TStatusItem( "~Alt-X~ Exit", kbAltX, cmQuit ) +
  1273.                   *new TStatusItem( "~F4~ New", kbF4, cmNewWin ) +
  1274.                   *new TStatusItem( "~Alt-F3~ Close", kbAltF3, cmClose )
  1275.               );
  1276.  
  1277.            èᬠ»α¿¼Ñ¡¿Γ∞ ¼ÑΓ«ñ, ß««ΓóÑΓßΓóπεΘ¿⌐ cmNewWin, íπñÑΓ »«¬áºá-
  1278.       ¡« ¡¿ªÑ, ¬«úñá ¼δ íπñѼ «íßπªñáΓ∞ «íαáí«Γ¬π ß«íδΓ¿⌐.
  1279.  
  1280.            æ¿¡Γá¬ß¿ß ¿¡¿µ¿á½¿ºáµ¿¿ ßΓ᫬¿  ß«ßΓ«∩¡¿∩  ∩ó½∩ÑΓß∩  σ«α«Φ¿¼
  1281.       óóÑñÑ¡¿Ñ¼ ó ¿¡¿µ¿á½¿ºáµ¿ε ¼Ñ¡ε, τΓ« ∩ó½∩ÑΓß∩ í«½ÑÑ ß½«ª¡«⌐ «»Ñαá-
  1282.       µ¿Ñ⌐.
  1283.  
  1284.                                                 æΓ᫬«ó«Ñ ¼Ñ¡ε
  1285.  
  1286.            îÑΓ«ñ initMenuBar,  óδºδóáѼδ⌐  »«  π¼«½τá¡¿ε  ¬«¡ßΓαπ¬Γ«α«¼
  1287.       TProgram,  ¿¡¿µ¿á½¿º¿απÑΓ «íΩÑ¬Γ TMenuBar ¿ πßΓá¡áó½¿óáÑΓ  ßΓáΓ¿-
  1288.       τÑ߬¿⌐ φ½Ñ¼Ñ¡Γ menuBar Γá¬, ¬á¬ φΓ« »«¬áºá¡« ¡¿ªÑ:
  1289.  
  1290.       TMenuBar *TProgram::initMenuBar( TRect r )
  1291.       {
  1292.  
  1293.           r.b.y = r.a.y + 1;
  1294.           // πßΓá¡«ó¿Γ∞ ¡¿ª¡εε úαá¡¿µπ «Γ«íαáªáѼ«ú« «íΩѬΓá
  1295.           // ¡á 1 ¡¿ªÑ Ñú« óÑασ¡Ñ⌐ úαá¡¿µδ
  1296.  
  1297.           return new TMenuBar( r, 0 );
  1298.  
  1299.       }
  1300.  
  1301.            èᬠóδ ó¿ñѽ¿ ¡á »α¿¼ÑαÑ TVGUID01,  φëà¼ÑΓ«ñ  ñáÑΓ  »πßΓπε
  1302.       ßΓα«¬π  ¼Ñ¡ε.  ÅÑαóδ⌐  áαúπ¼Ñ¡Γ ñáÑΓ αẼÑα «Γ«íαáªáѼ«ú« «íΩѬΓá
  1303.       (»α∩¼«πú«½∞¡á∩ »«½«ßá).  ô¬áºáΓѽ∞ 0 ó« óΓ«α«¼  áαúπ¼Ñ¡ΓÑ  ó맮óá
  1304.  
  1305.       Turbo Vision ñ½∩ æ++         = 44 =
  1306.  
  1307.       new TMenuBar »«¬áºδóáÑΓ, τΓ« ¡¿¬á¬¿σ φ½Ñ¼Ñ¡Γ«ó ¼Ñ¡ε ¿½¿ »«ñ߬ẫ¬
  1308.       ¡Ñ ßπΘÑßΓóπÑΓ.  éδ ñ«½ª¡δ »ÑαÑ«»αÑñѽ¿Γ∞ ¼ÑΓ«ñ initMenuBar, τΓ«íδ
  1309.       «íÑß»Ñτ¿Γ∞ ßó«ε ß«íßΓóÑ¡¡πε ¿Ñαáασ¿ε ¼Ñ¡ε. Å«½Ñ menuBar ¿¡¿µ¿á½¿-
  1310.       º¿απÑΓß∩  »α¿  ó½«ªÑ¡¡δσ  ó맮óáσ   ¬«¡ßΓαπ¬Γ«α«ó   TMenuItem   ¿
  1311.       TSubMenu, ¿ß»«½∞ºπεΘ¿σ »ÑαÑ«»αÑñѽѡ¡δ⌐ «»ÑαáΓ«α +. ê ΓᬠªÑ, ¬á¬
  1312.       φΓ« ¿ í佫 ß« ßΓ᫬«⌐  ß«ßΓ«∩¡¿∩,  óδ  ñ«½ª¡δ  ñ«íáó¿Γ∞  ó  ¬½áßß
  1313.       TMyApp ß½ÑñπεΘÑÑ «íΩ∩ó½Ñ¡¿Ñ :
  1314.  
  1315.            static TMenuBar *initMenuBar ( TRect r );
  1316.  
  1317.            îÑΓ«ñ newLine «íÑß»Ñτ¿óáÑΓ αáºñѽ¿Γѽ∞¡δÑ ½¿¡¿¿ ¼Ñªñπ  »π¡¬-
  1318.       ΓἿ ¼Ñ¡ε. Å«ß½Ñ ¿¡¿µ¿á½¿ºáµ¿¿ ¼Ñ¡ε, óáΦá αáí«Γá ß ¡¿¼ ºá¬«¡τÑ¡á,
  1319.       Γ.¬. ½¿¡Ñ⌐¡«Ñ ¼Ñ¡ε ¼Ñ¡ε «íαáíáΓδóáÑΓ  ñÑ⌐ßΓó¿∩  »«½∞º«óáΓѽ∩  íѺ
  1320.       óáΦÑú« πτáßΓ¿∩.
  1321.  
  1322.             Åα«¿¡¿µ¿á½¿º¿απ⌐ΓÑ »α«ßΓÑ⌐ΦÑÑ ½¿¡Ñ⌐¡«Ñ ¼Ñ¡ε, «ñ¡« ¼Ñ¡ε, ß«-
  1323.       ñÑαªáΘÑÑ «ñ¡π ¬«¼á¡ñπ, ¡á»α¿¼Ñα, ¬á¬ φΓ« »«¬áºá¡« ¡¿ªÑ:
  1324.  
  1325.                                 ▒▒ File ▒▒▒▒▒▒▒▒▒▒▒▒▒
  1326.                                  ┌────────────────┐░░
  1327.                                  │░░Oαen F3░░░░░░░│▒░
  1328.                                  └────────────────┘▒░
  1329.                                 ░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
  1330.                                 ░░░░░░░░░░░░░░░░░░░░░
  1331.  
  1332.       const cmFileOαen = 200; // «»αÑñѽѡ¿Ñ ¡«ó«⌐ ¬«¼á¡ñδ
  1333.  
  1334.       TMenuBar *TMyApp::initMenuBar( TRect r )
  1335.       {
  1336.  
  1337.           r.b.y = r.a.y + 1;
  1338.           return new TMenuBar( r,
  1339.            *new TSubMenu( "~F~ile", kbAltF )+
  1340.            *new TMenuItem( "~O~αen", cmFileOαen,kbF3,hcNoContext,"F3")
  1341.            );
  1342.       }
  1343.  
  1344.            àñ¿¡ßΓóÑ¡¡«Ñ ó½«ªÑ¡¡«Ñ  ¼Ñ¡ε,  óδñáóáѼ«Ñ  ñá¡¡δ¼ Σαáú¼Ñ¡Γ«¼
  1345.       »α«úαá¼¼δ, ¡áºδóáÑΓß∩  'File',  á  Ñú«  Ññ¿¡ßΓóÑ¡¡á∩  ¬«¼á¡ñá   -
  1346.       'Oαen'. æ  »«¼«Θ∞ε  ß¿¼ó«½«ó Γ¿½∞ñá (~) π¬áºδóáÑΓß∩,  τΓ« íπ¬óá F
  1347.       ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ π»α«ΘÑ¡¡«ú« ó맮óá ¼Ñ¡ε  "File"  (ß  »«-
  1348.       ¼«Θ∞ε  ¬«¼á¡ñδ  Alt-F),  á  íπ¬óá "O" ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡á ñ½∩
  1349.       ó맮óá ¬«¼á¡ñδ φΓ«ú« ¼Ñ¡ε 'Oαen'. é Γ«ªÑ óαѼ∩ ¬½áó¿Φá F3 "ßó∩ºá-
  1350.       ¡á" c 'Oαen' ó ¬áτÑßΓóÑ π»αáó½∩εΘÑ⌐ ¬½áó¿Φ¿.
  1351.  
  1352.            éßÑ «Γ«íαáªáѼδÑ  «íΩѬΓδ Turbo Vision ¼«úπΓ ¿¼ÑΓ∞ ßó∩ºá¡¡δ⌐
  1353.       ß ¡¿¼¿ ¡«¼Ñα ¬«¡ΓѬßΓá "ß»αáó¬¿". ¥Γ«Γ ¡«¼Ñα «í½ÑúτáÑΓ »α¿¼Ñ¡Ñ¡¿Ñ
  1354.       ó óáΦÑ⌐ »α«úαἼѠ߿ßΓÑ¼δ ¬«¡ΓѬßΓ¡«-ºáó¿ß¿¼«⌐ »«¼«Θ¿.  éßÑ «Γ«í-
  1355.       αáªáѼδÑ «íΩѬΓδ ¿¼ÑεΓ, »« π¼«½τá¡¿ε, ¬«¡ΓѬßΓ hcNoContext, ¬«Γ«-
  1356.       αδ⌐ ∩ó½∩ÑΓß∩ ß»Ñµ¿á½∞¡δ¼ ß½πτáѼ ¬«¡ΓѬßΓá,  ¡Ñ ¿º¼Ñ¡∩εΘ¿¼ ¡«¼Ñαá
  1357.       ΓѬπΘÑú« ¬«¡ΓѬßΓá »«¼«Θ¿.  àß½¿ ªÑ óδ ú«Γ«óδ ñ«íáó¿Γ∞ ßó«¿  ¬«¡-
  1358.       ΓѬßΓδ »«¼«Θ¿ ó ßΓ᫬π ¼Ñ¡ε,  óδ ¼«ªÑΓÑ »«ñßΓáó¿Γ∞ ßó«¿ ß«íßΓóÑ¡-
  1359.       ¡δÑ º¡áτÑ¡¿∩ ó¼ÑßΓ« hcNoContext »α¿ ¿¡¿µ¿á½¿ºáµ¿¿ ßΓ᫬¿ ¼Ñ¡ε.
  1360.  
  1361.       Turbo Vision ñ½∩ æ++         = 45 =
  1362.  
  1363.  
  1364.            ä½∩ Γ«ú«,  τΓ«íδ  ñ«íáó¿Γ∞  óΓ«α«⌐  »π¡¬Γ ó ¼Ñ¡ε 'File',  óδ
  1365.       »α«ßΓ« ñ«½ª¡δ  «ßπΘÑßΓó¿Γ∞  ¡«óδ⌐  ó½«ªÑ¡¡δ⌐  óδº«ó  ¼ÑΓ«ñá  *new
  1366.       TMenuItem Γá¬, ¬á¬ φΓ« ßñѽᡫ ¡¿ªÑ:
  1367.  
  1368.                                 ▒▒ File ▒▒▒▒▒▒▒▒▒▒▒▒▒
  1369.                                  ┌────────────────┐░░
  1370.                                  │░░Oαen F3░░░░░░░│▒░
  1371.                                  │  New  F4       │▒░
  1372.                                  └────────────────┘▒░
  1373.                                 ░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
  1374.                                 ░░░░░░░░░░░░░░░░░░░░░
  1375.  
  1376.  
  1377.       return new TMenuBar( r,
  1378.         *new TSubMenu( "~F~ile", kbAltF )+
  1379.           *new TMenuItem( "~O~αen", cmFileOαen, kbF3,hcNoContext,"F3")+
  1380.           *new TMenuItem( "~N~ew",  cmNewWin,   kbF4,hcNoContext,"F4")+
  1381.         );
  1382.  
  1383.            ä½∩ Γ«ú« ªÑ,  τΓ«íδ ñ«íáó¿Γ∞ óΓ«α«Ñ ¼Ñ¡ε,  óδ ñ«½ª¡δ  óΓ«α«⌐
  1384.       αẠ(󽫪ѡ«) «íαáΓ¿Γ∞ß∩ ¬ ¼ÑΓ«ñπ *new TSubMenu Γá¬,  ¬á¬ φΓ« »«-
  1385.       ¬áºá¡« ¡¿ªÑ:
  1386.  
  1387.                                 ▒▒ File   Window▒▒▒▒▒▒▒▒▒▒▒
  1388.                                 ░░░░░░░░┌───────────────┐░░
  1389.                                 ░░░░░░░░│░░Next F6░░░░░░│▒░
  1390.                                 ░░░░░░░░│  Zoom F5      │▒░
  1391.                                 ░░░░░░░░└───────────────┘▒░
  1392.                                 ░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
  1393.                                 ░░░░░░░░░░░░░░░░░░░░░░░░░░░
  1394.  
  1395.  
  1396.       return new TMenuBar( r,
  1397.         *new TSubMenu( "~F~ile", kbAltF )+
  1398.           *new TMenuItem( "~O~αen", cmFileOαen, kbF3,hcNoContext,"F3")+
  1399.           *new TMenuItem( "~N~ew",  cmNewWin,   kbF4,hcNoContext,"F4")+
  1400.         *new TSubMenu( "~W~indow", kbAltW )+
  1401.           *new TMenuItem( "~N~ext", cmNext,     kbF6,hcNoContext,"F6")+
  1402.           *new TMenuItem( "~Z~oom", cmZoom,     kbF5,hcNoContext,"F5")
  1403.         );
  1404.  
  1405.            äá¡¡δ⌐ Σαáú¼Ñ¡Γ »α«úαá¼¼δ ßó∩ºá½ ÑΘÑ ñóÑ ßΓá¡ñáαΓ¡δ󠬫¼á¡ñδ
  1406.       Turbo Vision,  cmNext ¿ cmZoom,  ß ¬«¼á¡ñἿ ¼Ñ¡ε ¿  π»αáó½∩εΘ¿¼¿
  1407.       ¬½áó¿ΦἿ.
  1408.  
  1409.            ùΓ«íδ »«¼ÑßΓ¿Γ∞ ú«α¿º«¡Γá½∞¡πε ½¿¡¿ε ¼Ñªñπ  »π¡¬ΓἿ  óÑαΓ¿-
  1410.       ¬á½∞¡«ú« ¼Ñ¡ε,»«¼ÑßΓ¿ΓÑ «íαáΘÑ¡¿Ñ ¬ ¼ÑΓ«ñπ newLine ¼Ñªñπ ó맮óἿ
  1411.       ¼ÑΓ«ñá *new TMenuItem ß½ÑñπεΘ¿¼ «íαẫ¼: (ß¼. TVGUID03.CPP)
  1412.  
  1413.       Turbo Vision ñ½∩ æ++         = 46 =
  1414.  
  1415.                                 ▒▒ File  Window▒▒▒▒▒▒
  1416.                                  ┌────────────────┐░░
  1417.                                  │░░Oαen F3░░░░░░░│▒░
  1418.                                  │  New  F4       │▒░
  1419.                                  └────────────────┘▒░
  1420.                                  │  Exit  Alt-X   │▒░
  1421.                                  └────────────────┘▒░
  1422.                                 ░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
  1423.                                 ░░░░░░░░░░░░░░░░░░░░░
  1424.  
  1425.       return new TMenuBar( r,
  1426.         *new TSubMenu( "~F~ile", kbAltF )+
  1427.           *new TMenuItem( "~O~αen", cmFileOαen, kbF3,hcNoContext,"F3")+
  1428.           *new TMenuItem( "~N~ew",  cmNewWin,   kbF4,hcNoContext,"F4")+
  1429.           newLine()+
  1430.           *new TMenuItem( "E~x~it", cmQuit,cmQuit,hcNoContext,"Alt-X")+
  1431.         *new TSubMenu( "~W~indow", kbAltW )+
  1432.           *new TMenuItem( "~N~ext", cmNext,     kbF6,hcNoContext,"F6")+
  1433.           *new TMenuItem( "~Z~oom", cmZoom,     kbF5,hcNoContext,"F5")
  1434.         );
  1435.  
  1436.            èᬠóδ ¼«ªÑΓÑ ºá¼ÑΓ¿Γ∞, óÑαß¿∩ »α«úαá¼¼δ TVGUID03.CPP, ¿¼Ñε-
  1437.       Θá∩ß∩ ¡á óáΦѼ ñ¿ß¬Ñ,  »«¼¿¼« »α«τÑú« ñ«íáó½∩ÑΓ ßΓáΓπß¡πε ¬½áó¿Φπ
  1438.       ó ßΓ᫬π ß«ßΓ«∩¡¿∩,  ßó∩ºδóá∩ ¬½áó¿Φπ F10 ß ¬«¼á¡ñ«⌐ cmMenu.  è«-
  1439.       ¼á¡ñá cmMenu ∩ó½∩ÑΓß∩ «ñ¡«⌐ ¿º ßΓá¡ñáαΓ¡δ󠬫¼á¡ñ  Turbo  Vision,
  1440.       ¬«Γ«αá∩ »«¼«úáÑΓ »«½∞º«óáΓѽ∩¼,  ¡Ñ ¿¼ÑεΘ¿¼ "¼δΦ¿",  ¿ß»«½∞º«óáΓ∞
  1441.       ßΓ᫬π ¼Ñ¡ε.  é ñá¡¡«¼ ß½πτáÑ, ¡áªáΓ¿Ñ ¬½áó¿Φ¿ F10 óδºδóáÑΓ á¬Γ¿-
  1442.       ó¿ºáµ¿ε ßΓ᫬¿ ¼Ñ¡ε,  ΓѼ ßá¼δ¼  «íÑß»Ñτ¿óá∩  ó«º¼«ª¡«ßΓ∞  óδí«αá
  1443.       ΓαÑíπѼ«ú« óÑαΓ¿¬á½∞¡«ú«  ¼Ñ¡ε  (¿  Ñú« ß««ΓóÑΓßΓóπεΘ¿σ ¬«¼á¡ñ) ß
  1444.       »«¼«Θ∞ε ¬½áó¿Φ π»αáó½Ñ¡¿∩ ¬παß«α«¼.  ì¿¬á¬¿σ ¿º¼Ñ¡Ñ¡¿⌐  ó  ¼ÑΓ«ñÑ
  1445.       handleEvent ¡Ñ ΓαÑíπÑΓß∩.
  1446.            æ½ÑñπÑΓ ΓᬪѠ«Γ¼ÑΓ¿Γ∞, τΓ« φ½Ñ¼Ñ¡Γ ßΓ᫬¿ ß«ßΓ«∩¡¿∩ F10 ß«-
  1447.       ñÑαª¿Γ ó ¬áτÑßΓóÑ ΓѬßΓá ¡π½Ñóπε ßΓ᫬π, »«φΓ«¼π ¡á φ¬αá¡Ñ ¡¿τÑú«
  1448.       ¡Ñ »«∩ó½∩ÑΓß∩.  é««íΘÑ-Γ«, í佫 íδ σ«α«Φ« »«ñú«Γ«ó¿Γ∞ »«½∞º«óáΓÑ-
  1449.       ½Ñ⌐ ¬ Γ«¼π,  τΓ« ¬½áó¿Φá F10 íπñÑΓ á¬Γ¿ó¿º¿α«óáΓ∞ ½¿¡Ñ⌐¡«Ñ  ¼Ñ¡ε.
  1450.       Äñ¡á¬«, «íδτ¡«, ¿¼ÑΓ∞ ß»Ñµ¿á½∞¡δ⌐ φ½Ñ¼Ñ¡Γ ßΓ᫬¿ ß«ßΓ«∩¡¿∩, ¬«Γ«-
  1451.       αδ⌐ »α¿ Ñú« óδí«αÑ (ß »«¼«Θ∞ε "¼δΦ¿") ¡áªáΓ¿¿ íπñÑΓ óδ»«½¡∩Γ∞ φΓ«
  1452.       ñÑ⌐ßΓó¿Ñ,  ñ«ßΓáΓ«τ¡«  íÑß»«½Ñº¡«.  â«αáºñ« αáºπ¼¡ÑÑ αáí«ΓáΓ∞ ¡Ñ-
  1453.       »«ßαÑñßΓóÑ¡¡« ß« ßΓ᫬«⌐ ¼Ñ¡ε.
  1454.                                          çá¼Ñτá¡¿Ñ »« ßΓαπ¬ΓπαÑ
  1455.  
  1456.            ìá ñá¡¡δ⌐ ¼«¼Ñ¡Γ α∩ñ ¬«¼á¡ñ ñ«ßΓπ»Ñ¡,  ¡« í«½∞Φ¿¡ßΓó« ¿º ¡¿σ
  1457.       ºáí½«¬¿α«óá¡«,  á  ¬«¼á¡ñδ cmNewWin ¿ cmFileOαen ¡Ñ óδ»«½¡∩εΓ ÑΘÑ
  1458.       ¡¿¬á¬¿σ ñÑ⌐ßΓó¿⌐.
  1459.            Äñ¡á¬«, óδ  ¡Ñ  ñ«½ª¡δ αẫτáα«óδóáΓ∞ß∩.  éδ ¿ Γᬠóδ»«½¡¿½¿
  1460.       í«½∞Φπε αáí«Γπ.  éδ »«º¡á¬«¼¿½¿ß∞ ß «ñ¡¿¼ ¿º »αÑ¿¼πΘÑßΓó »α«úαá¼-
  1461.       ¼¿α«óá¡¿∩,  π»αáó½∩Ѽ«ú«  ß«íδΓ¿∩¼¿ - «Γñѽѡ¿Ñ Σπ¡¬µ¿¿ »«½πτÑ¡¿∩
  1462.       ß«íδΓ¿⌐ «Γ Σπ¡¬µ¿¿ αÑᬵ¿¿ ¡á φΓ¿ ß«íδΓ¿∩.
  1463.            Åα¿ αáí«ΓÑ ó Γαáñ¿µ¿«¡¡«¼ ßΓ¿½Ñ »α«úαá¼¼¿α«óá¡¿∩  óá¼  »α¿Φ-
  1464.       ½«ß∞  íδ óÑα¡πΓ∞ß∩ ¬ Γ«½∞¬« τΓ« ¡á»¿ßá¡¡«¼π Σαáú¼Ñ¡Γπ »α«úαá¼¼δ ¿
  1465.       ñ«íáó½∩Γ∞ ¡«óδÑ Σαáú¼Ñ¡Γδ ñ½∩ «Γ¬αδΓ¿∩ «¬«¡ ¿ Γ.». Äñ¡á¬«, óá¼ ¡Ñ
  1466.  
  1467.       Turbo Vision ñ½∩ æ++         = 47 =
  1468.  
  1469.       »α¿ñÑΓß∩ ñѽáΓ∞ φΓ«ú«:  óδ »«½πτ¿½¿ ¼Ñσá¡¿º¼,  ß»«ß«í¡δ⌐ »«ßδ½áΓ∞
  1470.       ¬«¼á¡ñδ.  éá¼ «ßΓáÑΓß∩ ½¿Φ∞ ¡á»¿ßáΓ∞ α∩ñ »«ñ»α«úαá¼¼, αÑáú¿απεΘ¿σ
  1471.       ¡á φΓ¿ ¬«¼á¡ñδ. ¥Γ¿¼ óδ ¿ ºá⌐¼ÑΓÑß∞ ó ß½ÑñπεΘѼ αáºñѽÑ.
  1472.  
  1473.            æΓαπ¬Γπαá »α«úαá¼¼  ¡á  Turbo  Vision  »α«ñó¿úáÑΓ óáß ¡á Φáú
  1474.       ó»ÑαÑñ »« «Γ¡«ΦÑ¡¿ε ¬ Γαáñ¿µ¿«¡¡«¼π ¼«ñπ½∞¡«¼π  »α«úαá¼¼¿α«óá¡¿ε.
  1475.       éδ ¼«ªÑΓÑ ¡Ñ Γ«½∞¬« αáºí¿óáΓ∞ ßó«ε »α«úαá¼¼π ¡á Σπ¡¬µ¿«¡á½∞¡«-ßá-
  1476.       ¼«ßΓ«∩Γѽ∞¡δÑ,  »«óΓ«α¡« ¿ß»«½∞ºπѼδÑ í½«¬¿,  ¡« φΓ¿ í½«¬¿  ¼«úπΓ
  1477.       íδΓ∞ º¡áτ¿Γѽ∞¡« ¼Ñ¡∞ΦÑú« «íΩѼá, í«½ÑÑ ¡Ñºáó¿ß¿¼δÑ ñαπú «Γ ñαπúá
  1478.       ¿ óºá¿¼«ºá¼Ñ¡∩ѼδÑ.
  1479.  
  1480.            ÆÑ»Ñα∞ óáΦá »α«úαá¼¼á αáß»«½áúáÑΓ ¡Ñ߬«½∞¬¿¼¿ ß»«ß«íἿ  ñ½∩
  1481.       »«ß佬¿ ¬«¼á¡ñδ, «Γ¬αδóáεΘÑ⌐ ¡«ó«Ñ «¬¡« (cmNewWin): φ½Ñ¼Ñ¡Γ ßΓα«-
  1482.       ¬¿ ß«ßΓ«∩¡¿∩, »π¡¬Γ ¼Ñ¡ε ¿ π»αáó½∩εΘá∩ ¬½áó¿Φá. æÑ⌐τáß ªÑ óδ πíÑ-
  1483.       ñ¿ΓÑß∞, ¡á߬«½∞¬« »α«ßΓ« ¼«ª¡« ß««íΘ¿Γ∞ óáΦÑ⌐ »α«úαἼѠ« ¡Ñ«íσ«-
  1484.       ñ¿¼«ßΓ¿ «Γ¬αδΓ∞ ¡«ó«Ñ «¬¡« »α¿ »«¼«Θ¿ φΓ«⌐  ¬«¼á¡ñδ.  æπΘÑßΓóÑ¡¡«
  1485.       Γ«, τΓ« ñ½∩ »α«úαá¼¼δ ¡Ñ ó᪡«, ¬á¬¿¼ «íαẫ¼ αáí«ΓáÑΓ ñá¡¡á∩ ¬«-
  1486.       ¼á¡ñá,  ¿ ¬á¬ íπñÑΓ "»«ßΓα«Ñ¡«" «¬¡«. éßÑ φΓ¿ Σπ¡¬µ¿«¡á½∞¡δÑ ó«º-
  1487.       ¼«ª¡«ßΓ¿ ∩ó½∩εΓß∩ ¡Ñºáó¿ß¿¼δ¼¿.
  1488.  
  1489.            àß½¿ »«ºñ¡ÑÑ  óδ ºáσ«Γ¿ΓÑ ¿º¼Ñ¡¿Γ∞ "»α¿ó∩º¬π" ñá¡¡«⌐ ¬«¼á¡ñδ
  1490.       - ßó∩ºáΓ∞ ÑÑ ß ñαπú¿¼ »π¡¬Γ«¼ ¼Ñ¡ε, ß ñαπú«⌐ π»αáó½∩εΘÑ⌐ ¬½áó¿ΦÑ⌐
  1491.       ¿ Γ.ñ.  - Γ« óá¼ ¡Ñ »α¿ñÑΓß∩ íÑß»«¬«¿Γ∞ß∩ « Γ«¼, ¬á¬ φΓ« »«ó½¿∩ÑΓ
  1492.       ¡á ñαπú¿Ñ τáßΓ¿ óáΦÑ⌐ »α«úαá¼¼δ.  ¥Γ¿¼ ¿ »«ñ¬π»áÑΓ »α«úαá¼¼¿α«óá-
  1493.       ¡¿Ñ,  π»αáó½∩Ѽ«Ñ  ß«íδΓ¿∩¼¿:  «¡«  «Γñѽ∩ÑΓ αáºαáí«Γ¬π »«½∞º«óá-
  1494.       Γѽ∞߬«ú« ¿¡ΓÑαΣÑ⌐ßá «Γ ß«íßΓóÑ¡¡« αáí«Γδ »α«úαá¼¼δ, á φΓ« ¬á¬ óδ
  1495.       »«¡¿¼áÑΓÑ,  »α¿ó«ñ¿Γ ¬ Γ«¼π,  τΓ« «Γñѽ∞¡δÑ τáßΓ¿ óáΦÑ⌐ »α«úαá¼¼δ
  1496.       αáí«ΓáεΓ ß«óÑαΦÑ¡¡« ¡Ñºáó¿ß¿¼« ñαπú «Γ ñαπúá.
  1497.  
  1498.       Turbo Vision ñ½∩ æ++         = 48 =
  1499.  
  1500.                                                Éáí«Γá ß «¬¡á¼¿
  1501.       -----------------------------------------------------------------
  1502.  
  1503.            Ä¬¡« ó Turbo Vision ∩ó½∩ÑΓß∩ «íΩÑ¬Γ«¼,  á Ñú«  ¿ß»«½∞º«óá¡¿Ñ
  1504.       »αÑñ«ßΓáó½∩ÑΓ ó«º¼«ª¡«ßΓ∞ «íαáíáΓδóáΓ∞ í«½∞Φπε τáßΓ∞ ¬«¼á¡ñ »«½∞-
  1505.       º«óáΓѽ∩,  ¡Ñ ß«ºñáóá∩ ¡¿ Ññ¿¡«⌐ ßΓ᫬¿ »α«úαá¼¼δ.  Ä¬¡« ó  Turbo
  1506.       Vision πªÑ "º¡áÑΓ" ºáαá¡ÑÑ,  ¬á¬ ßÑí∩ «Γ¬αδΓ∞,  ¿º¼Ñ¡¿Γ∞ αẼÑαδ,
  1507.       »ÑαѼÑßΓ¿Γ∞ ¿ ºá¬αδΓ∞ ó «ΓóÑΓ ¡á ¬á¬¿Ñ-Γ«  ó¡ÑΦ¡¿Ñ  ß«íδΓ¿∩.  éδ,
  1508.       «ñ¡á¬«, ¡Ñ »¿ΦÑΓÑ »α∩¼« ó «í½áßΓ∞ «¬¡á Turbo Vision. Ä¬¡« ó Turbo
  1509.       Vision ∩ó½∩ÑΓß∩ úαπ»»«⌐, ¬«Γ«αá∩ ó½áñÑÑΓ ¿ π»αáó½∩ÑΓ ñαπú¿¼¿ «íΩ-
  1510.       Ñ¬ΓἿ, ¡« ¡Ñ «Γ«íαáªáÑΓ ¿σ ¡á φ¬αá¡Ñ.  Ä¬¡« π»αáó½∩ÑΓ «Γ«íαáªáÑ-
  1511.       ¼δ¼¿ «íΩѬΓἿ,  á ¿¼Ñ¡¡« ó ¡¿σ ºá¬½ετáεΓß∩  π¡¿¬á½∞¡δÑ  Σπ¡¬µ¿«-
  1512.       ¡á½∞¡δѠ󫺼«ª¡«ßΓ¿ óáΦÑ⌐ »α«úαá¼¼δ.  æ«ºñáóáѼδÑ óἿ «Γ«íαáªáÑ-
  1513.       ¼δÑ «íΩѬΓδ ß«σαá¡∩εΓ í«½∞Φπε ú¿í¬«ßΓ∞ ó «Γ¡«ΦÑ¡¿¿  Γ«ú«,  úñÑ  ¿
  1514.       ¬á¬¿¼ «íαẫ¼ «¡¿ »«∩ó½∩εΓß∩.
  1515.  
  1516.            èᬿ¼ ªÑ «íαẫ¼ ¼«ª¡« «íΩÑñ¿¡¿Γ∞ ßΓá¡ñáαΓ¡δÑ ßαÑñßΓóá «αúá-
  1517.       ¡¿ºáµ¿¿ ¿ «íαáí«Γ¬¿ «¬«¡ ß Γ«⌐  "Σπ¡¬µ¿«¡á½∞¡«ßΓ∞ε",  ¬«Γ«απε  óδ
  1518.       σ«Γ¿ΓÑ ó ¡¿σ »«¼ÑßΓ¿Γ∞?  éδ ¡áτ὿ ß «αúá¡¿ºáµ¿¿ ßΓá¡ñáαΓ¡«ú« «¬-
  1519.       ¡á, ΓÑ»Ñα∞ óδ ¼«ªÑΓÑ ñ«íáó¿Γ∞ ¬ ¡Ñ¼π ªÑ½áѼδÑ ßó«⌐ßΓóá. êº ß½Ññπ-
  1520.       εΘ¿σ  »α¿¼Ñα«ó  óδ  πó¿ñ¿ΓÑ,  ¡á߬«½∞¬« »α«ßΓ« φΓ« ßñѽáΓ∞,  Ñß½¿
  1521.       ¿ß»«½∞º«óáΓ∞ ß¬Ñ½ÑΓ »α«úαá¼¼δ, ¿ß»«½∞ºπεΘÑ⌐ Turbo Vision.
  1522.  
  1523.            é ß½ÑñπεΘѼ  Σαáú¼Ñ¡ΓÑ  »α«úαá¼¼δ  óδ»«½¡∩ÑΓß∩ ¿¡¿µ¿á½¿ºáµ¿∩
  1524.       «¬¡á ¿ Ñú« ó¬½ετÑ¡¿Ñ ¬ αáí«τÑ⌐ «í½áßΓ¿.  ìÑ ºáíπñ∞ΓÑ ñ«íáó¿Γ∞ ¡«-
  1525.       óδÑ ¼ÑΓ«ñδ ¬ «íΩ∩ó½Ñ¡¿ε ¬½áßßá TMyApp. ê¼Ñ⌐ΓÑ ó ó¿ñπ, τΓ« óδ ß¡«-
  1526.       óá «»αÑñѽ∩ÑΓÑ ¡«óδ⌐ ¬½áßß (TDemoWindow), ¡Ñ ñ«íáó½∩∩ ¡«óδσ ¼ÑΓ«-
  1527.       ñ«ó ¬½áßßá ¬ ΓѼ, ¬«Γ«αδÑ πªÑ π¡áß½Ññ«óá¡δ «Γ ¬½áßßá TWindow, Ñú«
  1528.       íẫó«ú« ¬½áßßá.  èᬠ¿ αá¡∞ΦÑ,  óδ φΓ« ñѽáÑΓÑ, τΓ«íδ «íÑß»Ñτ¿Γ∞
  1529.       ßÑíÑ «ß¡«óπ ñ½∩ ñá½∞¡Ñ⌐ΦÑú« »«ßΓα«Ñ¡¿∩ ßó«Ñ⌐ »α«úαá¼¼δ. Å«ßΓѻѡ-
  1530.       ¡« óδ íπñÑΓÑ ñ«íáó½∩Γ∞ ó ¡Ñú« óßÑ ¡«óδÑ ¿ ¡«óδÑ ¼ÑΓ«ñδ.
  1531.  
  1532.       static short winNumber = 0;        // «»αÑñѽ¿¼ ¡«¼Ñα «¬¡á
  1533.  
  1534.       void TMyApp::handleEvent(TEvent& event)
  1535.       {
  1536.         TApplication::handleEvent(event); // αáí«ΓáÑΓ ¬á¬ íẫóδ⌐
  1537.                                           // ¼ÑΓ«ñ
  1538.         if( event.what == evCommand )
  1539.           {
  1540.           switch( event.message.command )
  1541.             {
  1542.             case cmMyNewWin: //¡« αÑáú¿απÑΓ ¿ ¡á ñ«»«½¡¿Γѽ∞¡δÑ ¬«¼á¡ñδ
  1543.                 myNewWindow(); // ñÑ⌐ßΓó¿Ñ »« π¼«½τá¡¿ε ñ½∩ cmMyNewWin
  1544.                 break;
  1545.             default:
  1546.                 return;
  1547.             }
  1548.           clearEvent( event );  // «τ¿ßΓ¿Γ∞ «τÑαÑñ∞ ß«íδΓ¿⌐
  1549.                                 // »«ß½Ñ «íαáí«Γ¬¿
  1550.           }
  1551.       }
  1552.  
  1553.  
  1554.       Turbo Vision ñ½∩ æ++         = 49 =
  1555.  
  1556.       TDemoWindow::TDemoWindow(
  1557.               const TRect& r, const char *aTitle, short aNumber):
  1558.               TWindow( r, aTitle, aNumber),
  1559.               TWindowInit( &TDemoWindow::initFrame
  1560.               )
  1561.       {
  1562.       }
  1563.  
  1564.       void TMyApp::myNewWindow()
  1565.       {
  1566.           TRect r( 0, 0, 26, 7 );           // πßΓá¡«ó¬á ¡áτá½∞¡«ú«
  1567.                                             // αẼÑαá ¿ αáß»«½«ªÑ¡¿∩
  1568.           r.move( random(53), random(16) ); // ß½πτá⌐¡«Ñ »ÑαѼÑΘÑ¡¿Ñ
  1569.                                             // »« φ¬αá¡π
  1570.           TDemoWindow *window = new TDemoWindow (
  1571.                                       r, "Demo Window", ++winNumber);
  1572.           deskToα->insert(window); // ó¬½ετ¿Γ∞ «¬¡« ó αáí«τπε «í½áßΓ∞
  1573.                                    // ¿ ¿º«íαếΓ∞ Ñú«
  1574.       }
  1575.  
  1576.       Åα¿¼Ñτá¡¿Ñ: φΓ« »α¿¼Ñα ¡áσ«ñ¿Γß∩ ó Σá⌐½Ñ TVGUID04.CPP.
  1577.  
  1578.            ä½∩ Γ«ú«,  τΓ«íδ ¿ß»«½∞º«óáΓ∞ ñá¡¡«Ñ «¬¡« ó óáΦÑ⌐ »α«úαá¼¼Ñ,
  1579.       "ßó∩ª¿ΓÑ" ¬«¼á¡ñπ cmMyNewWin ß »π¡¬Γ«¼ ¼Ñ¡ε, ßΓ᫬¿ ß«ßΓ«∩¡¿∩ ¿½¿
  1580.       π»αáó½∩εΘÑ⌐ ¬½áó¿ΦÑ⌐, ¬á¬ óδ φΓ« ñѽ὿ αá¡∞ΦÑ. ÉѺπ½∞ΓáΓ«¼ φΓ«ú«
  1581.       íπñÑΓ  Γ«,  τΓ« ¬«úñá »«½∞º«óáΓѽ∞ «íαáΓ¿Γß∩ ¬ cmMyNewWin,  Turbo
  1582.       Vision ó맮óÑΓ ¼ÑΓ«ñ TMyApp::handleEvent,  ¬«Γ«αá∩,  ó ßó«ε  «τÑ-
  1583.       αÑñ∞, «íαáΓ¿Γß∩ ¬ ¼ÑΓ«ñπ TMyApp::myNewWindow.
  1584.  
  1585.                                                Å«ßΓα«Ñ¡¿Ñ «¬«¡
  1586.  
  1587.            ä½∩ ¿¡¿µ¿á½¿ºáµ¿¿  «¬¡á   ¡Ñ«íσ«ñ¿¼«   ºáñáΓ∞   ¬«¡ßΓαπ¬Γ«απ
  1588.       TWindow Γα¿ »áαá¼ÑΓαá: αẼÑα «¬¡á ¿ »«½«ªÑ¡¿Ñ ¡á φ¬αá¡Ñ, ºáú«½«-
  1589.       ó«¬ ¿ ¡«¼Ñα «¬¡á.
  1590.  
  1591.            ÅÑαóδ¼ »áαá¼ÑΓα«¼,  «»αÑñѽ∩εΘ¿¼ αẼÑα ¿ »«½«ªÑ¡¿Ñ «¬¡á ∩ó-
  1592.       ½∩ÑΓß∩  TRect,  ¬½áßß  -  »α∩¼«πú«½∞¡¿¬  ó ΓÑନ¡áσ Turbo Vision.
  1593.       TRect «τÑ¡∞ »α«ßΓ«⌐ ¬½áßß.  àú« ¬«¡ßΓαπ¬Γ«α ºáñáÑΓ Ñ¼π  αẼÑα  ¿
  1594.       αáß»«½«ªÑ¡¿Ñ, «ß¡«óδóá∩ß∞  ¡á  ¬««αñ¿¡áΓáσ  Ñú« óÑασ¡Ñú« ½Ñó«ú« ¿
  1595.       ¡¿ª¡Ñú« »αáó«ú« πú½áσ (ß««ΓóÑΓßΓóπεΘ¿Ñ óδαáªÑ¡¿∩ ¼«úπΓ ºáñáóáΓ∞ß∩
  1596.       ½¿í«  ó ó¿ñÑ τÑΓδαÑσ µÑ½δσ τ¿ßѽ,  ½¿í« ¬á¬ ñóá φ¬ºÑ¼»½∩αá ¬½áßßá
  1597.       TPoint).  ê¼ÑÑΓß∩ α∩ñ Σπ¡¬µ¿⌐ ¬½áßßá ¿ ¡Ñ߬«½∞¬« »ÑαÑ«»αÑñѽѡ¡δσ
  1598.       «»ÑαáΓ«α«ó ñ½∩ ¼á¡¿»π½¿α«óá¡¿∩ ¿ ßαáó¡Ñ¡¿∩ «íΩÑ¬Γ«ó ¬½áßßá TRect.
  1599.       Å«½¡«Ñ ¿σ «»¿ßá¡¿Ñ óδ ß¼«ªÑΓÑ ¡á⌐Γ¿ ó ú½áóÑ 12.
  1600.  
  1601.       Åα¿¼Ñτá¡¿Ñ: äÑΓá½∞¡á∩ ¿¡Σ«α¼áµ¿∩ « ¬½áßßÑ TRect ß«ñÑনΓß∩ ó ú½á-
  1602.                   óÑ 4, "ÄΓ«íαáªáѼδÑ «íΩѬΓδ".
  1603.  
  1604.            é »α«úαἼѠTVGUID04 »α∩¼«πú«½∞¡¿¬ r ß«ºñáÑΓß∩ ó ¡áτá½Ñ  αá-
  1605.       í«τÑ⌐  «í½áßΓ¿,  á  ºáΓѼ  »ÑαѼÑΘáÑΓß∩  ó¡πΓα¿  ÑÑ  ¡á ß½πτá⌐¡«Ñ
  1606.       αáßßΓ«∩¡¿Ñ.  é "¡«α¼á½∞¡δσ" »α«úαá¼¼áσ óδ «íδτ¡«  ¡Ñ  ¿ß»«½∞ºπÑΓÑ
  1607.       ΓᬫѠ߽πτá⌐¡«Ñ »ÑαѼÑΘÑ¡¿Ñ,  á ¡á¼ «¡« »«¡áñ«í¿½«ß∞,  τΓ«íδ «Γ¬-
  1608.  
  1609.       Turbo Vision ñ½∩ æ++         = 50 =
  1610.  
  1611.       αδΓ∞ ¼¡«ªÑßΓó« «¬«¡ ó αạδσ ¼ÑßΓáσ φ¬αá¡á.
  1612.  
  1613.            éΓ«αδ¼ »áαá¼ÑΓα«¼  ¬«¡ßΓαπ¬Γ«αá  TWindow  ∩ó½∩ÑΓß∩   ßΓ᫬á,
  1614.       «»αÑñѽ∩εΘá∩ ºáú«½«ó«¬ «¬¡á.
  1615.  
  1616.            ê, ¡á¬«¡Ñµ,  »«ß½Ññ¡¿⌐  »áαá¼ÑΓα  ¬«¡ßΓαπ¬Γ«αá  ºáñáÑΓ ¡«¼Ñα
  1617.       ß«ºñáóáѼ«ú« «¬¡á.  àß½¿ φëà¡«¼Ñα ¡áσ«ñ¿Γß∩ ¼Ñªñπ 1 ¿ 9,  Γ« «¡
  1618.       íπñÑΓ ¿º«íαáªáΓ∞ß∩ ó αἬѠ«¬¡á,  ¿ »«½∞º«óáΓѽ∞  ß¼«ªÑΓ  óδíαáΓ∞
  1619.       »α«¡π¼Ñα«óá¡¡«Ñ  Γᬿ¼  «íαẫ¼  «¬¡« ¡áªáΓ¿Ñ¼ ¬½áó¿Φ «Γ Alt-1 ñ«
  1620.       Alt-9.
  1621.  
  1622.            àß½¿ óá¼ ¡Ñ  ΓαÑíπÑΓß∩  »α¿ßóá¿óáΓ∞  «¬¡π  ¡«¼Ñα,  »ÑαÑñá⌐ΓÑ
  1623.       ó¼ÑßΓ« ¡Ñú« ¬«¡ßΓá¡Γπ wnNoNumber, «»αÑñѽѡ¡πε ó Turbo Vision.
  1624.  
  1625.            è«¡ßΓαπ¬Γ«α TDemoWindow   óδºδóáÑΓ  ¬«¡ßΓαπ¬Γ«αδ  TWindow  ¿
  1626.       TWindowInit. Å«ß½Ññ¡¿⌐ ¿¼ÑÑΓ áαúπ¼Ñ¡Γ &initFrame, ¬á¬ óδ ó¿ñѽ¿ ó
  1627.       ß½πτáÑ ß TProgInit ¿ initStatusLine.  îδ ¡Ñ ñ«½ª¡δ »ÑαÑ«»αÑñѽ∩Γ∞
  1628.       ¼ÑΓ«ñ TWindow::initFrame, Γ.¬. ¼δ σ«Γ¿¼ »«½πτ¿Γ∞ ßΓá¡ñáαΓ¡πε αá¼-
  1629.       ¬π.  ¥Γ«  í«½ÑÑ τѼ ñ«ßΓáΓ«τ¡« ñ½∩ í«½∞Φ¿¡ßΓóá »α«úαá¼¼,  σ«Γ∩ óδ
  1630.       ¼«ªÑΓÑ »ÑαÑ«»αÑñѽ¿Γ∞ initFrame ñ½∩ ß«ºñá¡¿∩ «ß«íδσ φΣΣÑ¬Γ«ó.
  1631.  
  1632.                                               öπ¡¬µ¿∩ insert
  1633.  
  1634.            é¬½ετÑ¡¿Ñ «¬¡á ó αáí«τπε «í½áßΓ∞ óδºδóáÑΓ Ñú« áóΓ«¼áΓ¿τÑ߬«Ñ
  1635.       »«∩ó½Ñ¡¿Ñ ¡á φ¬αá¡Ñ.  öπ¡¬µ¿∩ insert ¿ß»«½∞ºπÑΓß∩ ñ½∩ «íÑß»ÑτÑ¡¿∩
  1636.       π»αáó½Ñ¡¿∩  «ñ¡«ú« «Γ«íαáªáѼ«ú« «íΩѬΓá ñαπú¿¼ «Γ«íαáªáÑ¼δ¼ «íΩ-
  1637.       Ñ¬Γ«¼. ÉѺπ½∞ΓáΓ«¼ óδ»«½¡Ñ¡¿∩ óδαáªÑ¡¿∩
  1638.  
  1639.                           desktoα->insert(window);
  1640.  
  1641.       ∩ó½∩ÑΓß∩ ó¬½ετÑ¡¿Ñ window ó αáí«τπε «í½áßΓ∞.  éδ ¼«ªÑΓÑ  óßΓáó¿Γ∞
  1642.       ½εí«Ñ ¬«½¿τÑßΓó« «Γ«íαáªáѼδσ «íΩÑ¬Γ«ó ó úαπ»»«ó«⌐ ¬½áßß »«ñ«í¡δ⌐
  1643.       αáí«τÑ⌐ «í½áßΓ¿.  âαπ»»á, ó ¬«Γ«απε óδ ó¬½ετ¿Γ∞ «Γ«íαáªáѼδ⌐ «íΩ-
  1644.       Ñ¬Γ, ¡áºδóáÑΓß∩ ó½áñѽ∞µÑ¼ «Γ«íαáªáѼ«ú« «íΩѬΓá, á ßá¼ óßΓáó½∩Ñ-
  1645.       ¼δ⌐ «Γ«íαáªáѼδ⌐  «íΩѬΓ,  ¡áºδóáÑΓß∩  «Γ«íαáªáÑ¼δ¼  »«ñ«íΩÑ¬Γ«¼.
  1646.       ê¼Ñ⌐ΓÑ  ó  ó¿ñπ,  τΓ« «Γ«íαáªáѼδ⌐ »«ñ«íΩÑ¬Γ ó ßó«ε «τÑαÑñ∞ ¼«ªÑΓ
  1647.       ∩ó½∩Γ∞ß∩ úαπ»»«⌐ ¿ ¿¼ÑΓ∞ ßó«¿ ß«íßΓóÑ¡¡δÑ «Γ«íαáªáѼδÑ  »«ñ«íΩѬ-
  1648.       Γδ. ìá»α¿¼Ñα, ¬«úñá óδ ó¬½ετáÑΓÑ «¬¡« ó αáí«τπε «í½áßΓ∞, «¬¡« ∩ó-
  1649.       ½∩ÑΓß∩ «Γ«íαáªáÑ¼δ¼ «íΩÑ¬Γ«¼,  «ñ¡á¬« «¡« ßἫ ¼«ªÑΓ ¿¼ÑΓ∞ αἬπ,
  1650.       ßΓ᫬¿ »α«¬απΓ¬¿ ¿ Γ.»., ¬«Γ«αδÑ ßἿ »« ßÑíÑ ∩ó½∩εΓß∩ «Γ«íαáªáÑ-
  1651.       ¼δ¼¿ »«ñ«íΩѬΓἿ.
  1652.  
  1653.            Åα«µÑßß πßΓᡫ󬿠ßó∩ºÑ⌐ ¼Ñªñπ «Γ«íαáªáÑ¼δ¼¿ «íΩѬΓἿ  ß«º-
  1654.       ñáÑΓ ñÑαÑó« «Γ«íαáªáѼδσ «íΩÑ¬Γ«ó, ¡áºóá¡¡«Ñ Γᬠ»«Γ«¼π, τΓ« ¼¡«-
  1655.       ªÑßΓó« ßó∩ºÑ⌐ «Γ«íαáªáѼδσ «íΩÑ¬Γ«ó ¿ »«ñ«íΩÑ¬Γ«ó «ΓóÑΓó½∩ÑΓß∩ «Γ
  1656.       ¬«α¡Ñó«ú« «Γ«íαáªáѼ«ú« «íΩѬΓá »α¿¬½áñ¡«⌐ »α«úαá¼¼δ, »«ñ«í¡« Γ«-
  1657.       ¼π, ¬á¬ óÑΓ¬¿ «Γσ«ñ∩Γ «Γ ßΓó«½á ñÑαÑóá.
  1658.  
  1659.       Åα¿¼Ñτá¡¿Ñ: óßÑ φΓ¿ ßó∩º¿ ¼Ñªñπ «Γ«íαáªáÑ¼δ¼¿ «íΩѬΓἿ  ¿º½«ªÑ¡δ
  1660.                   ó ú½áóÑ 4.
  1661.  
  1662.  
  1663.  
  1664.       Turbo Vision ñ½∩ æ++         = 51 =
  1665.  
  1666.                                                 çá¬αδΓ¿Ñ «¬¡á
  1667.  
  1668.             éδí«α ß »«¼«Θ∞ε "¼δΦ¿" ¬¡«»¬¿ ºá¬αδΓ¿∩ «¬¡á  úÑ¡Ñα¿απÑΓ  Γπ
  1669.       ªÑ  ¬«¼á¡ñπ  cmClose,  ¬«Γ«απε  óδ  "ßó∩ºá½¿"  ß ¡áªáΓ¿Ñ¼ ¬½áó¿Φ¿
  1670.       Alt-F3 ¿ ß««ΓóÑΓßΓóπεΘ¿¼ φ½Ñ¼Ñ¡Γ«¼ ßΓ᫬¿ ß«ßΓ«∩¡¿∩.  Å«  π¼«½τá-
  1671.       ¡¿ε,  «Γ¬αδΓ¿Ñ  «¬¡á  (ß  »«¼«Θ∞ε  F4  ¿½¿  óδí«α«¼  ¬«¼á¡ñδ ¼Ñ¡ε
  1672.       File│Oαen) áóΓ«¼áΓ¿τÑ߬¿ »αÑñ«ßΓáó½∩ÑΓ ó óáΦÑ αáß»«α∩ªÑ¡¿Ñ ¬«¼á¡-
  1673.       ñπ cmClose  ¿  «Γ«íαáªáѼδÑ «íΩѬΓδ,  ¬«Γ«αδÑ ÑÑ óδºδóáεΓ (ΓᬠªÑ
  1674.       ¬á¬ ¿ ñαπú¿Ñ ¬«¼á¡ñδ,  ßó∩ºá¡¡δÑ ß «¬¡á¼¿,  ΓᬿѠ ¬á¬  cmZoom  ¿
  1675.       cmNext).
  1676.  
  1677.            ä½∩ ºá¬αδΓ¿∩  «¬¡á  óá¼  ¡Ñ  ΓαÑíπÑΓß∩  ¡á»¿ßáΓ∞ ¡¿ ßΓα«τ¬¿.
  1678.       Å«ß½Ñ Γ«ú«, ¬á¬ »«½∞º«óáΓѽ∞ á¬Γ¿ó¿º¿απÑΓ ¬¡«»¬π ºá¬αδΓ¿∩ ó αἬÑ
  1679.       «¬¡á, ¿½¿  ¡áª¿¼áÑΓ ¬½áó¿Φπ Alt-F3,  ¿½¿ óδí¿αáÑΓ ß««ΓóÑΓßΓóπεΘ¿⌐
  1680.       φ½Ñ¼Ñ¡Γ ßΓ᫬¿ ß«ßΓ«∩¡¿∩,  Turbo Vision óδ»«½¡∩ÑΓ  óßÑ  «ßΓá½∞¡«Ñ
  1681.       ßἫßΓ«∩Γѽ∞¡«. Å«  π¼«½τá¡¿ε,  «¬¡« αÑáú¿απÑΓ ¡á ¬«¼á¡ñπ cmClose
  1682.       óδº«ó«¼ ñÑßΓαπ¬Γ«αá, ¬«Γ«αδ⌐ π¡¿τΓ«ªáÑΓ ñá¡¡δ⌐ «íΩÑ¬Γ ¿ Ñú« ßΓα«-
  1683.       ¬π ºáú«½«ó¬á.  Å«¼¿¼« φΓ«ú«, ñÑßΓαπ¬Γ«α «¬¡á óδºδóáÑΓ ñÑßΓαπ¬Γ«αδ
  1684.       óßÑσ ßó«¿σ «Γ«íαáªáѼδσ »«ñ«íΩÑ¬Γ«ó. àß½¿ ªÑ ó ßó«Ñ¼ ¬«¡ßΓαπ¬Γ«αÑ
  1685.       «¬¡á óδ ºá»α«ß¿½¿ ñ«»«½¡¿Γѽ∞¡δÑ «íΩÑ¼δ »á¼∩Γ¿, Γ« óδ «í∩ºáΓѽ∞¡«
  1686.       ñ«½ª¡δ Γᬠ¼«ñ¿Σ¿µ¿α«óáΓ∞ ß««ΓóÑΓßΓóπεΘ¿⌐  ñÑßΓαπ¬Γ«α,  τΓ«íδ  «¡
  1687.       «ßó«í«ñ¿½ óδñѽ∩Ѽπε »á¼∩Γ∞.
  1688.  
  1689.  
  1690.  
  1691.  
  1692.       Turbo Vision ñ½∩ æ++         = 52 =
  1693.  
  1694.                                               "Å«óÑñÑ¡¿Ñ" «¬«¡
  1695.  
  1696.            Å«ΓαáΓ∞ΓÑ ¡Ñ¼¡«ú« óαѼѡ¿,  τΓ«íδ "»«¿úαáΓ∞"  ß  »α«úαá¼¼«⌐,
  1697.       ¬«Γ«απε óδ ¡á»¿ß὿.  Ä¡á πªÑ αáß»«½áúáÑΓ í«½∞Φ¿¼¿ ó«º¼«ª¡«ßΓ∩¼¿:
  1698.       «¡á ¼«ªÑΓ «Γ¬αδóáΓ∞,  ºá¬αδóáΓ∞,  óδí¿αáΓ∞,  »ÑαѼÑΘáΓ∞, ¿º¼Ñ¡∩Γ∞
  1699.       αẼÑαδ  ¿  "αáß»áσ¿óáΓ∞" ¼¡«ªÑßΓó« «¬«¡ ó óáΦÑ⌐ αáí«τÑ⌐ «í½áßΓ¿.
  1700.       ¥Γ« ß«óßѼ ¡Ñ»½«σ« ñ½∩ »α«úαá¼¼δ ¿º ¼Ñ¡ÑÑ τѼ 150 ßΓ᫬!
  1701.  
  1702.            Å«ß½Ñ ¿¡¿µ¿á½¿ºáµ¿¿ «¬¡á,  ¬½áßß TMyApp ó¬½ετáÑΓ Ñú« ó αáí«-
  1703.       τπε «í½áßΓ∞. èᬠóδ »«¼¡¿ΓÑ, ¬½áßß TDeskToα (αáí«τá∩ «í½áßΓ∞) ∩ó-
  1704.       ½∩ÑΓß∩ úαπ»»«⌐, τΓ« «º¡áτáÑΓ τΓ« «¡ ó½áñÑÑΓ ¿ π»αáó½∩ÑΓ «Γ«íαáªá-
  1705.       Ñ¼δ¼¿ »«ñ«íΩѬΓἿ,  »«ñ«í¡δ¼¿ óáΦÑ¼π «¬¡π. àß½¿ óδ ß¬«¼»¿½¿απÑΓÑ
  1706.       »α«úαá¼¼π ¿ ºá»πßΓ¿ΓÑ ÑÑ ¡á óδ»«½¡Ñ¡¿Ñ,  Γ« «í∩ºáΓѽ∞¡« ºá¼ÑΓ¿ΓÑ,
  1707.       τΓ« óδ ¼«ªÑΓÑ ¿º¼Ñ¡∩Γ∞ αẼÑαδ,  »ÑαѼÑΘáΓ∞ ¿ ºá¬αδóáΓ∞ ¡«ó«Ñ «¬-
  1708.       ¡«. äÑ⌐ßΓó¿∩ "¼δΦ¿",  »αÑóαáΘáεΓß∩ ó »«ß½Ññ«óáΓѽ∞¡«ßΓ∞  ß«íδΓ¿⌐,
  1709.       »ÑαÑñáóáѼπε ¿º αáí«τÑ⌐ «í½áßΓ¿ ó ¡«ó«Ñ «¬¡«,  ¬«Γ«α«Ñ Γ«τ¡« º¡á-
  1710.       ÑΓ, τΓ« ß φΓ¿¼¿ ß«íδΓ¿∩¼¿ ñѽáΓ∞.
  1711.  
  1712.            àß½¿ óδ íπñÑΓÑ ¼¡«ú«¬αáΓ¡« «íαáΘáΓ∞ß∩ ¬ ¬«¼á¡ñÑ cmNewWin, Γ«
  1713.       ó αáí«τÑ⌐ «í½áßΓ¿ »«∩ó∩Γß∩ ¿ ñαπú¿Ñ «¬¡á, ¬áªñ«Ñ ¿º ¬«Γ«αδσ íπñÑΓ
  1714.       ¿¼ÑΓ∞ ßó«⌐ ¡«¼Ñα.  î«ª¡« ΓᬪѠ¿º¼Ñ¡∩Γ∞ αẼÑαδ φΓ¿σ «¬«¡,  óδí¿-
  1715.       αáΓ∞ ¿σ ¿ »«¼ÑΘáΓ∞ «ñ¡« ¡áñ ñαπú¿¼. ìá α¿ßπ¡¬Ñ 2.2 »«¬áºá¡á αáí«-
  1716.       τá∩ «í½áßΓ∞ ß α∩ñ«¼ «Γ¬αδΓδ󠫬«¡.
  1717.  
  1718.       ┌───────────────────────────────────────────────────────────────┐
  1719.       │  File  Window                                                 │
  1720.       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  1721.       │░░░░░░░░░░░░░░░░░░░░░┌── Demo Window 3────┐░░░░░░░░░░░░░░░░░░░░│
  1722.       │░░░░░░░░░░░░░░░░░░░░░│                  ┌── Demo Window 7──┐░░░│
  1723.       │░░░░░░░░░░░░░░░░░░░░░│                  │                  │░░░│
  1724.       │░░░░░░░░░░░░░░░░░░░░░│  ┌── Demo Window 8──┐               │░░░│
  1725.       │░░░░░░░░░░░░░░░░░░░░░│  │                  │               │░░░│
  1726.       │░░░░░░░░░░░░░░░░░░░░░└──│                  │               │░░░│
  1727.       │┌── Demo Window 1──┐░░  │                  │───────────────┘░░░│
  1728.       ││                  │░░  │                  │     │░░░░░░░░░░░░░│
  1729.       ││    ┌── Demo Window 4──└──────────────────┘     │░░░░░░░░░░░░░│
  1730.       ││    │                   │░░░░│  ┌── Demo Window 6──┐Window 2┐░│
  1731.       ││    │                   │░░░░│  │                  │        │░│
  1732.       │└────│                   │░░░░└──│                  │        │░│
  1733.       │░░░░░│                  ╔═[■]═ Demo Window 9═[°]═╗  │        │░│
  1734.       │░░░░░│                  ║                        ║  │        │░│
  1735.       │░░░░░└──────────────────║                        ║  │        │░│
  1736.       │░░░░░░░░░░░░░░░░░░░░░░░░║                        ║──┘────────┘░│
  1737.       │░░░░░░░░░░░░░░░░░░░░░░░░║                        ║░░░░░░░░░░░░░│
  1738.       │░░░░░░░░░░░░░░░░░░░░░░░░╚═══════════════════════─┘░░░░░░░░░░░░░│
  1739.       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  1740.       │ Alt-X Exit  F4 New  Alt-F3 Close                              │
  1741.       └───────────────────────────────────────────────────────────────┘
  1742.  
  1743.            É¿ßπ¡«¬ 2.2. Åα«úαá¼¼á TVGUID04 ß ¼¡«ªÑßΓó«¼ «Γ¬αδΓδ󠫬«¡.
  1744.  
  1745.            ÄíΩÑ¬Γ TWindow  ∩ó½∩ÑΓß∩  úαπ»»«⌐,  ó  ¬«Γ«α«⌐ »Ñαó«¡áτá½∞¡«
  1746.       ¿¼ÑÑΓß∩ «ñ¿¡ «Γ«íαáªáѼδ⌐ »«ñ«íΩÑ¬Γ - TFrame  (αἬá).  Å«½∞º«óá-
  1747.  
  1748.       Turbo Vision ñ½∩ æ++         = 53 =
  1749.  
  1750.       Γѽ∞ á¬Γ¿ó¿º¿απÑΓ ß »«¼«Θ∞ε ¼δΦ¿ "º¡á¬¿", αẼÑΘÑ¡¡δÑ ó αἬѠ«¬-
  1751.       ¡á,  ß »«¼«Θ∞ε ¬«Γ«αδσ «¡ ¼«ªÑΓ »ÑαѼÑΘáΓ∞,  ¿º¼Ñ¡∩Γ∞ αẼÑαδ ¿½¿
  1752.       ºá¬αδΓ∞ φΓ« «¬¡«.  é αἬѠΓᬪѠ»«¼ÑΘáÑΓß∩ ºáú«½«ó«¬ «¬¡á, ¬«Γ«-
  1753.       αδ⌐ «¡« »«½πτáÑΓ »α¿ ¿¡¿µ¿á½¿ºáµ¿¿, á ¬α«¼Ñ Γ«ú« ñá¡¡δ⌐ »«ñ«íΩѬΓ
  1754.       (TFrame) «Γ«íαáªáÑΓ  Σ«¡  «¬¡á Γᬿ¼ ªÑ «íαẫ¼,  ¬á¬ TBackGround
  1755.       ñѽáÑΓ φΓ« ñ½∩ αáí«τÑ⌐ «í½áßΓ¿. Åα¿τѼ óßÑ φΓ« (¬á¬ óδ ßἿ ó¿ñÑ-
  1756.       ½¿) óδ»«½¡∩ÑΓß∩ íѺ óáΦÑú« πτáßΓ¿∩.
  1757.  
  1758.                                                çáú½∩¡Ñ¼ ó «¬¡«
  1759.  
  1760.            àß½¿ íδ  αÑτ∞  ºñÑß∞  Φ½á « Γαáñ¿µ¿«¡¡«¼ «¬¡Ñ,  Γ« ß½ÑñπεΘ¿¼
  1761.       φΓừ¼ í佫 íδ ºá¡ÑßÑ¡¿Ñ ó ¡Ñú« ¬á¬«⌐-¡¿íπñ∞  ¿¡Σ«α¼áµ¿¿.  Äñ¡á¬«
  1762.       TWindow  - φΓ« ¡Ñ »πßΓá∩ úα¿Σѽ∞¡á∩ ñ«ß¬á ñ½∩ ºá»¿ß¿:  φΓ« úαπ»»á
  1763.       ¬½áßßá TGrouα, ¿ ÑÑ »αÑñßΓáó½Ñ¡¿Ñ ¡á φ¬αá¡Ñ ¡Ñ óδσ«ñ¿Γ ºá »αÑñѽδ
  1764.       αἬ¿ «Γ«íαáªáѼ«ú« «íΩѬΓá. ä½∩ Γ«ú«, τΓ«íδ »«¼ÑßΓ¿Γ∞ τΓ«-½¿í« ó
  1765.       «¬¡«,  óá¼ »«ΓαÑíπÑΓß∩ ßñѽáΓ∞ ÑΘÑ «ñ¿¡ ñ«»«½¡¿Γѽ∞¡δ⌐ Φáú, ¬«Γ«-
  1766.       αδ⌐ »αÑñ«ßΓáó¿Γ óá¼ ñ«»«½¡¿Γѽ∞¡δѠ󫺼«ª¡«ßΓ¿.
  1767.  
  1768.            ä½∩ Γ«ú«,  τΓ«íδ »«½πτ¿Γ∞ ¿º«íαáªÑ¡¿Ñ ó «¬¡Ñ,  óδ,  ó¡áτá½Ñ,
  1769.       ß«ºñáÑΓÑ «Γ«íαáªáѼδ⌐  «íΩÑ¬Γ  (¬«Γ«αδ⌐ ß»«ß«íÑ¡ ßá¼ ßÑí∩ «Γ«íαá-
  1770.       ªáΓ∞) ¿ ó¬½ετáÑΓÑ Ñú« ó ñá¡¡«Ñ «¬¡«.  Æᬫ⌐  «Γ«íαáªáѼδ⌐  «íΩѬΓ
  1771.       ¡áºδóáÑΓß∩ ó¡πΓαÑ¡¡¿¼.
  1772.  
  1773.            ÅÑαóδ⌐ ó¡πΓαÑ¡¡¿⌐ «Γ«íαáªáѼδ⌐ «íΩÑ¬Γ »«½¡«ßΓ∞ε ºá»«½¡¿Γ «¬-
  1774.       ¡«,  ¡«  »«ºªÑ  óδ ß¼«ªÑΓÑ ½Ñú¬« π¼Ñ¡∞Φ¿Γ∞ Ñú« αẼÑα,  «ßó«í«ñ¿ó
  1775.       ¼ÑßΓ« ñ½∩ ñαπú¿σ «Γ«íαáªáѼδσ «íΩÑ¬Γ«ó. Ä¬¡« ¼«ªÑΓ ó¬½ετáΓ∞ ¼¡«ú«
  1776.       ó¡πΓαÑ¡¡¿σ «íΩÑ¬Γ«ó ¿ ½εí«Ñ ¬«½¿τÑßΓó« ñαπú¿σ »«½Ñº¡δσ «Γ«íαáªáÑ-
  1777.       ¼δσ «íΩÑ¬Γ«ó - ßΓ᫬¿,  ¿¼Ñ¡á,  ¬¡«»¬¿ ¿½¿ ¬¡«»¬¿ ß Σ¿¬ßᵿÑ⌐. éδ
  1778.       ΓᬪѠπíÑñ¿ΓÑß∞,  ¬á¬ ½Ñú¬« »«¼ÑßΓ¿Γ∞ »«½«ß䠻᫬απΓ¬¿  ¡á  αἬπ
  1779.       «¬¡á.
  1780.  
  1781.            é¡πΓα¿ úαπ»»δ óδ ¼«ªÑΓÑ αáß»«½áúáΓ∞ «íΩѬΓδ  ó  "¼«ºá¿τ¡«¼",
  1782.       "¬á߬áñ¡«¼"  ¿½¿ "»ÑαѬαδóáεΘѼß∩" »«α∩ñ¬Ñ - ó ºáó¿ß¿¼«ßΓ¿ «Γ Γ«-
  1783.       ú«,  ¬á¬ óδ ß ¡¿¼¿ αáí«ΓáÑΓÑ. TDeskToα αáß»«½áúáÑΓ Σπ¡¬µ¿∩¼¿ tile
  1784.       ¿ cascade,  ¬«Γ«αδÑ ¼«úπΓ ¼«ºá¿τ¡« ¿½¿ ¬á߬áñ¡« αáß»«½áúáΓ∞ «Γ«í-
  1785.       αáªáѼδÑ »«ñ«íΩѬΓδ ó αáí«τÑ⌐ «í½áßΓ¿ »«ß½Ñ Γ«ú«, ¬á¬ φΓ¿ »«ñ«íΩ-
  1786.       Ñ¬Γδ í뫨 »α«¿¡¿µ¿á½¿º¿α«óá¡δ,  «ñ¡á¬«  ñá¡¡δÑ  Σπ¡¬µ¿¿  ñ«ßΓπ»¡δ
  1787.       Γ«½∞¬« ñ½∩ ßἫ⌐ αáí«τÑ⌐ «í½áßΓ¿.
  1788.  
  1789.            Åα¿¼Ñα ß«ºñá¡¿∩ ó¡πΓαÑ¡¡Ñú« «Γ«íαáªáѼ«ú« «íΩѬΓá,  »α¿ó«ñ¿-
  1790.       ¼δ⌐ ¡¿ªÑ, »αÑñßΓáó½∩ÑΓ ß«í«⌐ »α«ßΓ«⌐ ¬½áßß, »«α«ªñÑ¡¡δ⌐ ¿º TView.
  1791.       ïεí«⌐  «íΩÑ¬Γ TView ¼«ªÑΓ ¿¼ÑΓ∞ αἬπ,  ¬«Γ«αá∩ Σπ¡¬µ¿«¡¿απÑΓ ¬á¬
  1792.       «íδτ¡á∩ - ßΓáΓ¿τÑ߬á∩ αἬᠫ¬¡á.  (çñÑß∞,  »«ñ »«¡∩Γ¿Ñ¼  "ßΓáΓ¿-
  1793.       τÑ߬¿⌐" ¿¼ÑÑΓß∩  ó  ó¿ñπ óßÑ Γ«,  τΓ« ¡Ñ αÑáú¿απÑΓ ¡á ó«ºñÑ⌐ßΓó¿Ñ
  1794.       "¼δΦ¿".  Æᬿ¼ «íαẫ¼,  αἬ¿ «íΩÑ¬Γ«ó TView - φΓ« »α«ßΓ« ½¿¡¿¿,
  1795.       «íαá¼½∩εΘ¿Ñ φΓ¿ «íΩѬΓδ.)
  1796.  
  1797.            àß½¿ óáΦ  ó¡πΓαÑ¡¡¿⌐ «Γ«íαáªáѼδ⌐ «íΩÑ¬Γ TView »«½¡«ßΓ∞ε ºá-
  1798.       »«½¡∩ÑΓ ß««ΓóÑΓßΓóπεΘÑÑ «¬¡«-ó½áñѽѵ,  Γ« «ΓßπΓßΓó¿Ñ ¿½¿ ¡á½¿τ¿Ñ
  1799.       π ¡Ñú« αἬ¿ ¡Ñ ¿¼ÑÑΓ º¡áτÑ¡¿∩ - αἬᠫ¬¡á »«¬αδóáÑΓ αἬπ ó¡πΓ-
  1800.       αÑ¡¡Ñú« «Γ«íαáªáѼ«ú« «íΩѬΓá. àß½¿ αẼÑαδ ó¡πΓαÑ¡¡Ñú« «Γ«íαáªá-
  1801.       Ñ¼«ú« «íΩѬΓᠼѡ∞ΦÑ αẼÑα«ó «¬¡á, Γ« Ñú« αἬá íπñÑΓ ó¿ñ¡á. ü«-
  1802.  
  1803.       Turbo Vision ñ½∩ æ++         = 54 =
  1804.  
  1805.       ½ÑÑ Γ«ú«,  ¡Ñ߬«½∞¬« ó¡πΓαÑ¡¡¿σ «Γ«íαáªáѼδσ «íΩÑ¬Γ«ó ó¡πΓα¿ «¬¡á
  1806.       ¼«ªÑΓ íδΓ∞ «τÑατÑ¡« «íΘÑ⌐ αἬ«⌐, τΓ« óδ ß¼«ªÑΓÑ πó¿ñÑΓ∞ ó »α¿ó«-
  1807.       ñ¿¼«¼ ¡¿ªÑ »α¿¼ÑαÑ.
  1808.  
  1809.            æ½ÑñπεΘ¿⌐ Σαáú¼Ñ¡Γ »α«úαá¼¼δ óδó«ñ¿Γ "Hello,  World!" ó  ñÑ-
  1810.       ¼«¡ßΓαᵿ«¡¡«Ñ «¬¡«, ¬á¬ φΓ« »«¬áºá¡« ¡á α¿ßπ¡¬Ñ 2.3.
  1811.  
  1812.       #include <stdlib.h>          // ñ½∩ »α«Γ«Γ¿»á random()
  1813.  
  1814.       class TInterior : αublic TView
  1815.       {
  1816.  
  1817.       αublic:
  1818.  
  1819.           TInterior( const TRect& bounds ); // constructor
  1820.           virtual void draw();              // »ÑαѬαδóáÑΓ TView::draw
  1821.       };
  1822.  
  1823.       TInterior::TInterior( const TRect& bounds ) : TView( bounds )
  1824.       {
  1825.           growMode = gfGrowHiX | gfGrowHiY; // αẼÑαδ íπñπΓ
  1826.                                      // ß««ΓóÑΓßΓó«óáΓ∞ αẼÑαá¼ «¬¡á
  1827.           oαtions = oαtions | ofFramed;
  1828.       }
  1829.  
  1830.       void TInterior::draw()
  1831.       {
  1832.           char *hstr = "Hello World!";
  1833.           ushort color = getColor(0x0301);
  1834.           TView::draw();
  1835.           TDrawBuffer b;
  1836.           b.moveStr( 0, hstr, color );
  1837.           writeLine( 4, 2, 12, 1, b);
  1838.       }
  1839.  
  1840.       TDemoWindow::TDemoWindow(const TRect& bounds,const char *aTitle,
  1841.                     short aNumber) :
  1842.                TWindow( bounds, aTitle, aNumber),
  1843.                TWindowInit( &TDemoWindow::initFrame )
  1844.       {
  1845.           TRect r = getCliαRect();      // »«½πτ¿Γ∞ «í½áßΓ∞ »α«α¿ß«ó¬¿
  1846.           r.grow(-1, -1);   // τΓ«íδ "π¼ÑßΓ¿Γ∞" »«ñ«íΩÑ¬Γ ó αá¼¬π «¬¡á
  1847.           insert( new TInterior(r) );     // óßΓáó¿Γ∞ »«ñ«íΩÑ¬Γ ó «¬¡«
  1848.       }
  1849.  
  1850.       Åα¿¼Ñτá¡¿Ñ: ¥Γ«Γ Σαáú¼Ñ¡Γ ß«ßΓáó½∩ÑΓ »α¿¼Ñα TVGUID05.CPP.
  1851.  
  1852.  
  1853.       Turbo Vision ñ½∩ æ++         = 55 =
  1854.  
  1855.  
  1856.            ÄíαáΓ¿ΓѠ󡿼᡿Ñ, ¡á ¡Ñ«íσ«ñ¿¼«ßΓ∞ ñ«íáó¿Γ∞ ßΓ᫬π #include
  1857.       <strstrea.h>,  Ñß½¿ óδ ºáσ«Γ¿ΓÑ ¿ß»«½∞º«óáΓ∞ »«Γ«¬«óδÑ  ßΓ᫬«óδÑ
  1858.       «»Ñαᵿ¿.
  1859.  
  1860.       ┌───────────────────────────────────────────────────────────────┐
  1861.       │  File  Window                                                 │
  1862.       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  1863.       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  1864.       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  1865.       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  1866.       │╔═[■]Demo Window 1 [ ]═╗░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  1867.       │║                      ║░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  1868.       │║                      ║░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  1869.       │║    Hello, World!     ║░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  1870.       │║                      ║░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  1871.       │║                      ║░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  1872.       │╚═════════════════════─┘░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  1873.       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  1874.       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  1875.       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  1876.       │ Alt-X Exit  F4 New  Alt-F3 Close                              │
  1877.       └───────────────────────────────────────────────────────────────┘
  1878.  
  1879.             É¿ßπ¡«¬ 2.3. Åα«úαá¼¼á TVGUID05 ß «Γ¬αδΓδ¼ «¬¡«¼.
  1880.  
  1881.                                                ùΓ« óδ ó¿ñ¿ΓÑ?
  1882.  
  1883.            éßÑ «Γ«íαáªáѼδÑ «íΩѬΓδ Turbo Vision "º¡áεΓ" ß»«ß«íδ ßó«Ñú«
  1884.       «Γ«íαáªÑ¡¿∩. ¥Γ« ºá½«ªÑ¡« ó Σπ¡¬µ¿ε draw. àß½¿ ªÑ óδ ß«ºñáÑΓÑ »«-
  1885.       α«ªñÑ¡¡δ⌐  «Γ«íαáªáѼδ⌐  «íΩÑ¬Γ ß ¡«óδ¼ »αÑñßΓáó½Ñ¡¿Ñ¼ ¡á φ¬αá¡Ñ,
  1886.       Γ« óá¼ ¡πª¡« »ÑαÑ«»αÑñѽ¿Γ∞ Σπ¡¬µ¿ε draw  ¿º  íẫó«ú«  ¬½áßßá  ¿
  1887.       «íπτ¿Γ∞ ¡«óδ⌐ ¬½áßß Γ«¼π,  ¬á¬ «¡ ñ«½ªÑ¡ «Γ«íαáªáΓ∞ ßÑí∩ ¡á φ¬αá-
  1888.       ¡Ñ. è½áßß TInterior »«α«ªñÑ¡ ¿º ¬½áßßá TView, ¿, »«φΓ«¼π, «¡ ΓαÑ-
  1889.       íπÑΓ αáºαáí«Γ¬¿ ¡«ó«⌐ Σπ¡¬µ¿¿ draw.
  1890.  
  1891.            ÄíαáΓ¿ΓѠ󡿼᡿Ñ,  τΓ« ¡«óá∩ Σπ¡¬µ¿∩ TInterior::draw ó »Ñα-
  1892.       óπε  «τÑαÑñ∞  óδºδóáÑΓ Σπ¡¬µ¿ε draw ßó«Ñú« íẫó«ú« ¬½áßßá TView,
  1893.       ¬«Γ«αδ⌐ ó ñá¡¡«¼ ß½πτáÑ »α«ßΓ« «τ¿ΘáÑΓ »α∩¼«πú«½∞¡πε «í½áßΓ∞  φ¬-
  1894.       αá¡á, ºá¡¿¼áѼπε «¬¡«¼.  Äíδτ¡«,  óá¼ ¡Ñ  ß½ÑñπÑΓ  φΓ«ú«  ñѽáΓ∞:
  1895.       Σπ¡¬µ¿∩  draw óáΦÑú« ó¡πΓαÑ¡¡Ñú« «Γ«íαáªáѼ«ú« «íΩѬΓá ñ«½ª¡á »«-
  1896.       ºáí«Γ¿Γ∞ß∩ « óßÑ⌐ Ñú« «í½áßΓ¿ ¡á φ¬αá¡Ñ,  ñѽá∩ ó맮ó TView::draw
  1897.       ¿º½¿Φ¡¿¼.
  1898.  
  1899.            ü«½ÑÑ Γ«ú«,  Ñß½¿  óá¼  ñÑ⌐ßΓó¿Γѽ∞¡«  ΓαÑíπÑΓß∩   »«¼ÑßΓ¿Γ∞
  1900.       τΓ«-½¿í« "ó¡πΓα∞" óáΦÑú« ó¡πΓαÑ¡¡Ñú« «íΩѬΓá, Γ« óδ ó««íΘÑ ¡Ñ ºá-
  1901.       σ«Γ¿ΓÑ  óδºδóáΓ∞  ¡áß½ÑñπѼπε  Σπ¡¬µ¿ε  draw,  Γ.¬.  «íαáΘÑ¡¿Ñ  ¬
  1902.       TView::draw ¼«ªÑΓ óδºóáΓ∞ ¼Ñαµá¡¿Ñ ¿º-ºá Γ«ú«, τΓ« τáßΓ¿ ó¡πΓαÑ¡-
  1903.       ¡Ñú« «Γ«íαáªáѼ«ú« «íΩѬΓá α¿ßπεΓß∩ ¡Ñ«ñ¡«¬αáΓ¡«.
  1904.  
  1905.            é ¬áτÑßΓóÑ π»α᪡ѡ¿∩ óδ ¼«ªÑΓÑ »«»δΓáΓ∞ß∩ »ÑαѬ«¼»¿½¿α«óáΓ∞
  1906.       Σá⌐½ TVGUID05.CPP, ºá¬«¼¼Ñ¡Γ¿α«óáó ó맮ó TView::draw. çáΓѼ »ÑαÑ-
  1907.  
  1908.       Turbo Vision ñ½∩ æ++         = 56 =
  1909.  
  1910.       ¼ÑßΓ¿ΓÑ «¬¡«  ¿  ¿º¼Ñ¡¿ΓÑ Ñú« αẼÑαδ.  ¥Γ« ∩ß¡« »«¬áªÑΓ,  »«τѼπ
  1911.       «Γ«íαáªáѼδ⌐ «íΩÑ¬Γ ñ«½ªÑ¡ íδΓ∞ ó «ΓóÑΓÑ ºá  óßε  »«¬αδóáѼπε  ¿¼
  1912.       «í½áßΓ∞!
  1913.  
  1914.            Turbo Vision óδ»«½¡∩ÑΓ ó맮ó Σπ¡¬µ¿¿  «Γ«íαáªáѼ«ú«  «íΩѬΓá
  1915.            draw óßÑúñá,  ¬«úñá »«½∞º«óáΓѽ∞ «Γ¬αδóáÑΓ, ºá¬αδóáÑΓ, »ÑαÑ-
  1916.            ¼ÑΘáÑΓ ¿½¿ ¿º¼Ñ¡∩ÑΓ αẼÑαδ «Γ«íαáªáѼδσ «íΩÑ¬Γ«ó.  àß½¿  ªÑ
  1917.            óá¼ »«ΓαÑíπÑΓß∩,  τΓ«íδ  «Γ«íαáªáѼδ⌐  «íΩÑ¬Γ  ¿º¼Ñ¡¿½  ßó«Ñ
  1918.            ¿º«íαáªÑ¡¿Ñ,  ó맮ó¿ΓÑ Σπ¡¬µ¿ε drawView ó¼ÑßΓ« Σπ¡¬µ¿¿ draw.
  1919.            öπ¡¬µ¿∩ drawView  α¿ßπÑΓ  «Γ«íαáªáѼδ⌐  «íΩÑ¬Γ  Γ«½∞¬« ó Γ«¼
  1920.            ß½πτáÑ,  Ñß½¿ «¡ »«ñóÑαúáÑΓß∩ ¬á¬«¼π-½¿í«  ó«ºñÑ⌐ßΓó¿ε.  ¥Γ«
  1921.            «τÑ¡∞ ó᪡δ⌐ ¼«¼Ñ¡Γ: óδ »ÑαÑ«»αÑñѽ∩ÑΓÑ Σπ¡¬µ¿ε draw, ¡« ¡¿-
  1922.            ¬«úñá  ¡Ñ  óδºδóáÑΓÑ  ÑÑ  ¡á»α∩¼πε;  óδ  óδºδóáÑΓÑ   Σπ¡¬µ¿ε
  1923.            drawView, ¡« ¡¿¬«úñá ÑÑ ¡Ñ »ÑαÑ«»αÑñѽ∩ÑΓÑ!
  1924.  
  1925.                                       èᬠ½πτΦÑ óδó«ñ¿Γ∞ ¡á φ¬αá¡
  1926.  
  1927.            ò«Γ∩ óδ ¼«ªÑΓÑ ºáßΓáó¿Γ∞ Σπ¡¬µ¿¿ αrintf,  αuts ¿ ßΓá¡ñáαΓ¡δÑ
  1928.       ßαÑñßΓóá »«Γ«¬«ó«ú« óδó«ñá ∩ºδ¬á C++ αáí«ΓáΓ∞ ó Turbo Vision, «ñ-
  1929.       ¡á¬«  φΓ« ¡Ñ»αáó¿½∞¡δ⌐ »πΓ∞.  é«-»Ñαóδσ,  Ñß½¿ óδ »α«ßΓ« τΓ«-½¿í«
  1930.       óδó«ñ¿ΓÑ, Γ« ¡Ñ ¼«ªÑΓÑ »αÑñ«ΓóαáΓ¿Γ∞ ßó«¿ «¬¡á ¿½¿ ñαπú¿Ñ «Γ«íαá-
  1931.       ªáѼδÑ  «íΩѬΓδ  «Γ ¿σ "ºáΓ¿αá¡¿∩" φΓ¿¼ óδó«ñ«¼.  é«-óΓ«αδσ,  óá¼
  1932.       ΓαÑíπÑΓß∩ ñѽáΓ∞ ºá»¿ß∞ ó ½«¬á½∞¡δ󠬫«αñ¿¡áΓáσ ΓѬπΘÑú«  «Γ«íαá-
  1933.       ªáѼ«ú«  «íΩѬΓá  ¿  «ΓßѬáΓ∞  ÑÑ »« úαá¡¿µÑ «íΩѬΓá.  é-ΓαÑΓ∞¿σ,
  1934.       óßΓáÑΓ ó«»α«ß « µóÑΓÑ ñ½∩ ºá»¿ß¿.  Å«¼¿¼«  óßÑú«  »α«τÑú«,  ¬½áßß
  1935.       TView  ß«ñÑαª¿Γ  ¡Ñ߬«½∞¬«  ß»Ñµ¿á½∞¡δσ  ßαÑñßΓó ñ½∩ Σ«α¼¿α«óá¡¿∩
  1936.       ¿º«íαáªÑ¡¿⌐  Γᬿσ,  ¬á¬  writeLine,  ¬«Γ«αá∩  ¿ß»«½∞º«óá½áß∞   ó
  1937.       »α«úαἼѠTVGUDE05. Åα¿ φΓ«¼ óδó«ñ¿Γ∞ ¼«ª¡« ½¿í« ß »«¼«Θ∞ε «íΩѬ-
  1938.       Γá TDrawBuffer,  ½¿í« ¡Ñ»«ßαÑñßΓóÑ¡¡« »«½∞ºπ∩ß∞ ß¿¼ó«½∞¡δ¼¿ áαúπ-
  1939.       ¼Ñ¡ΓἿ.  üπΣÑਧ«óá¡¡δ⌐ óδó«ñ ß »«¼«Θ∞ε TDrawBuffer »«∩ß¡∩ÑΓß∩ ó
  1940.       »α«úαἼѠTVGUDE06.
  1941.  
  1942.       Turbo Vision ñ½∩ æ++         = 57 =
  1943.  
  1944.  
  1945.            îÑΓ«ñ TView::writeStr ß»«ß«íÑ¡ ¡Ñ Γ«½∞¬« óδó«ñ¿Γ∞ ¿¡Σ«α¼áµ¿ε
  1946.       ó ½«¬á½∞¡δ󠬫«αñ¿¡áΓáσ «Γ«íαáªáѼδσ «íΩÑ¬Γ«ó ¿ «úαá¡¿τ¿óáΓ∞ φΓ«Γ
  1947.       óδó«ñ ß««ΓóÑΓßΓóπεΘ¿¼¿ úαá¡¿µá¼¿,  ¡« ¿ ¿ß»«½∞º«óáΓ∞ µóÑΓ«óπε »á-
  1948.       ½¿Γαπ «Γ«íαáªáѼδσ «íΩÑ¬Γ«ó. é ¬áτÑßΓóÑ ßó«¿σ »áαá¼ÑΓα«ó φΓ«¼ ¼Ñ-
  1949.       Γ«ñ »α¿¡¿¼áÑΓ ¬««αñ¿¡áΓδ x ¿ y, ßΓ᫬π, »αÑñ¡áº¡áτÑ¡¡πε ñ½∩ óδó«-
  1950.       ñá, ¿ ¿¡ñѬߠµóÑΓá ó »á½¿ΓαÑ.
  1951.  
  1952.       void writeStr( short x, short y,const char *str, uchar color);
  1953.  
  1954.            îÑΓ«ñ TView::writeChar  »«ñ«íÑ¡ ¼ÑΓ«ñπ writeStr ¿ «»αÑñѽѡá
  1955.       ß½ÑñπεΘ¿¼ «íαẫ¼:
  1956.  
  1957.       void writeChar(short x,short y,char ch,uchar color,short count);
  1958.  
  1959.            èᬠ¿ ¼ÑΓ«ñ writeStr,  ¼ÑΓ«ñ writeChar αáß»«½áúáÑΓ  óδσ«ñ¡πε
  1960.       ¿¡Σ«α¼áµ¿ε  ó ¬««αñ¿¡áΓáσ x ¿ y ó¡πΓα¿ «Γ«íαáªáѼ«ú« «íΩѬΓá,  ¡«
  1961.       óδó«ñ¿Γ »« φΓ¿¼ ¬««αñ¿¡áΓá¼ count ¬«»¿⌐ ß¿¼ó«½á  ch.  Äíá  ¼ÑΓ«ñá
  1962.       óδó«ñ∩Γ ó µóÑΓÑ, π¬áºá¡¡«¼ ¿¡ñѬ߫¼ color ó »á½¿ΓαÑ ñá¡¡«ú« «Γ«í-
  1963.       αáªáѼ«ú« «íΩѬΓá.
  1964.  
  1965.            éßÑ ¼ÑΓ«ñδ writeXXX  ñ«½ª¡δ  óδºδóáΓ∞ß∩  Γ«½∞¬«  ¿º  ¼ÑΓ«ñ«ó
  1966.       «Γ«íαáªáѼδσ «íΩÑ¬Γ«ó.  ¥Γ« Ññ¿¡ßΓóÑ¡¡«Ñ ¼ÑßΓ«, ó ¬«Γ«α«¼ óá¼ ¼«-
  1967.       ªÑΓ »«ΓαÑí«óáΓ∞ß∩ óδóÑßΓ¿ τΓ«-½¿í« ó Turbo Vision.
  1968.  
  1969.  
  1970.  
  1971.  
  1972.       Turbo Vision ñ½∩ æ++         = 58 =
  1973.  
  1974.                              Åα«ßΓá∩ »α«úαá¼¼á ñ½∩ »α«ß¼«Γαá Σá⌐½«ó
  1975.  
  1976.            é ñá¡¡«¼  αáºñѽѠ óδ πº¡áÑΓÑ « ¡«óδσ Σπ¡¬µ¿«¡á½∞¡δσ ó«º¼«ª-
  1977.       ¡«ßΓ∩σ óáΦÑú« «¬¡á ¿ »«»α«íπÑΓÑ »«¼ÑßΓ¿Γ∞ τΓ«-½¿í« αÑá½∞¡«Ñ ó Ñú«
  1978.       ó¡πΓαÑ¡¡¿⌐ «Γ«íαáªáѼδ⌐ «íΩѬΓ.  éδ ΓᬪѠñ«íáó¿ΓÑ Σπ¡¬µ¿¿, ¬«Γ«-
  1979.       αδÑ τ¿ΓáεΓ ΓѬßΓ«óδ⌐ Σá⌐½ ß ñ¿ß¬á ¿ «Γ«íαáªáεΓ Ñú« ó«  ó¡πΓαÑ¡¡Ñ¼
  1980.       «Γ«íαáªáѼ«¼ «íΩѬΓÑ.
  1981.  
  1982.       é¡¿¼á¡¿Ñ! ¥Γá  »α«úαἼᠠ"ºáß«α∩ÑΓ" ¡á φ¬αá¡Ñ (»«¬áºδóáÑΓ ½¿Φ¡¿Ñ
  1983.                 ß¿¼ó«½δ). ìÑ íÑß»«¬«⌐ΓÑß∞, φΓ« ßñѽᡫ ß»Ñµ¿á½∞¡«.
  1984.  
  1985.       const char *fileToRead = "tvguid06.cpp";
  1986.       const int maxLineLength = maxViewWidth+1;
  1987.       const int maxLines      = 100;
  1988.       char *lines[maxLines];
  1989.       int lineCount = 0;
  1990.  
  1991.       void readFile( const char *fileName )
  1992.       {
  1993.        ....
  1994.        // »α«τ¿ΓáΓ∞ Σá⌐½ fileName ó ¼áßß¿ó ßΓ᫬ lines
  1995.        ...
  1996.       }
  1997.  
  1998.       void TInterior::draw()
  1999.       {
  2000.           for( int i = 0; i < size.y; i++ )
  2001.               writeStr( 0, i, lines[i], 1 );
  2002.       }
  2003.  
  2004.       int main()
  2005.       {
  2006.           readFile( fileToRead );
  2007.           TMyApp myApp;
  2008.           myApp.run();
  2009.           deleteFile();   // πñ὿Γ∞ ¼áßß¿ó ßΓ᫬
  2010.           return 0;
  2011.       }
  2012.  
  2013.       Åα¿¼Ñτá¡¿Ñ: φëà»α¿¼Ñα ¡áσ«ñ¿Γß∩ ó Σá⌐½Ñ TVGUID06.CPP.
  2014.  
  2015.  
  2016.                           ùΓÑ¡¿Ñ ΓѬßΓ«ó«ú« Σá⌐½á
  2017.  
  2018.            éáΦÑ⌐ »α«úαἼѠ ¡Ñ«íσ«ñ¿¼«  óδºóáΓ∞  readFile  ñ½∩ ºáúαπº¬¿
  2019.       ΓѬßΓ«ó«ú« Σá⌐½á ó ¼áßß¿ó lines.
  2020.  
  2021.  
  2022.                           üπΣÑα¿ºáµ¿∩ ¿º«íαáªÑ¡¿∩
  2023.  
  2024.            éδ ¼«ªÑΓÑ ºá¼ÑΓ¿Γ∞,  τΓ« »α¿ óδ»«½¡Ñ¡¿¿ ñá¡¡«⌐  »α«úαá¼¼δ  ó
  2025.       ΓÑσ  ¼ÑßΓáσ φ¬αá¡á,  úñÑ ñ«½ª¡δ íδΓ∞ »πßΓδÑ ßΓ᫬¿,  ¿º«íαáªáεΓß∩
  2026.       "¡Ñ¡πª¡δÑ"  ß¿¼ó«½δ.  ¥Γ«  »α«¿ßσ«ñ¿Γ  óß½ÑñßΓó¿Ñ  ¡Ñß«óÑαΦÑ¡ßΓóá
  2027.  
  2028.       Turbo Vision ñ½∩ æ++         = 59 =
  2029.  
  2030.       Σπ¡¬µ¿¿ draw. ìáαπΦáÑΓß∩ »α¿¡µ¿», ó ß««ΓóÑΓßΓó¿¿ ß ¬«Γ«αδ¼ ß½Ññπ-
  2031.       ÑΓ, τΓ« Σπ¡¬µ¿∩ draw ñ«½ª¡á ñÑ⌐ßΓó«óáΓ∞ ó« óßÑ⌐ «í½áßΓ¿, ºá ¬«Γ«-
  2032.       απε "«ΓóÑτáÑΓ" «Γ«íαáªáѼδ⌐ «íΩѬΓ.
  2033.  
  2034.            èα«¼Ñ Γ«ú«,  ΓѬßΓ«óδ⌐ ¼áßß¿ó lines óδó«ñ¿Γß∩ ó Σ«α¼Ñ, ¬«Γ«-
  2035.       αá∩ ¡Ñ ß««ΓóÑΓßΓóπÑΓ Γ«¼π, τΓ« ¼δ σ«Γѽ¿ íδ ¿¼ÑΓ∞ ñ½∩ ñá¡¡«ú« ó¿-
  2036.       ñ¿¼«ú«  «íΩѬΓá.  ÆѬßΓ «íδτ¡« ß«ßΓ«¿Γ ¿º ßΓ᫬ »ÑαѼѡ¡«⌐ ñ½¿¡δ,
  2037.       ¼¡«ú¿Ñ ¿º ¬«Γ«αδσ ¿¼ÑεΓ ¡π½Ñóπε ñ½¿¡π,  ¿,  óß½ÑñßΓó¿Ñ Γ«ú«,  τΓ«
  2038.       Σπ¡¬µ¿∩ draw ñ«½ª¡á «σóáΓδóáΓ∞ óßε «í½áßΓ∞ ó¡πΓαÑ¡¡Ñú« «Γ«íαáªáÑ-
  2039.       ¼«ú« «íΩѬΓá, ΓѬßΓ«óδÑ ßΓ᫬¿ ¡Ñ«íσ«ñ¿¼« ñ«»«½¡∩Γ∞ ¡á óßε Φ¿α¿¡π
  2040.       φΓ«ú« «íΩѬΓá.
  2041.  
  2042.                                           üπΣÑα α¿ß«óá¡¿∩ draw
  2043.  
  2044.            ä½∩ αÑΦÑ¡¿∩  ºáñáτ,  «»¿ßá¡¡δσ óδΦÑ,  ß«ºñáñ¿¼ ¡«óπε Σπ¡¬µ¿ε
  2045.       draw, ¬«Γ«αá∩ »ÑαÑñ ºá»¿ß∞ε ßΓ᫬¿ ó «¬¡« »«¼ÑΘáÑΓ ÑÑ ó ß»Ñµ¿á½∞-
  2046.       ¡δ⌐ íπΣÑα draw. è½áßß TDrawBuffer »αÑñ½áúáÑΓ αạ««íαạδÑ ¼ÑΓ«ñδ
  2047.       moveXXX ¿ putXXX, «íÑß»Ñτ¿óáεΘ¿Ñ αáí«Γπ ß φΓ¿¼ íπΣÑα«¼. TView ß«-
  2048.       ñÑαª¿Γ ß««ΓóÑΓßΓóπεΘ¿Ñ ¼ÑΓ«ñδ writeXXX ñ½∩ «Γ«íαáªÑ¡¿∩ ß«ñÑন¼«-
  2049.       ú« φΓ«ú« íπΣÑαá ¡á φ¬αá¡Ñ.
  2050.  
  2051.            ÄíΩѬΓδ ¬½áßßá TDrawBuffer σαá¡∩Γ τÑαÑñπεΘ¿Ñß∩ íá⌐Γδ áΓα¿íπ-
  2052.       Γ«ó ¿ ß¿¼ó«½«ó, ñ½∩ óδó«ñá ¬«Γ«αδσ ¡á φ¬αá¡ ¼«ª¡« ó«ß»«½∞º«óáΓ∞ß∩
  2053.       ¼ÑΓ«ñ«¼ TView:writeBuf,  «»αÑñѽѡ¡δ¼  ß½ÑñπεΘ¿¼  «íαẫ¼ ó Σá⌐½Ñ
  2054.       VIEWS.H:
  2055.  
  2056.       void writeBuf( short x, short y, short h, const void far *b);
  2057.  
  2058.       void writeBuf( short x, short y, short h, const TDrawBuffer& b);
  2059.  
  2060.            ¥Γ¿ ñóá ¼ÑΓ«ñá óδó«ñ∩Γ íπΣÑα,  π¬áºá¡¡δ⌐ »áαá¼ÑΓα«¼ b ¡á φ¬-
  2061.       αá¡,  ¡áτ¿¡á∩  ß ¬««αñ¿¡áΓ (x,y),  ¿ ºá»«½¡∩∩ ß««ΓóÑΓßΓóπεΘπε «í-
  2062.       ½áßΓ∞ φ¬αá¡á Φ¿α¿¡«⌐ w ¿ óδß«Γ«⌐ h.  Åα¿ φΓ«¼ »Ñαóδ⌐ óáα¿á¡Γ ñá¡-
  2063.       ¡«ú« ¼ÑΓ«ñá ¿ß»«½∞ºπÑΓ ß¿¼ó«½∞¡«-áΓα¿íπΓ¡δ⌐ ¼áßß¿ó ß½«ó (ß¿¼ó«½ ó
  2064.       ¼½áñΦѼ íá⌐ΓÑ, áΓα¿íπΓ ó ßΓáαΦѼ), á óΓ«α«⌐ - «»Ñα¿απÑΓ ß φ¬ºÑ¼»-
  2065.       ½∩α«¼ ¬½áßßá  TDrawBuffer.  ÄΓ¼ÑΓ¿¼,  τΓ« óδºδóáΓ∞ ¼ÑΓ«ñ writeBuf
  2066.       ¼«ª¡« Γ«½∞¬« ¿º Σπ¡¬µ¿⌐ draw.
  2067.  
  2068.             ÆÑ»Ñα∞ ¼ÑΓ«ñ TInterior::draw óδú½∩ñ¿Γ ß½ÑñπεΘ¿¼ «íαẫ¼:
  2069.  
  2070.       void TInterior::draw()
  2071.       {
  2072.           ushort color = getColor(0x0301);
  2073.           for( int i = 0; i < size.y; i++ )
  2074.               {
  2075.               TDrawBuffer b;
  2076.               b.moveChar( 0, ' ', color, size.x );
  2077.               // ºá»«½¡¿Γ∞ íπΣÑα line »α«íѽἿ
  2078.               if( lines[i] )
  2079.                   {
  2080.                   char s[maxLineLength];
  2081.                   strncαy( s, lines[i], size.x );
  2082.  
  2083.       Turbo Vision ñ½∩ æ++         = 60 =
  2084.  
  2085.                   s[size.x] = EOS;
  2086.                   b.moveStr( 0, s, color );
  2087.                   }
  2088.               writeLine( 0, i, size.x, 1, b);
  2089.               }
  2090.       }
  2091.  
  2092.       Åα¿¼Ñτá¡¿Ñ: ñá¡¡δ⌐ Σαáú¼Ñ¡Γ »α«úαá¼¼δ σαá¡¿Γß∩ ó Σá⌐½Ñ
  2093.                   TVGUID07.CPP.
  2094.  
  2095.            ìá α¿ßπ¡¬Ñ 2.4 »«¬áºá¡á »α«úαá¼¼á TVGUID07 ß ¡Ñ߬«½∞¬¿¼¿ «Γ-
  2096.       ¬αδΓ묨 «¬¡á¼¿.
  2097.  
  2098.       ┌───────────────────────────────────────────────────────────────┐
  2099.       │  File  Window                                                 │
  2100.       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  2101.       │░░░░░░░░░░░┌─── Demo Window 3 ───────┐░░░░░░░░░░░░░░░░░░░░░░░░░│
  2102.       │░░░░░░░░░░░│/*********************   │░░░░░░░░░░░░░░░░░░░░░░░░░│
  2103.       │░░░░░░░░░░░│*                        │░░░░░░░░░░░░░░░░░░░░░░░░░│
  2104.       │░░░░░░░░░░░│*  Turbo Vision 1.0      │░░░░░░░░░░░░░░░░░░░░░░░░░│
  2105.       │░░░░░░░░░░░│*  TVGUDE07 Demo αrogram │░░░░░░░░░░░░░░░░░░░░░░░░░│
  2106.       │░░░░░░░░░░░│                         │░░░░░░░░░░░░░░░░░░░░░░░░░│
  2107.       │░░░░░░░░░░░└─────────────────────────┘░░░░░░░░░░░░░░░░░░░░░░░░░│
  2108.       │┌─── Demo Window 3 ───────┐░░╔═[■]Demo Window 5 [°]═══╗░░░░░░░░│
  2109.       ││/*********************   │░░║/*********************  ║░░░░░░░░│
  2110.       ││*                        │░░║*                       ║░░░░░░░░│
  2111.       ││*  Turbo Vision 1.0      │░░║*  Turbo Vision 1.0     ║4 ────┐░│
  2112.       ││*  TVGUDE07 Demo αrogram │░░║*  TVGUDE07 Demo αrogram║******│┐│
  2113.       ││                         │░░║                        ║      │││
  2114.       │└─────────────────────────┘░░╚═══════════════════════─┘ 1.0  │││
  2115.       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│TVGUDE07 Demo αrogram│ ogram │││
  2116.       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│                     │       │││
  2117.       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░└─────────────────────┘───────┘││
  2118.       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░└──────────────────┘│
  2119.       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  2120.       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  2121.       │ Alt-X Exit  F4 New  Alt-F3 Close                              │
  2122.       └───────────────────────────────────────────────────────────────┘
  2123.  
  2124.            É¿ßπ¡«¬ 2.4. Åα«ß¼«Γα ß«ñÑন¼«ú« Σá⌐½á ó ¡Ñ߬«½∞¬¿σ «¬¡áσ.
  2125.  
  2126.            öπ¡¬µ¿∩ draw  ß¡áτá½á  óδºδóáÑΓ ¼ÑΓ«ñ TDrawBuf::moveChar,  ß
  2127.       »«¼«Θ∞ ¬«Γ«α«⌐ size.x »α«íѽ«ó (τΓ« ß««ΓóÑΓßΓóπÑΓ  Φ¿α¿¡Ñ  óáΦÑú«
  2128.       ó¡πΓαÑ¡¡Ñú«  «Γ«íαáªáѼ«ú« «íΩѬΓá) ¡πª¡«ú« µóÑΓᠺᡫ߿Γß∩ ó íπ-
  2129.       ΣÑα b, ¬«Γ«αδ⌐ »αÑñßΓáó½∩ÑΓ ß«í«⌐ «íΩÑ¬Γ ¬½áßßá TDrawBuffer. (ÄΓ-
  2130.       ¡δ¡Ñ,  ¬áªñá∩  ºá»¿ßδóáѼá∩ ó ñá¡¡δ⌐ íπΣÑα ßΓ᫬á íπñÑΓ ñ«»«½¡Ñ¡á
  2131.       »α«íѽἿ ñ« Φ¿α¿¡δ  ó¡πΓαÑ¡¡Ñú«  «Γ«íαáªáѼ«ú«  «íΩѬΓá.)  Å«ß½Ñ
  2132.       φΓ«ú« ¿ß»«½∞ºπ∩  ¼ÑΓ«ñ  b.moveStr,  ¼ÑΓ«ñ  draw  ¬«»¿απÑΓ  ßΓ᫬π
  2133.       ΓѬßΓá ó íπΣÑα b ¿ ½¿Φ∞ ºáΓѼ óδó«ñ¿Γ ÑÑ ¡á φ¬αá¡ ß »«¼«Θ∞ε ¼ÑΓ«-
  2134.       ñá writeLine.
  2135.  
  2136.  
  2137.                         çá¡ÑßÑ¡¿Ñ ΓѬßΓá ó íπΣÑα
  2138.  
  2139.       Turbo Vision ñ½∩ æ++         = 61 =
  2140.  
  2141.  
  2142.            è½áßß TDrawBuffer ¿¼ÑÑΓ τÑΓδαÑ ¼ÑΓ«ñá,  ¿ß»«½∞ºπѼδÑ ñ½∩ ºá-
  2143.       ¡ÑßÑ¡¿∩ ΓѬßΓá  ó  «íΩѬΓδ  φΓ«ú«  ¬½áßßá:   moveStr,   moveChar,
  2144.       moveCStr ¿ moveBuf.  ¥Γ¿ ¼ÑΓ«ñδ ºá¡«ß∩Γ (ß««ΓóÑΓßΓóÑ¡¡«) ß¿¼ó«½δ,
  2145.       ßΓ᫬¿ π»αáó½Ñ¡¿∩ (ßΓ᫬¿ ß ß¿¼ó«½á¼¿ Γ¿½∞ñá (~) ñ½∩ »π¡¬Γ«ó ¼Ñ¡ε
  2146.       ¿ ßΓ᫬¿ ß«ßΓ«∩¡¿∩) ¿ ñαπú¿Ñ φ½Ñ¼Ñ¡Γδ ó π¬áºá¡¡δ⌐ íπΣÑα.
  2147.  
  2148.            Å«ñα«í¡ÑÑ «í φΓ¿σ ¼ÑΓ«ñáσ ß¼. ó ú½áóÑ 13.
  2149.  
  2150.                                        çỿß∞ ß«ñÑন¼«ú« íπΣÑαá
  2151.  
  2152.            è½áßß TView  ¿¼ÑÑΓ »∩Γ∞ ¼ÑΓ«ñ«ó,  «íÑß»Ñτ¿óáεΘ¿σ óδó«ñ ¬«¡¬-
  2153.       αÑΓ¡δσ ßΓ᫬ ¿½¿ ß«ñÑন¼«ú« ºáñá¡¡«ú« íπΣÑαá ó «Γ«íαáªáѼδ⌐ «íΩ-
  2154.       Ñ¬Γ. äóá  ¿º  ¡¿σ - writeBuf ¿ writeLine - ΓαÑíπεΓ »áαá¼ÑΓαá Γ¿»á
  2155.       TDrawBuffer  («ßΓá½∞¡δÑ  Γα¿  -   φΓ«   writeChar,   writeStr   ¿
  2156.       writeCStr).  éßÑ  »∩Γ∞  ¼ÑΓ«ñ«ó ¡ÑíπΣÑਧ¿α«óá¡δ,  ¿ ¿ß»«½∞ºπεΓß∩
  2157.       Γ«½∞¬« ó ¼ÑΓ«ñáσ  draw.  éδ  πªÑ  º¡á¬«¼δ  ß  ¼ÑΓ«ñἿ  writeBuf,
  2158.       writeChar,   ¿  writeStr.  ì¿ªÑ  »αÑñßΓáó½Ñ¡δ  »α«Γ«Γ¿»δ  ¼ÑΓ«ñ«ó
  2159.       writeLine ¿ writeCStr:
  2160.  
  2161.       void writeLine(short x,short y,short w,short h,
  2162.                      const void far *b);
  2163.  
  2164.       void writeLine(short x,short y,short w,short h,
  2165.                      const TDrawBuffer& b);
  2166.  
  2167.       void writeCStr(short x,short y,char far *str, uchar color);
  2168.  
  2169.            é ¼ÑΓ«ñÑ TInterior::draw ¼ÑΓ«ñ writeLine óδó«ñ¿Γ  ß«ñÑন¼«Ñ
  2170.       «íΩѬΓá  TDrawBuffer  ó  «ñ¡π ßΓ᫬π.  àß½¿ ªÑ τÑΓóÑαΓδ⌐ »áαá¼ÑΓα
  2171.       φΓ«ú« ¼ÑΓ«ñá h (óδß«Γá) í«½∞ΦÑ 1, Γ« «¡á óδ»«½¡∩ÑΓ óδó«ñ ß«ñÑন-
  2172.       ¼«ú« íπΣÑαá ¡á »«ß½ÑñπεΘ¿σ ßΓ᫬áσ.  Æᬿ¼ «íαẫ¼, Ñß½¿ ó íπΣÑαÑ
  2173.       buf σαá¡¿Γß∩ Σαáºá "Hello, World!", Γ« ¼ÑΓ«ñ writeLine (0, 0, 13,
  2174.       4, buf) óδó«ñ¿Γ Ñú« ß«ñÑন¼«Ñ ß½ÑñπεΘ¿¼ «íαẫ¼:
  2175.  
  2176.            Hello, World!
  2177.            Hello, World!
  2178.            Hello, World!
  2179.            Hello, World!
  2180.  
  2181.            äαπú«⌐ ¼ÑΓ«ñ writeBuf(x,  y, w, h, buf) Σ«α¼¿απÑΓ ßó«⌐ óδó«ñ
  2182.       ¡á φ¬αá¡Ñ ºá»¿ß¿ ó ó¿ñÑ »α∩¼«πú«½∞¡¿¬á. Åáαá¼ÑΓαδ w ¿ h φΓ«ú« ¼Ñ-
  2183.       Γ«ñá ºáñáεΓ Φ¿α¿¡π ¿ óδß«Γπ íπΣÑαá.  Æᬿ¼ «íαẫ¼, Ñß½¿ ó íπΣÑαÑ
  2184.       buf σαá¡¿Γß∩ ßΓ᫬á "ABCDEFGHIJKLMNOP",  Γ« ¼ÑΓ«ñ writeBuf(0,  0,
  2185.       4, 4, buf) «Γ«íαáº¿Γ ÑÑ ß½ÑñπεΘ¿¼ «íαẫ¼:
  2186.  
  2187.            ABCD
  2188.            EFGH
  2189.            IJKL
  2190.            MNOP
  2191.  
  2192.            é «Γ½¿τ¿Ñ «Γ ¼ÑΓ«ñ«ó writeStr,  writeCStr ¿  writeChar,  ñ½∩
  2193.  
  2194.       Turbo Vision ñ½∩ æ++         = 62 =
  2195.  
  2196.       ¼ÑΓ«ñ«ó writeLine ¿ writeBuf ¡Ñ ºáñáÑΓß∩ »áαá¼ÑΓα µóÑΓá. ¥Γ« ßó∩-
  2197.       ºá¡« ß ΓѼ,  τΓ« ΓαÑíπѼδÑ  µóÑΓá  ºáñáεΓß∩  ó  ¼«¼Ñ¡Γ  ºá¡ÑßÑ¡¿∩
  2198.       ΓѬßΓá ó íπΣÑα, τΓ« ¿ «º¡áτáÑΓ ó«º¼«ª¡«ßΓ∞ ¡á½¿τ¿∩ ó «ñ¡«¼ íπΣÑαÑ
  2199.       Σαáú¼Ñ¡Γ«ó ΓѬßΓá ß αáº¡δ¼¿ áΓα¿íπΓἿ.  Ç ¬α«¼Ñ Γ«ú«,  ß »«¼«Θ∞ε
  2200.       ¼ÑΓ«ñá writeCStr  ó  íπΣÑαÑ ¼«úπΓ óδñѽ∩Γ∞ß∩ (áΓα¿íπΓ«¼) ß¿¼ó«½δ,
  2201.       «íαἽѡ¡δÑ Γ¿½∞ñἿ (~).
  2202.  
  2203.                                        Ä»αÑñѽѡ¿Ñ «íΩѼá óδó«ñá
  2204.  
  2205.            ÄΓ¼ÑΓ¿¼, τΓ«  ¼ÑΓ«ñ TInterior::draw óδó«ñ¿Γ Γ«½∞¬« Γ«Γ «íΩѼ
  2206.       Σá⌐½á, ¬«Γ«αδ⌐ ¡Ñ«íσ«ñ¿¼  ñ½∩  ºá»«½¡Ñ¡¿∩  "»½«Θáñ¿"  ó¡πΓαÑ¡¡Ñú«
  2207.       «Γ«íαáªáѼ«ú« «íΩѬΓá.  é »α«Γ¿ó¡«¼ ß½πτáÑ φëà¼ÑΓ«ñ draw »«Γαá-
  2208.       Γ¿½ íδ º¡áτ¿Γѽ∞¡πε τáßΓ∞ óαѼѡ¿ ¡á ºá»¿ß∞ ΓÑσ τáßΓÑ⌐ Σá⌐½á, ¬«-
  2209.       Γ«αδÑ ó  ñá½∞¡Ñ⌐ΦѼ  óßÑ αáó¡« í뫨 íδ «ΓßÑτÑ¡δ úαá¡¿µá¼¿ ñá¡¡«ú«
  2210.       «Γ«íαáªáѼ«ú« «íΩѬΓá TInterior.
  2211.  
  2212.            àß½¿ «Γ«íαáªáѼ«¼π «íΩѬΓπ ΓαÑíπÑΓß∩ ¼¡«ú« óαѼѡ¿ ñ½∩ »«½π-
  2213.       τÑ¡¿∩ ßó«Ñú« ¿º«íαáªÑ¡¿∩ ¡á φ¬αá¡Ñ,  Γ« óδ ¼«ªÑΓÑ ó¡áτá½Ñ óδºóáΓ∞
  2214.       ¼ÑΓ«ñ getCliαRect, ¬«Γ«αδ⌐ «»¿ßá¡ ß½ÑñπεΘ¿¼ «íαẫ¼:
  2215.  
  2216.            TRect TView::getCliαRect();
  2217.  
  2218.       getCliαRect ó«ºóαáΘáÑΓ »α∩¼«πú«½∞¡¿¬, ¬«Γ«αδ⌐ «Γ«íαáªáÑΓß∩ ó «íΩ-
  2219.       Ñ¬ΓÑ-ó½áñѽ∞µÑ,  »«φΓ«¼π óá¼ ΓαÑíπÑΓß∩ ½¿Φ∞ ¿º«íαếΓ∞  Γπ  τáßΓ∞
  2220.       «Γ«íαáªáѼ«ú« «íΩѬΓá, ¬«Γ«αá∩ ∩ó½∩ÑΓß∩ ó¿ñ¿¼«⌐. ìá»α¿¼Ñα, Ñß½¿
  2221.       »«½∞º«óáΓѽ∞ »ÑαÑñó¿úáÑΓ  ß½«ª¡πε »á¡Ñ½∞ ñ¿á½«úá ñ½∩ Γ«ú«,  τΓ«íδ
  2222.       πó¿ñÑΓ∞ Γ«, τΓ« ¡áσ«ñ¿Γß∩ ºá ¡Ñ⌐, ó맮ó getCliαRect »ÑαÑñ «Γ«íαá-
  2223.       ªÑ¡¿Ñ¼ ñá¡¡«⌐ »á¡Ñ½¿ ¿ºíáó¿Γ óáß «Γ ¡Ñ«íσ«ñ¿¼«ßΓ¿ »ÑαÑα¿ß«ó¬¿ ΓÑσ
  2224.       τáßΓÑ⌐ »á¡Ñ½¿ ñ¿á½«úá,  ¬«Γ«αδÑ óαѼѡ¡« ¿ßτѺáεΓ  ß  φ¬αá¡á.  ìÑ
  2225.       ß»πΓá⌐ΓÑ getCliαRect  c  getExtent.  getExtent ó«ºóαáΘáÑΓ ΓѬπΘ¿Ñ
  2226.       αẼÑαδ ó¿ñ¿¼«ú« «íΩѬΓá,  ó¡Ñ ºáó¿ß¿¼«ßΓ¿  «Γ  Γ«ú«,  ¬á¬á∩  Ñú«
  2227.       τáßΓ∞ ¡áσ«ñ¿Γß∩ ¡á φ¬αá¡Ñ.
  2228.  
  2229.                                          Å᫬απΓ¬á óóÑασ ¿ ó¡¿º
  2230.  
  2231.            ÄτÑó¿ñ¡«, τΓ« »α«úαἼᠻα«ß¼«Γαá ß«ñÑন¼«ú« Σá⌐½á ¡Ñ ¼«ªÑΓ
  2232.       ¼¡«ú« ¿ß»«½∞º«óáΓ∞ß∩,   Ñß½¿   óδ   ¼«ªÑΓÑ  »α«ß¼áΓα¿óáΓ∞  Γ«½∞¬«
  2233.       ¡Ñ߬«½∞¬« »Ñαóδσ ßΓ᫬ φΓ«ú« Σá⌐½á.  Å«φΓ«¼π  óδ  ñ«½ª¡δ  ßñѽáΓ∞
  2234.       ó¡πΓαÑ¡¡¿⌐ «Γ«íαáªáѼδ⌐  «íΩÑ¬Γ  »α«¬απτ¿óáÑ¼δ¼ ¿ ñ«íáó¿Γ∞ ó ¡Ñú«
  2235.       ßΓ᫬¿ »α«¬απΓ¬¿.  é αѺπ½∞ΓáΓÑ,  «Γ«íαáªáѼδ⌐  «íΩÑ¬Γ  TInterior
  2236.       ßΓá¡ÑΓ »α«¬απτ¿óáÑ¼δ¼ «¬¡«¼ ñ½∩ ΓѬßΓ«ó«ú« Σá⌐½á. èα«¼Ñ φΓ«ú«, óδ
  2237.       ñ«½ª¡δ íπñÑΓÑ ¿º¼Ñ¡¿Γ∞ ¬½áßß TDemoWindow,  ñ«íáó¿ó ó  ¡Ñú«  ¼ÑΓ«ñ
  2238.       makeInterior, ¬«Γ«αδ⌐ íπñÑΓ «Γñѽѡ «Γ ¼Ñσá¡¿º¼á «Γ¬αδΓ¿∩ «¬¡á.
  2239.  
  2240.       class TDemoWindow : αublic TWindow   // «»αÑñѽѡ¿Ñ ¡«ó«ú«
  2241.                                            // «¬«¡¡«ú« ¬½áßßá
  2242.       {
  2243.  
  2244.       αublic:
  2245.  
  2246.           TDemoWindow( const TRect& bounds, const char *aTitle,
  2247.  
  2248.       Turbo Vision ñ½∩ æ++         = 63 =
  2249.  
  2250.                                             short aNumber );
  2251.           void makeInterior();
  2252.  
  2253.       };
  2254.  
  2255.       class TInterior : αublic TScroller
  2256.       {
  2257.  
  2258.       αublic:
  2259.  
  2260.           TInterior( const TRect& bounds, TScrollBar *aHScrollBar,
  2261.                  TScrollBar *aVScrollBar ); // ¬«¡ßΓαπ¬Γ«α ¬½áßßá
  2262.           virtual void draw();          // »ÑαÑ«»αÑñѽѡ¿Ñ TView::draw
  2263.       };
  2264.       // Ä»¿ßá¡¿Ñ TInterior
  2265.       TInterior::TInterior( const TRect& bounds,
  2266.                             TScrollBar *aHScrollBar,
  2267.                             TScrollBar *aVScrollBar ) :
  2268.              TScroller( bounds, aHScrollBar, aVScrollBar )
  2269.       {
  2270.           growMode = gfGrowHiX | gfGrowHiY;
  2271.           oαtions = oαtions | ofFramed;
  2272.           setLimit( maxLineLength, maxLines );
  2273.       }
  2274.  
  2275.       void TInterior::draw()      // ¬«ααѬµ¿∩ ñ½∩ φ½Ñ¼Ñ¡Γá »α«¬απΓ¬¿
  2276.       {
  2277.           ushort color = getColor(0x0301);
  2278.           for( int i = 0; i < size.y; i++ )
  2279.               // ñ½∩ ¬áªñ«⌐ ßΓ᫬¿
  2280.               {
  2281.               TDrawBuffer b;
  2282.               b.moveChar( 0, ' ', color, size.x );
  2283.               // ºá»«½¡¿Γ∞ íπΣÑα ßΓ᫬¿ »α«íѽἿ
  2284.               int j = delta.y + i;
  2285.               // delta - φΓ« ß¼ÑΘÑ¡¿Ñ ßΓ᫬ φ½Ñ¼Ñ¡Γá »α«¬απΓ¬¿
  2286.  
  2287.               if( lines[j] )
  2288.                   {
  2289.                   char s[maxLineLength];
  2290.                   if( delta.x > strlen(lines[j] ) )
  2291.                       s[0] = EOS;
  2292.                   else
  2293.                       {
  2294.                       strncαy( s, lines[j]+delta.x, size.x );
  2295.                       s[size.x] = EOS;
  2296.                       }
  2297.                   b.moveStr( 0, s, color );
  2298.                   }
  2299.               writeLine( 0, i, size.x, 1, b);
  2300.               }
  2301.       }
  2302.       // Ä»¿ßá¡¿Ñ TDemoWindow
  2303.  
  2304.       Turbo Vision ñ½∩ æ++         = 64 =
  2305.  
  2306.  
  2307.       void TDemoWindow::makeInterior()
  2308.       {
  2309.           TScrollBar *vScrollBar =
  2310.               standardScrollBar( sbVertical | sbHandleKeyboard );
  2311.           TScrollBar *hScrollBar =
  2312.               standardScrollBar( sbHorizontal |  sbHandleKeyboard );
  2313.           TRect r = getCliαRect();// »«½πτ¿Γ∞ úαá¡¿µδ ó¿ñ¿¼«ú« «íΩѬΓá
  2314.           r.grow( -1, -1 );       // ß¬«ααÑ¬Γ¿α«óáΓ∞ ¿σ, τΓ«íδ
  2315.                                   // ó¼ÑßΓ¿Γ∞ß∩ ó «¬¡«
  2316.           insert( new TInterior( r, hScrollBar, vScrollBar ));
  2317.       }
  2318.  
  2319.       TDemoWindow::TDemoWindow(const TRect& bounds, const char *aTitle,
  2320.                     short aNumber) :
  2321.                TWindow( bounds, aTitle, aNumber),
  2322.                TWindowInit( &TDemoWindow::initFrame )
  2323.       {
  2324.           makeInterior();
  2325.           // ß«ºñáÑΓ »α«¬απτ¿óáѼδ⌐ ó¡πΓαÑ¡¡¿⌐ «íΩÑ¬Γ ¿
  2326.           // ó¬½ετáÑΓ Ñú« ó «¬¡«
  2327.       }
  2328.  
  2329.       Åα¿¼Ñτá¡¿Ñ: φëà»α¿¼Ñα ¡áσ«ñ¿Γß∩ ó Σá⌐½Ñ TVGUID08.CPP.
  2330.  
  2331.  
  2332.       Turbo Vision ñ½∩ æ++         = 65 =
  2333.  
  2334.  
  2335.       Åα¿¼Ñτá¡¿Ñ: ê¼Ñ⌐ΓÑ ó ó¿ñπ,  τΓ« óδ ¿º¼Ñ¡¿½¿ íẫóδ⌐ ¬½áßß  ¬½áßßá
  2336.                   TInterior!
  2337.  
  2338.       ┌───────────────────────────────────────────────────────────────┐
  2339.       │  File  Window                                                 │
  2340.       │┌───────────── Demo Window 1 ──────────────┐░░░░░░░░░░░░░░░░░░░│
  2341.       ││class TMyApp : αublic TApplication        │░░░░░░░░░░░░░░░░░░░│
  2342.       ││{                                         │░░░░░░░░░░░░░░░░░░░│
  2343.       ││αublic:                                   │░░░░░░░░░░░░░░░░░░░│
  2344.       ││    TMyApp();                             │░░░░░░░░░░░░░░░░░░░│
  2345.       ││    static TStatusLine *initStatusLine( TR│░░░░░░░░░░░░░░░░░░░│
  2346.       ││    static TMenuBar *initMenuBar( TRect r │░░░░░░░░░░░░░░░░░░░│
  2347.       ││    virtual void handleEvent( TEvent& even│░░░░░░░░░░░░░░░░░░░│
  2348.       ││    void newWindow();                     │░░░░░░░░░░░░░░░░░░░│
  2349.       ││};                                        │░░░░░░░░░░░░░░░░░░░│
  2350.       ││                  ╔════════ Demo Window 2 ════════╗░░░░░░░░░░░│
  2351.       ││                  ║void TMyApp::newWindow()       ║░░░░░░░░░░░│
  2352.       ││                  ║{                              ║░░░░░░░░░░░│
  2353.       │└──────────────────║    TRect r( 0, 0, 45, 13 );   ║░░░░░░░░░░░│
  2354.       │░░░░░░░░░░░░░░░░░░░║    r.move( random(34), random(║░░░░░░░░░░░│
  2355.       │░░░░░░░░░░░░░░░░░░░║    TDemoWindow *window = new T║░░░░░░░░░░░│
  2356.       │░░░░░░░░░░░░░░░░░░░║    deskToα->insert(window);   ║░░░░░░░░░░░│
  2357.       │░░░░░░░░░░░░░░░░░░░║}                              ║░░░░░░░░░░░│
  2358.       │░░░░░░░░░░░░░░░░░░░╚═<■▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒>─════╝░░░░░░░░░░░│
  2359.       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  2360.       │ Alt-X Exit  F4 New  Alt-F3 Close                              │
  2361.       └───────────────────────────────────────────────────────────────┘
  2362.  
  2363.            É¿ßπ¡«¬ 2.5. Åα«ß¼«Γα Σá⌐½á ß ó«º¼«ª¡«ßΓ∞堻᫬απΓ¬¿.
  2364.  
  2365.            â«α¿º«¡Γá½∞¡δÑ ¿ óÑαΓ¿¬á½∞¡δÑ ßΓ᫬¿ »α«¬απΓ¬¿ ¿¡¿µ¿á½¿º¿απ-
  2366.       εΓß∩ ¿  »«¼ÑΘáεΓß∩ ó úαπ»»π,  á ºáΓѼ »ÑαÑñáεΓß∩ ¬½áßßπ TScroller
  2367.       »α¿ Ñú« ¿¡¿µ¿á½¿ºáµ¿¿.
  2368.  
  2369.            ¥½Ñ¼Ñ¡Γ »α«¬απΓ¬¿  - φΓ« «Γ«íαáªáѼδ⌐ «íΩѬΓ,  ß«ºñá¡¡δ⌐ ñ½∩
  2370.       ¿º«íαáªÑ¡¿∩ τáßΓ¿ í«½ÑÑ ¬απ»¡«ú« ó¿αΓπá½∞¡«ú« «Γ«íαáªáѼ«ú«  «íΩ-
  2371.       Ñ¬Γá. é¼ÑßΓÑ ß«  ßΓα«¬á¼¿  »α«¬απΓ¬¿  «¡  ß«ºñáÑΓ  »α«¬απτ¿óáѼδ⌐
  2372.       «Γ«íαáªáѼδ⌐ «íΩÑ¬Γ »«τΓ¿ íѺ óáΦÑú« πτáßΓ¿∩. éßÑ τΓ« «Γ óáß ΓαÑ-
  2373.       íπÑΓß∩ ½¿Φ∞ «íÑß»Ñτ¿Γ∞ ñ½∩ «íΩѬΓá »α«¬απΓ¬¿ Γá¬πε αáí«Γπ  ¼ÑΓ«ñπ
  2374.       draw,  τΓ«íδ  «¡  »αáó¿½∞¡«  ¿º«íαáªá½  ¡πª¡πε τáßΓ∞ ó¿αΓπá½∞¡«ú«
  2375.       «Γ«íαáªáѼ«ú« «íΩѬΓá.  æΓ᫬¿ »α«¬απΓ¬¿ áóΓ«¼áΓ¿τÑ߬¿  π»αáó½∩εΓ
  2376.       º¡áτÑ¡¿∩¼¿  «íΩѬΓá  »α«¬απΓ¬¿ delta.X (»Ñαóδ⌐ ¿º«íαáªáѼδ⌐ ßΓ«½-
  2377.       íѵ) ¿ delta.Y (»Ñαóá∩ ¿º«íαáªáѼá∩ ßΓ᫬á).
  2378.  
  2379.            ä½∩ »«½πτÑ¡¿∩ πñ«í¡«ú« «íΩѬΓá »α«¬απΓ¬¿ óδ ñ«½ª¡δ »ÑαÑ«»αÑ-
  2380.       ñѽ¿Γ∞  ¼ÑΓ«ñ  draw ¬½áßßá TScroller.  ç¡áτÑ¡¿∩ delta íπñπΓ ¿º¼Ñ-
  2381.       ¡∩Γ∞ß∩ ó ß««ΓóÑΓßΓó¿¿ ß π¬áºá¡¿∩¼¿ ßΓ᫬ »α«¬απΓ¬¿,  ¡« ßἿ  «¡¿
  2382.       ¡Ñ ¼«úπΓ σ«Γ∞ τΓ«-¡¿íπñ∞ ¿º«íαếΓ∞.  îÑΓ«ñ draw íπñÑΓ óδºδóáΓ∞ß∩
  2383.       »α¿ ¬áªñ«¼ ¿º¼Ñ¡Ñ¡¿¿ delta,  »«φΓ«¼π ¿¼Ñ¡¡« ó ¡Ñ¼ ß½ÑñπÑΓ «»¿ßáΓ∞
  2384.       «ΓóÑΓ¡δÑ ñÑ⌐ßΓó¿∩ ¡á ¿º¼Ñ¡Ñ¡¿∩ delta.
  2385.  
  2386.  
  2387.  
  2388.       Turbo Vision ñ½∩ æ++         = 66 =
  2389.  
  2390.                             î¡«ªÑßΓóÑ¡¡δÑ «Γ«íαáªáѼδÑ «íΩѬΓδ ó «¬¡Ñ
  2391.  
  2392.            é ß½ÑñπεΘѼ π»α᪡ѡ¿¿ óδ »α«ñπí½¿απ⌐ΓÑ ó¡πΓαÑ¡¡¿⌐ «Γ«íαáªá-
  2393.       Ñ¼δ⌐ «íΩÑ¬Γ ¿ ß«ºñáñ¿ΓÑ «¬¡« ß ñóπ¼∩ »α«¬απτ¿óáÑ¼δ¼¿ «Γ«íαáªáѼδ-
  2394.       ¼¿ «íΩѬΓἿ ñ½∩ ΓѬßΓ«ó«ú« Σá⌐½á.  æ »«¼«Θ∞ε "¼δΦ¿" ¿½¿  ¬½áó¿Φ¿
  2395.       Γáíπ½∩µ¿¿ ¼«ª¡«  óδíαáΓ∞ «ñ¡¿¼ ¿º φΓ¿σ ñóπσ ó¡πΓαÑ¡¡¿σ «Γ«íαáªáÑ-
  2396.       ¼δσ «íΩÑ¬Γ«ó. èáªñδ⌐ «Γ«íαáªáѼδ⌐ «íΩÑ¬Γ »α«¬απτ¿óáÑΓß∩ ¡Ñºáó¿ß¿-
  2397.       ¼« «Γ óΓ«α«ú« ¿ ¿¼ÑÑΓ ß«íßΓóÑ¡¡πε »«º¿µ¿ε ¬παß«αá.
  2398.  
  2399.            ùΓ«íδ ßñѽáΓ∞   óßÑ   φΓ«,   óδ  ñ«½ª¡δ  ñ«íáó¿Γ∞  ¬  ¼ÑΓ«ñπ
  2400.       makeInterior ¡Ñí«½∞Φ«⌐ Σαáú¼Ñ¡Γ,  »«ºó«½∩εΘ¿⌐  πº¡áΓ∞,  ¡á  ¬á¬«⌐
  2401.       ßΓ«α«¡Ñ «¬¡á ¡áσ«ñ¿Γß∩ ó¡πΓαÑ¡¡¿⌐ «Γ«íαáªáѼδ⌐ «íΩÑ¬Γ (Γ.¬.  αáº-
  2402.       ¡δÑ Ñú« ßΓ«α«¡δ ¿¼ÑεΓ ¡Ñ¬«Γ«αδÑ αẽ¿τ¿∩ ó »«óÑñÑ¡¿¿),  ¿,  ¬α«¼Ñ
  2403.       Γ«ú«, ó  ¬«¡ßΓαπ¬Γ«αÑ  ¬½áßßá TDemoWindow óδ óδ»«½¡¿ΓÑ ñóá ó맮óá
  2404.       ¼ÑΓ«ñá makeInterior.
  2405.  
  2406.       Åα¿¼Ñτá¡¿Ñ: ìÑ ºáíπñ∞ΓÑ ¿º¼Ñ¡¿Γ∞ «íΩ∩ó½Ñ¡¿Ñ ¼ÑΓ«ñá makeInterior!
  2407.  
  2408.       // ì«óδ⌐ ¬«¡ßΓαπ¬Γ«α TDemoWindow
  2409.  
  2410.       TDemoWindow::TDemoWindow( const TRect& bounds, const char *aTitle,
  2411.                     short aNumber) :
  2412.                TWindow( bounds, aTitle, aNumber),
  2413.                TWindowInit( &TDemoWindow::initFrame )
  2414.       {
  2415.         TRect lbounds = getExtent();
  2416.         TRect r( lbounds.a.x,lbounds.a.y,lbounds.b.x/2+1,lbounds.b.y );
  2417.         TInterior *lInterior = makeInterior( r, True );
  2418.         lInterior->growMode = gfGrowHiY;
  2419.         insert( lInterior );
  2420.         // ß«ºñáÑΓ ½Ñóδ⌐ »α«¬απτ¿óáѼδ⌐ ¿¡ΓÑα∞Ñα ¿ óßΓáó½∩ÑΓ Ñú« ó «¬¡«
  2421.         r = TRect( lbounds.b.x/2,lbounds.a.y,lbounds.b.x,lbounds.b.y );
  2422.         TInterior *rInterior = makeInterior( r, False );
  2423.         rInterior->growMode = gfGrowHiX | gfGrowHiY;
  2424.         insert( rInterior );
  2425.         // Γ«ªÑ ñ½∩ »αáó«ú« ¿¡ΓÑα∞Ñαá
  2426.       }
  2427.  
  2428.  
  2429.       // êº¼Ñ¡Ñ¡¡δ⌐ ¼ÑΓ«ñ makeInterior
  2430.  
  2431.       TInterior *TDemoWindow::makeInterior( const TRect& bounds,
  2432.                                             Boolean left )
  2433.       {
  2434.           TRect r = TRect( bounds.b.x-1, bounds.a.y+1, bounds.b.x,
  2435.                            bounds.b.y-1 );
  2436.           TScrollBar *vScrollBar = new TScrollBar( r );
  2437.           if( vScrollBar == 0 )
  2438.               {
  2439.               cout << "vScrollbar init error" << endl;
  2440.               exit(1);
  2441.               }
  2442.               // αroduction code would disαlay error dialog box
  2443.  
  2444.       Turbo Vision ñ½∩ æ++         = 67 =
  2445.  
  2446.           vScrollBar->oαtions |= ofPostProcess;
  2447.           if( left )
  2448.               vScrollBar->growMode = gfGrowHiY;
  2449.           insert( vScrollBar );
  2450.  
  2451.           r = TRect(bounds.a.x+2,bounds.b.y-1,bounds.b.x-2,bounds.b.y);
  2452.           TScrollBar *hScrollBar = new TScrollBar( r );
  2453.           if( hScrollBar == 0 )
  2454.               {
  2455.               cout << "hScrollbar init error" << endl;
  2456.               exit(1);
  2457.               }
  2458.           hScrollBar->oαtions |= ofPostProcess;
  2459.           if( left )
  2460.               hScrollBar->growMode = (gfGrowHiY | gfGrowLoY);
  2461.           insert( hScrollBar );
  2462.  
  2463.           r = bounds;
  2464.           r.grow( -1, -1 );
  2465.           return new TInterior( r, hScrollBar, vScrollBar );
  2466.       }
  2467.  
  2468.       Åα¿¼Ñτá¡¿Ñ: ¥Γ« »α¿¼Ñα TVGUID09.CPP.
  2469.  
  2470.       ┌───────────────────────────────────────────────────────────┐
  2471.       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  2472.       │░╔═[■]════════════════ Demo Window 1 ════════════════[°]═╗░│
  2473.       │░║class TInterior : αublic TS │tatusLine *TMyApp::initSta°░│
  2474.       │░║{                           │                          ▒░│
  2475.       │░║                            │  r.a.y = r.b.y - 1;     /▒░│
  2476.       │░║αublic:                     │  return new TStatusLine( ▒░│
  2477.       │░║                            │      *new TStatusDef( 0, ▒░│
  2478.       │░║    TInterior( const TRect& │      // set range of helα▒░│
  2479.       │░║           TScrollBar *aVScr│          *new TStatusItem▒░│
  2480.       │░║    virtual void draw();    │          // define an ite▒░│
  2481.       │░║};                          │          *new TStatusItem■░│
  2482.       │░║                            │          // and another o▒░│
  2483.       │░║class TDemoWindow : αublic T│          *new TStatusItem▒░│
  2484.       │░║{                           │          // and another o▒░│
  2485.       │░║                            │      );                  ∙░│
  2486.       │░╚════════════════════════════╧═<■▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒>─┘░│
  2487.       │░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  2488.       └───────────────────────────────────────────────────────────┘
  2489.  
  2490.                 É¿ßπ¡«¬ 2.6. Ä¬¡« ß ¡Ñ߬«½∞¬¿¼¿ »á¡Ñ½∩¼¿.
  2491.  
  2492.            àß½¿ óδ "ß«ª¼ÑΓÑ" «¬¡á ó »α«úαἼѠTVGUID09.CPP,  Γ« óδ πó¿-
  2493.       ñ¿ΓÑ, τΓ« óÑαΓ¿¬á½∞¡á∩ »«½«ßá »α«¬απΓ¬¿ íπñÑΓ ºáΓÑαΓá ½Ñóδ¼ ó¡πΓ-
  2494.       αÑ¡¡¿¼  «Γ«íαáªáÑ¼δ¼  «íΩÑ¬Γ«¼,  Ñß½¿ óδ »«¼ÑßΓ¿ΓÑ »αáóπε ßΓ«α«¡π
  2495.       «¬¡á ß½¿Φ¬«¼ í½¿º¬« ¬ ½Ñó«⌐.  ùΓ«íδ ¿ºíѪáΓ∞ φΓ«ú«, óδ ¼«ªÑΓÑ ºá-
  2496.       ñáΓ∞, ¬á¬¿Ñ  ¼¿¡¿¼á½∞¡δÑ  »αÑñѽ∞¡δÑ  αẼÑαδ «¬«¡ óδ ñ«»π߬áÑΓÑ.
  2497.       æñѽáΓ∞ φΓ« óδ ß¼«ªÑΓÑ »ÑαÑ«»αÑñѽ¿ó ó¿αΓπá½∞¡δ⌐ ¼ÑΓ«ñ sizeLimits
  2498.       ¬½áßßá TWindow.
  2499.  
  2500.       Turbo Vision ñ½∩ æ++         = 68 =
  2501.  
  2502.  
  2503.       void TDemoWindow::sizeLimits(TPoint& minP, TPoint& maxP)
  2504.       {
  2505.           TWindow::sizeLimits( minP, maxP );
  2506.           minP.x = lInterior->size.x+9;
  2507.       }
  2508.  
  2509.       Åα¿¼Ñτá¡¿Ñ: ìÑ    ºáíπñ∞ΓÑ   ñ«íáó¿Γ∞   «»¿ßá¡¿Ñ   sizeLimits   ó
  2510.                   TDemoWindow. ¥Γ« Σαáú¼Ñ¡Γ ¿º TVGUID10.CPP.
  2511.  
  2512.            ÄíαáΓ¿ΓѠ󡿼᡿Ѡ¡á Γ«,  τΓ« óá¼ ¡Ñ  ΓαÑíπÑΓß∩  ∩ó¡«  «íαá-
  2513.       ΘáΓ∞ß∩ ¬ ¼ÑΓ«ñπ sizeLimits.  éδ Ñú« »α«ßΓ« »ÑαÑ«»αÑñѽ∩ÑΓÑ,  á «¡
  2514.       íπñÑΓ óδºδóáΓ∞ß∩ »α¿ ¡Ñ«íσ«ñ¿¼«ßΓ¿.  Æᬿ¼ «íαẫ¼ óδ »«ßΓπ»á½¿ ß
  2515.       ¼ÑΓ«ñ«¼ draw:  óδ ß««íΘ὿ «Γ«íαáªáѼ«¼π «íΩѬΓπ ¬á¬ ßÑí∩ «Γ«íαá-
  2516.       º¿Γ∞, ¡« ¡Ñ ¬«úñá φΓ« ñѽáΓ∞. Turbo Vision ßá¼á º¡áÑΓ, ¬«úñá óδº-
  2517.       óáΓ∞ draw. Æᬫ⌐ »«α∩ñ«¬ »α¿¼Ñ¡¿¼ ¿ ¬ ¼ÑΓ«ñπ sizeLimits: óδ πßΓá-
  2518.       ¡áó½¿óáÑΓÑ »αÑñѽδ,  á «Γ«íαáªáѼδ⌐ «íΩÑ¬Γ ßἫßΓ«∩Γѽ∞¡« «»αÑñÑ-
  2519.       ½∩ÑΓ, ¬«úñá óδ»«½¡¿Γ∞ ¿σ »α«óÑα¬π.  Æ.¬. sizeLimits ∩ó½∩ÑΓß∩ ó¿α-
  2520.       Γπá½∞¡δ¼ ¼ÑΓ«ñ«¼, Γ« ñ½∩ ¬áªñ«ú« «Γ«íαáªáѼ«ú« «íΩѬΓá óßÑúñá íπ-
  2521.       ñÑΓ óδºδóáΓ∞ß∩ ¬«ααÑ¬Γ¡á∩ óÑαß¿∩ φΓ«ú« ¼ÑΓ«ñá.
  2522.  
  2523.                                    èπñá »«¼ÑßΓ¿Γ∞ Σπ¡¬µ¿«¡á½∞¡«ßΓ∞
  2524.  
  2525.            éδ «αúá¡¿º«ó὿ «¬¡« ß α∩ñ«¼ «Γ«íαáªáѼδσ «íΩÑ¬Γ«ó:  αἬᠿ
  2526.       ñóá »α«¬απτ¿óáѼδσ  ó¡πΓαÑ¡¡¿σ  «Γ«íαáªáѼδσ «íΩѬΓá,  ¿¼ÑεΘ¿σ »«
  2527.       ñóÑ ßΓ᫬¿  »α«¬απΓ¬¿.  ÆÑ»Ñα∞ óδ ¼«ªÑΓÑ »α¿ßΓπ»¿Γ∞ ¬ «αúá¡¿ºáµ¿¿
  2528.       «¬¡á,  ¬«Γ«α«Ñ íπñÑΓ αÑ὿º«óδóáΓ∞ ß»Ñµ¿á½∞¡δÑ Σπ¡¬µ¿¿ »α¿¬½áñ¡«⌐
  2529.       »α«úαá¼¼δ.
  2530.  
  2531.            èᬿ¼ ªÑ «íαẫ¼ óδ ß¼«ªÑΓÑ φΓ«  ßñѽáΓ∞?  ÅαÑñ»«½«ª¿¼,  óá¼
  2532.       ΓαÑíπÑΓß∩  »αÑóαáΓ¿Γ∞  óáΦÑ  «¬¡«  ó »«½¡«µÑ¡¡δ⌐ αÑñá¬Γ«α ΓѬßΓá.
  2533.       Å«ß¬«½∞¬π «¬¡« ¿¼ÑÑΓ ñóá «Γ«íαáªáѼδσ «íΩѬΓá,  óδ  ¼«ªÑΓÑ  ¿¼ÑΓ∞
  2534.       ¿ß¬πΦÑ¡¿Ñ  »«¼ÑßΓ¿Γ∞ ¬á¬πε-½¿í« Σπ¡¬µ¿«¡á½∞¡πε ó«º¼«ª¡«ßΓ∞ αÑñá¬-
  2535.       Γ¿α«óá¡¿∩ ó úαπ»»π, á ºáΓѼ ßó∩ºáΓ∞ ÑÑ ß φΓ¿¼¿ ñóπ¼∩ «Γ«íαáªáѼδ-
  2536.       ¼¿ «íΩѬΓἿ.  éÑñ∞ «Γ«íαáªáѼδÑ «íΩѬΓδ ñ«½ª¡δ π»αáó½∩Γ∞ß∩ úαπ»-
  2537.       »á¼¿. Å«τѼπ íδ ¿σ ¡Ñ ¿ß»«½∞º«óáΓ∞ Γᬿ¼ «íαẫ¼?
  2538.  
  2539.            Æ.¬. úαπ»»á,  ¬á¬ ½εí«⌐ «Γ«íαáªáѼδ⌐ «íΩѬΓ,  ¿¼ÑÑΓ  ß»«ß«í-
  2540.       ¡«ßΓ∞ αáßΦ¿αÑ¡¿∩, ¿ óδ ¼«ªÑΓÑ αẼÑßΓ¿Γ∞ ó ¡Ñ⌐ ½εíπε Σπ¡¬µ¿«¡á½∞-
  2541.       ¡πε ó«º¼«ª¡«ßΓ∞,  óáΦ¿  »α¿¬½áñ¡δÑ »α«úαá¼¼δ,  ¿ß»«½∞ºπѼδÑ Turbo
  2542.       Vision,  íπñπΓ í«½ÑÑ ¡áñѪ¡δ¼¿ ¿ ú¿í¬¿¼¿,  Ñß½¿ óδ  íπñÑΓÑ  απ¬«-
  2543.       ó«ñßΓó«óáΓ∞ß∩  ß½ÑñπεΘ¿¼¿  »α¿¡µ¿»á¼¿:  ¬½áßßδ ñ«½ª¡δ íδΓ∞ ¼á¬ß¿-
  2544.       ¼á½∞¡« ¡Ñºáó¿ß¿¼δ¼¿; úαπ»»δ (ΓᬿѠ¬á¬ «¬¡á) ñ«½ª¡δ íδΓ∞ ºá¼¬¡πΓδ
  2545.       ¿ »« ó«º¼«ª¡«ßΓ¿ ¿ºíáó½Ñ¡δ «Γ ñ«»«½¡¿Γѽ∞¡δσ Σπ¡¬µ¿⌐.
  2546.  
  2547.       Turbo Vision ñ½∩ æ++         = 69 =
  2548.  
  2549.  
  2550.            Æᬿ¼ «íαẫ¼,  óδ ¼«ªÑΓÑ ß«ºñáΓ∞  ΓѬßΓ«óδ⌐  αÑñá¬Γ«α,  »«-
  2551.       ¼ÑßΓ¿ó óßÑ Ñú« Σπ¡¬µ¿«¡á½∞¡δѠ󫺼«ª¡«ßΓ¿ ó« ó¡πΓαÑ¡¡¿⌐ «Γ«íαáªá-
  2552.       Ñ¼δ⌐ «íΩѬΓ:  ß«ºñá⌐ΓÑ  ¡«óδ⌐   «Γ«íαáªáѼδ⌐   «íΩÑ¬Γ   -   ¬½áßß
  2553.       TextEditor. ÄΓ«íαáªáѼδÑ  «íΩѬΓδ ¼«ª¡« ó¡«ó∞ ½Ñú¬« ¿ß»«½∞º«óáΓ∞,
  2554.       Ñß½¿ óδ ¿σ »αáó¿½∞¡« αáºαáí«Γ὿, á »ÑαѼÑΘÑ¡¿Ñ óáΦÑú« ΓѬßΓ«ó«ú«
  2555.       αÑñá¬Γ«αá ó ñαπúπε ßαÑñπ íπñÑΓ ñ«ó«½∞¡« ß½«ª¡δ¼, Ñß½¿ Ñú« Σπ¡¬µ¿-
  2556.       «¡á½∞¡δѠ󫺼«ª¡«ßΓ¿ ó «í½áßΓ¿ αÑñá¬Γ¿α«óá¡¿∩ í뫨 »«ñÑ½Ñ¡δ ¼Ñªñπ
  2557.       úαπ»»«⌐ ¿ ¬á¬¿¼-½¿í« «Γ«íαáªáÑ¼δ¼ «íΩÑ¬Γ«¼.
  2558.  
  2559.  
  2560.  
  2561.  
  2562.       Turbo Vision ñ½∩ æ++         = 70 =
  2563.  
  2564.                                          æ«ºñá¡¿Ñ »á¡Ñ½¿ ñ¿á½«úá
  2565.       -----------------------------------------------------------------
  2566.  
  2567.            ä¿á½«ú«ó«Ñ «¬¡« (»á¡Ñ½∞ ñ¿á½«úá) - φΓ« ß»Ñµ¿á½∞¡δ⌐ Γ¿» «¬¡á.
  2568.       é ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿,  ¬½áßß TDialog ∩ó½∩ÑΓß∩ »«α«ªñÑ¡¡δ¼ ¿º ¬½áßßá
  2569.       TWindow, ¿ σ«Γ∩ Ñú« ¼«ª¡« αáßß¼áΓα¿óáΓ∞ ¬á¬ »α«ßΓ« ÑΘÑ «ñ¡« «¬¡«,
  2570.       «íδτ¡« φΓ« ¡Ñ ß«óßѼ Γá¬.
  2571.  
  2572.       Åα¿¼Ñτá¡¿Ñ: êß»«½∞ºπѼδÑ ¬½áßßδ:  TWiew,  TGrouα, TDialog, TClus-
  2573.                   ter, TCheckBoxes, TRadioButtons, TLabel, TInαutLine.
  2574.  
  2575.            Åα¿ αáºαáí«Γ¬Ñ  óáΦÑ⌐  ñѼ«¡ßΓαᵿ«¡¡«⌐  »α«úαá¼¼δ óδ ñ«½ª¡δ
  2576.       ñ«íáó¿Γ∞ ó ¡ÑÑ ¡«óδ⌐ »π¡¬Γ ¼Ñ¡ε,  ¬«Γ«αδ⌐ »«ßδ½áÑΓ ¬«¼á¡ñπ «Γ¬αδ-
  2577.       Γ¿∩ »á¡Ñ½¿ ñ¿á½«úá,  ñ«íáó¿ΓÑ ¼ÑΓ«ñ »« «íαáí«Γ¬Ñ φΓ«⌐ ¬«¼á¡ñδ,  á
  2578.       ΓᬪѠñ«íáó¿ΓÑ ßΓ᫬π ó ¼ÑΓ«ñ handleEvent,  τΓ«íδ ßó∩ºáΓ∞ φΓ𠬫-
  2579.       ¼á¡ñπ ß ß««ΓóÑΓßΓóπεΘ¿¼ ñÑ⌐ßΓó¿Ñ¼.
  2580.  
  2581.            æ½ÑñπÑΓ «Γ¼ÑΓ¿Γ∞,  τΓ« óá¼ ¡Ñ  »«ΓαÑíπÑΓß∩  »«α«ªñáΓ∞  ¡«óδ⌐
  2582.       ¬½áßß ¿º ¬½áßßá TDialog,  ¬á¬ φΓ« í佫 ó ß½πτáÑ ß ¬½áßß«¼ TWindow
  2583.       (τΓ«íδ »«½πτ¿Γ∞ ¬½áßß TDemoWindow).  é¼ÑßΓ« ß«ºñá¡¿∩ ß»Ñµ¿á½∞¡«ú«
  2584.       ¬½áßßá »á¡Ñ½¿ ñ¿á½«úá,  »α¿ñá⌐ΓÑ ßó«Ñ⌐ »α«úαἼѠ»«í«½∞ΦÑ  ¿¡Γѽ-
  2585.       ½Ñ¬Γá: ó¼ÑßΓ«  Γ«ú«,  τΓ«íδ ß«ºñáóáΓ∞ ¡«óδ⌐ ¬½áßß »á¡Ñ½¿ ñ¿á½«úá,
  2586.       ¬«Γ«αδ⌐ º¡áÑΓ, τΓ« «Γ ¡Ñú« ΓαÑíπÑΓß∩, ß«ºñá⌐ΓÑ ßΓá¡ñáαΓ¡«Ñ ñ¿á½«-
  2587.       ú«ó«Ñ «¬¡« ¿ ß««íΘ¿ΓѠѼπ, τΓ« «Γ ¡Ñú« ΓαÑíπÑΓß∩.
  2588.  
  2589.            éá¼ óα∩ñ  ½¿  »«ΓαÑíπÑΓß∩  ß«ºñáóáΓ∞  ¬½áßß,  »«α«ªñÑ¡¡δ¼ «Γ
  2590.       ¬½áßßá TDialog, Γ.¬. Ññ¿¡ßΓóÑ¡¡«Ñ αẽ¿τ¿Ñ ¼Ñªñπ ½εí묨 ñóπ¼∩ «¬-
  2591.       ¡á¼¿ ñ¿á½«úá,  ß«ßΓ«¿Γ ó ¿σ ß«ñÑন¼«¼, á ¡Ñ ó Γ«¼, ¬á¬ «¡¿ Σπ¡¬-
  2592.       µ¿«¡¿απεΓ.
  2593.  
  2594.       // ¬«¡ßΓá¡Γá ñ½∩ ¡«ó«ú« »π¡¬Γᠼѡε
  2595.       const int cmNewDialog  = 202;
  2596.  
  2597.       TMenuBar *TMyApp::initMenuBar( TRect r )
  2598.       {
  2599.         r.b.y = r.a.y + 1;
  2600.       // πßΓá¡«ó¿¼ ¡¿ª¡εε ½¿¡¿ε ¡á 1 ¡¿ªÑ óÑασ¡Ñ⌐
  2601.         return new TMenuBar( r,
  2602.           *new TSubMenu( "~F~ile", kbAltF )+
  2603.             *new TMenuItem( "~O~αen", cmMyFileOαen, kbF3,
  2604.                                                    hcNoContext, "F3" )+
  2605.             *new TMenuItem( "~N~ew",  cmMyNewWin,   kbF4,
  2606.                                                    hcNoContext, "F4" )+
  2607.             newLine()+
  2608.             *new TMenuItem( "E~x~it", cmQuit, cmQuit, hcNoContext,
  2609.                                                    "Alt-X" )+
  2610.           *new TSubMenu( "~W~indow", kbAltW )+
  2611.             *new TMenuItem( "~N~ext", cmNext,     kbF6, hcNoContext,
  2612.                                                    "F6" )+
  2613.             *new TMenuItem( "~Z~oom", cmZoom,     kbF5, hcNoContext,
  2614.                                                    "F5" )+
  2615.             *new TMenuItem( "~D~ialog", cmNewDialog, kbF2, hcNoContext,
  2616.                                                    "F2" )
  2617.  
  2618.       Turbo Vision ñ½∩ æ++         = 71 =
  2619.  
  2620.             // ºñÑß∞ ¼δ ñ«íáó¿¼ ¡«óδ⌐ »π¡¬Γ ¼Ñ¡ε
  2621.           );
  2622.       }
  2623.  
  2624.       // îÑΓ«ñ newDialog ñ½∩ ¬½áßßá TMyApp
  2625.  
  2626.       void TMyApp::newDialog()
  2627.       {
  2628.           TRect r( 0, 0, 40, 13 );
  2629.           r.move( random(39), random(10) );
  2630.           deskToα->insert( new TDialog( r, "Demo Dialog" ));
  2631.       }
  2632.  
  2633.       // êº¼Ñ¡¿¼ Σπ¡¬µ¿ε handleEvent, τΓ«íδ «¡á ¼«ú½á αÑáú¿α«óáΓ∞ ¡á
  2634.       // ¬«¼á¡ñπ cmNewDialog
  2635.  
  2636.       void TMyApp::handleEvent(TEvent& event)
  2637.       {
  2638.         TApplication::handleEvent(event);
  2639.         if( event.what == evCommand )
  2640.           {
  2641.           switch( event.message.command )
  2642.             {
  2643.             case cmMyNewWin:
  2644.                 newWindow();
  2645.                 break;
  2646.             case cmNewDialog:
  2647.                 newDialog();
  2648.                 break;
  2649.             default:
  2650.                 return;
  2651.             }
  2652.           clearEvent( event );    // «τ¿ßΓ¿Γ∞ «τÑαÑñ∞ »«ß½Ñ «íαáí«Γ¬¿
  2653.           }                       // ß«íδΓ¿∩
  2654.       }
  2655.  
  2656.       Åα¿¼Ñτá¡¿Ñ: φΓ« Σαáú¼Ñ¡Γ »α«úαá¼¼ TVGUID11.CPP.
  2657.  
  2658.                      ╔═ [■]═══ Demo Dialog Box ═════╗
  2659.                      ║                              ║
  2660.                      ║                              ║
  2661.                      ║                              ║
  2662.                      ║                              ║
  2663.                      ║                              ║
  2664.                      ║                              ║
  2665.                      ║                              ║
  2666.                      ╚══════════════════════════════╝
  2667.  
  2668.                    É¿ßπ¡«¬ 2.7. Åα«ßΓá∩ »á¡Ñ½∞ ñ¿á½«úá.
  2669.  
  2670.            îѪñπ φΓ«⌐ »á¡Ñ½∞ε ñ¿á½«úá ¿ óáΦ¿¼¿ í«½ÑÑ αá¡¡¿¼¿ «¬¡á¼¿ ßπ-
  2671.       ΘÑßΓóπÑΓ ¼á½« «Γ½¿τ¿⌐, ºá ¿ß¬½ετÑ¡¿Ñ¼ ß½ÑñπεΘ¿σ:
  2672.  
  2673.  
  2674.       Turbo Vision ñ½∩ æ++         = 72 =
  2675.  
  2676.         -  µóÑΓ «¬¡á »« π¼«½τá¡¿ε ßÑαδ⌐, á ¡Ñ ú«½πí«⌐.
  2677.  
  2678.         -  αẼÑαδ »á¡Ñ½¿ ñ¿á½«úá ¿º¼Ñ¡∩Γ∞ ¡Ñ½∞º∩.
  2679.  
  2680.         -  »á¡Ñ½∞ ñ¿á½«úá ¡Ñ ¿¼ÑÑΓ ¡«¼Ñαá «¬¡á.
  2681.  
  2682.            ç¡á⌐ΓÑ, τΓ« óδ ¼«ªÑΓÑ, ß »«¼«Θ∞ε "¼δΦ¿", ºá¬αδΓ∞ »á¡Ñ½∞ ñ¿á-
  2683.       ½«úá ½¿í«  ¡áªáΓ¿Ñ¼  ¡á ¬¡«»¬π ºá¬αδΓ¿∩ ¡á »á¡Ñ½¿,  ¿½¿ ¡á «íΩѬΓ
  2684.       ßΓ᫬¿ ß«ßΓ«∩¡¿∩ Alt-F3,  ½¿í« "«íδτ¡δ¼" ¡áªáΓ¿Ñ¼ ¡á ¬½áó¿Φπ Esc.
  2685.       è½áó¿Φá Esc ºá¬αδóáÑΓ »á¡Ñ½∞ ñ¿á½«úá »« π¼«½τá¡¿ε.
  2686.  
  2687.            îδ »α¿óѽ¿  ºñÑß∞ »α¿¼Ñα ¡Ñ¼«ñá½∞¡«⌐ (¿½¿ "íѺαѪ¿¼¡«⌐") »á-
  2688.       ¡Ñ½¿ ñ¿á½«úá.  Äíδτ¡« »á¡Ñ½¿ ñ¿á½«úá ∩ó½∩εΓß∩ ¼«ñá½∞¡δ¼¿, τΓ« «º-
  2689.       ¡áτáÑΓ,  τΓ«  «¡¿  «»αÑñѽ∩εΓ αѪ¿¼ óδ»«½¡Ñ¡¿∩ «»Ñαᵿ¿.  Äíδτ¡«,
  2690.       ¬«úñá óδ «Γ¬αδóáÑΓÑ »á¡Ñ½∞ ñ¿á½«úá, «¡á ∩ó½∩ÑΓß∩ Ññ¿¡ßΓóÑ¡¡δ¼ á¬-
  2691.       Γ¿ó¡δ¼ «íΩÑ¬Γ«¼: τΓ« ¿ «º¡áτáÑΓ »«¡∩Γ¿Ñ "¼«ñá½∞¡«ú« «Γ«íαáªáѼ«ú«
  2692.       «íΩѬΓá". Å«¬á óδ íπñÑΓÑ ¡áσ«ñ¿Γ∞ß∩ ó αѪ¿¼Ñ »á¡Ñ½¿ ñ¿á½«úá,  ¡¿-
  2693.       ¬á¬¿Ñ  ó«ºñÑ⌐ßΓó¿∩  ¡á ñαπú¿Ñ «¬¡á ¿½¿ ¼Ñ¡ε ¡Ñ ñáñπΓ ¡¿¬á¬«ú« φΣ-
  2694.       ΣѬΓá. ÄΓñѽ∞¡δÑ ß½πτá¿ »« ¿ß»«½∞º«óá¡¿ε ¡Ñ¼«ñá½∞¡δσ »á¡Ñ½Ñ⌐ ñ¿á-
  2695.       ½«úá  ¼«úπΓ  ¿¼ÑΓ∞  ¼ÑßΓ«,  ¡«  ó »«ñáó½∩εΘѼ í«½∞Φ¿¡ßΓóÑ ß½πτáÑó
  2696.       »αÑñ»«τΓ¿Γѽ∞¡ÑÑ ¿ß»«½∞º«óáΓ∞ ¼«ñá½∞¡δÑ »á¡Ñ½¿ ñ¿á½«úá.
  2697.  
  2698.       Åα¿¼Ñτá¡¿Ñ: î«ñá½∞¡δÑ «Γ«íαáªáѼδÑ «íΩѬΓδ αáßß¼áΓα¿óáεΓß∩ ó ú½á-
  2699.                   óÑ 4.
  2700.  
  2701.                                   Éáí«Γá ¼«ñá½∞¡«⌐ »á¡Ñ½¿ ñ¿á½«úá
  2702.       -----------------------------------------------------------------
  2703.  
  2704.            èᬠßñѽáΓ∞ »á¡Ñ½∞  ñ¿á½«úá  ¼«ñá½∞¡«⌐?  ¥Γ«  «τÑ¡∞  »α«ßΓ«.
  2705.       é¼ÑßΓ« Γ«ú«,  τΓ«íδ »«¼ÑßΓ¿Γ∞ ¬½áßß »á¡Ñ½¿ ñ¿á½«úá ó αáí«τπε  «í-
  2706.       ½áßΓ∞, ºá»πßΓ¿ΓÑ  «íΩÑ¬Γ  ¡á  óδ»«½¡Ñ¡¿Ñ  ß »«¼«Θ∞ε ó맮óá ¼ÑΓ«ñá
  2707.       deskToα->execView:
  2708.  
  2709.       // «Γ½¿τ¿Ñ «Γ tvguid11: ΓÑ»Ñα∞ óδºδóáÑΓß∩ execView
  2710.       void TMyApp::newDialog()
  2711.       {
  2712.           TRect r( 0, 0, 40, 13 );
  2713.           r.move( random(39), random(10) );
  2714.           deskToα->execView( new TDialog( r, "Demo Dialog" ));
  2715.       }
  2716.  
  2717.       Åα¿¼Ñτá¡¿Ñ: φΓ« Σαáú¼Ñ¡Γ »α«úαá¼¼δ TVGUID12.CPP.
  2718.  
  2719.            è½áßß TDialog "º¡áÑΓ", ¬á¬ αÑáú¿α«óáΓ∞ ¡á ß«íδΓ¿Ñ, ßó∩ºá¡¡«Ñ
  2720.       ß  ¡áªáΓ¿Ñ¼  ¬½áó¿Φ¿  Esc  (¬«Γ«α«Ñ  «¡  »αÑ«íαáºπÑΓ  ó   ¬«¼á¡ñπ
  2721.       cmCancel) ¿ ¡á ß«íδΓ¿Ñ, ßó∩ºá¡¡«Ñ ß ¡áªáΓ¿Ñ¼ ¬½áó¿Φ¿ Enter (¬«Γ«-
  2722.       α«Ñ íπñÑΓ «íαáíáΓδóáΓ∞ß∩ φ¬ºÑ¼»½∩α«¼ ¬½áßßá TButton,  ∩ó½∩εΘÑú«ß∩
  2723.       óδíαá¡¡δ¼ »« π¼«½τá¡¿ε ó »á¡Ñ½¿  ñ¿á½«úá).  é  «ΓóÑΓ  ¡á  ¬«¼á¡ñπ
  2724.       cmCancel »á¡Ñ½∞ ñ¿á½«úá óßÑúñá ºá¬αδóáÑΓß∩.
  2725.  
  2726.            ÄíαáΘÑ¡¿Ñ ¬ ¼ÑΓ«ñπ execView »«¼ÑΘáÑΓ »á¡Ñ½∞ ñ¿á½«úá ó úαπ»»π
  2727.       ¿ ñѽáÑΓ Ñú« ¼«ñá½∞¡δ¼.  ô»αáó½Ñ¡¿Ñ «ßΓáÑΓß∩ ó execView ñ« ºá¬αδ-
  2728.  
  2729.       Turbo Vision ñ½∩ æ++         = 73 =
  2730.  
  2731.       Γ¿∩ ¿½¿  ºá¬αδΓ¿∩  »á¡Ñ½¿ ñ¿á½«úá.  çáΓѼ execView πñá½∩ÑΓ »á¡Ñ½∞
  2732.       ñ¿á½«úá ¿º úαπ»»δ ¿ »αѬαáΘáÑΓ ßó«ε αáí«Γπ. é ñá¡¡δ⌐ ¼«¼Ñ¡Γ óδ ¡Ñ
  2733.       ñ«½ª¡δ   «íαáΘáΓ∞  ó¡¿¼á¡¿Ñ  ¡á  º¡áτÑ¡¿Ñ,  ó«ºóαáΘáѼ«Ñ  ¼ÑΓ«ñ«¼
  2734.       execView ¿ ß«σαá¡∩Ѽ«Ñ ó control.  éδ πó¿ñ¿ΓÑ,  ¬á¬  ¿ß»«½∞º«óáΓ∞
  2735.       φΓ« º¡áτÑ¡¿Ñ ó »α¿¼ÑαÑ TVGUID16.
  2736.  
  2737.                               ÉÑ὿ºáµ¿∩ π»αáó½Ñ¡¿∩ ó »á¡Ñ½¿ ñ¿á½«úá
  2738.  
  2739.            ÅπßΓá∩ »á¡Ñ½∞ ñ¿á½«úá, ÑßΓÑßΓóÑ¡¡«, ¡Ñ »αÑñßΓáó½∩ÑΓ í«½∞Φ«ú«
  2740.       ¿¡ΓÑαÑßá. é ¡ÑÑ ΓαÑíπÑΓß∩ ó½«ª¿Γ∞ π»αáó½∩εΘ¿Ñ «íΩѬΓδ.  ô»αáó½∩ε-
  2741.       Θ¿Ñ «íΩѬΓδ - φΓ« αẽ¿τ¡δÑ φ½Ñ¼Ñ¡Γδ ó¡πΓα¿ »á¡Ñ½¿ ñ¿á½«úá, ¬«Γ«-
  2742.       αδÑ »«ºó«½∩εΓ óá¼ ¼á¡¿»π½¿α«óáΓ∞ ¿¡Σ«α¼áµ¿Ñ⌐.  é᪡« »«¼¡¿Γ∞, τΓ«
  2743.       ñÑ⌐ßΓó¿Ñ π»αáó½∩εΘ¿σ «íΩÑ¬Γ«ó αáß»α«ßΓαá¡∩ÑΓß∩  ½¿Φ∞  ¡á  «íΩѬΓδ
  2744.       ó¡πΓα¿ »á¡Ñ½¿ ñ¿á½«úá.
  2745.  
  2746.            àñ¿¡ßΓóÑ¡¡δ¼ ¿ß¬½ετÑ¡¿Ñ¼  ¿º φΓ«ú« »αáó¿½á ∩ó½∩ÑΓß∩ ¬¡«»¬á ó
  2747.       íѺαѪ¿¼¡«⌐ »á¡Ñ½¿ ñ¿á½«úá.  Æ.¬. ¬¡«»¬¿ »«ßδ½áεΓ ¬«¼á¡ñδ, Γ« φΓ¿
  2748.       ¬«¼á¡ñδ íπñπΓ »ÑαÑñáóáΓ∞ß∩ ΓѬπΘÑ¼π ¼«ñá½∞¡«¼π «Γ«íαáªáѼ«¼π «íΩ-
  2749.       Ñ¬Γπ. àß½¿ ªÑ »á¡Ñ½∞ ñ¿á½«úá ¡Ñ ∩ó½∩ÑΓß∩  ¼«ñá½∞¡δ¼  «Γ«íαáªáѼδ¼
  2750.       «íΩÑ¬Γ«¼, Γ« φΓ¿ ¬«¼á¡ñδ íπñπΓ »ÑαÑñáóáΓ∞ß∩ ºá »αÑñѽδ ñá¡¡«⌐ »á-
  2751.       ¡Ñ½¿ ñ¿á½«úá, τΓ« ¼«ªÑΓ ¿¼ÑΓ∞ ¡Ñ»αÑñó¿ñÑ¡¡δÑ »«ß½ÑñßΓó¿∩.
  2752.  
  2753.       Åα¿¼Ñτá¡¿Ñ: «íαáí«Γ¬á ¬«¼á¡ñ ¿º½«ªÑ¡á »«ñα«í¡ÑÑ ó ú½áóÑ 5.
  2754.  
  2755.            é µÑ½«¼,  »α¿ ºáñá¡¿¿ π»αáó½∩εΘ¿σ «íΩÑ¬Γ«ó ó »á¡Ñ½¿  ñ¿á½«úá
  2756.       óδ ¼«ªÑΓÑ «Γñѽ¿Γ∞ ó¿ºπá½∞¡«Ñ »αÑñßΓáó½Ñ¡¿Ñ ñá¡¡δσ «Γ ¿σ «íαáí«Γ-
  2757.       ¬¿. ¥Γ« «º¡áτáÑΓ, τΓ« óδ ½Ñú¬« ¼«ªÑΓÑ ß«ºñáΓ∞ µÑ½πε »á¡Ñ½∞ ñ¿á½«-
  2758.       úá íѺ   ¡Ñ«íσ«ñ¿¼«ßΓ¿   ß«ºñá¡¿∩  Σαáú¼Ñ¡Γá  »α«úαá¼¼δ,  ¬«Γ«αδ⌐
  2759.       ¿ß»«½∞ºπÑΓ φΓ¿ ñá¡¡δÑ Γ«τ¡« ΓᬪÑ,  ¬á¬ óδ ¿¼Ñ½¿ ó«º¼«ª¡«ßΓ∞ ß«º-
  2760.       ñáóáΓ∞ ¼Ñ¡ε ¿ ßΓ᫬¿ ß«ßΓ«∩¡¿∩ íѺ ¡Ñ«íσ«ñ¿¼«ßΓ¿ αáºαáí«Γ¬¿ »α«ú-
  2761.       αá¼¼δ, αÑáú¿απεΘÑ⌐ ¡á »«ßδ½áѼδÑ ¿¼¿ ¬«¼á¡ñδ.
  2762.  
  2763.                                              è¡«»¬á, ¬¡«»¬á...
  2764.  
  2765.            Äñ¡¿¼ ¿º   »α«ßΓÑ⌐Φ¿σ   ¬½áßß«ó  π»αáó½Ñ¡¿∩  ∩ó½∩ÑΓß∩  ¬½áßß
  2766.       TButton. Ä¡ Σπ¡¬µ¿«¡¿απÑΓ »«ñ«í¡« φ½Ñ¼Ñ¡Γπ ßΓ᫬¿ ß«ßΓ«∩¡¿∩:  φΓ«
  2767.       µóÑΓ¡á∩ «í½áßΓ∞  «¬¡á  ß »«¼ÑΘÑ¡¡δ¼ ¡á ¡Ñ⌐ ΓѬßΓ«óδ¼ ¿¼Ñ¡Ñ¼,  »α¿
  2768.       "¡áªáΓ¿¿" ¡á  ¬«Γ«απε  »«ßδ½áÑΓß∩  «»αÑñѽѡ¡á∩  ¬«¼á¡ñá.  Å«ºáñ¿
  2769.       ¬¡«»¬¿ ¡áα¿ß«óá¡á ÑÑ "ΓÑ¡∞", í½áú«ñáα∩ τѼπ »α¿ ¡áªáΓ¿¿ ¡á ¬¡«»¬¿
  2770.       »«½πτáÑΓß∩ φΣΣÑ¬Γ ¿σ ΓαÑσ¼Ñα¡«ú« »ÑαѼÑΘÑ¡¿∩.
  2771.  
  2772.            ü«½∞Φ¿¡ßΓó« »á¡Ñ½Ñ⌐ ñ¿á½«úá ¿¼ÑεΓ »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ  «ñ¡π  ¿½¿
  2773.       ñóÑ ¬¡«»¬¿.  ìá¿í«½ÑÑ αáß»α«ßΓαá¡Ñ¡¡δ¼¿ ∩ó½∩εΓß∩ ¬¡«»¬¿ "OK" (τΓ«
  2774.       º¡áτ¿Γ: "ƒ óßÑ ßñѽá½á.  éδ ¼«ªÑΓÑ ºá¬αδΓ∞ »á¡Ñ½∞ ñ¿á½«úá ¿ »«½π-
  2775.       τ¿Γ∞ αѺπ½∞ΓáΓδ")  ¿ "Cancel" («Γ¼Ñ¡á) (τΓ« º¡áτ¿Γ:  "ƒ σ«τπ ºá¬-
  2776.       αδΓ∞ »á¡Ñ½∞ ñ¿á½«úá ¿ »α«¿ú¡«α¿α«óáΓ∞ óßÑ ßñѽᡡδÑ ó ¡Ñ¼ ¿º¼Ñ¡Ñ-
  2777.       ¡¿∩").  è¡«»¬á  "Cancel"  «íδτ¡« »«ßδ½áÑΓ Γπ ªÑ ¬«¼á¡ñπ cmCancel,
  2778.       τΓ« ¿ ¬¡«»¬á ºá¬αδΓ¿∩ ¡á »á¡Ñ½¿ ñ¿á½«úá.
  2779.  
  2780.            æπΘÑßΓóπÑΓ »∩Γ∞ ßΓá¡ñáαΓ¡δσ ñ¿á½«ú«óδ󠬫¼á¡ñ, ¬«Γ«αδÑ ¼«úπΓ
  2781.       íδΓ∞ »α¿ó∩ºá¡δ ¬ ¬½áßßπ TButton:  cmOK,  cmCancel,  cmYes, cmNo ¿
  2782.  
  2783.       Turbo Vision ñ½∩ æ++         = 74 =
  2784.  
  2785.       cmDefault. ÅÑαóδÑ τÑΓδαÑ ¬«¼á¡ñδ ΓᬪѠºá¬αδóáεΓ »á¡Ñ½¿  ñ¿á½«úá,
  2786.       «íαáΘá∩ß∞ ñ½∩  φΓ«ú«  ¬  ¼ÑΓ«ñπ EndModal ¬½áßßá TDialog,  ¬«Γ«αδ⌐
  2787.       ó«ßßΓá¡áó½¿óáÑΓ »αÑñδñπΘ¿⌐ ¼«ñá½∞¡δ⌐ «Γ«íαáªáѼδ⌐  «íΩÑ¬Γ  ó  ¼«-
  2788.       ñá½∞¡«Ñ ß«ßΓ«∩¡¿Ñ.
  2789.  
  2790.            éδ ¼«ªÑΓÑ ΓᬪѠ¿ß»«½∞º«óáΓ∞ ¬¡«»¬¿ ñ½∩ »«ß佬¿ ¬«¼á¡ñ, ß»Ñ-
  2791.       µ¿Σ¿τ¡δσ ñ½∩ óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
  2792.  
  2793.       // «Γ½¿τ¿∩ «Γ tvguid12: ñ«íáó½Ñ¡δ ¬¡«»¬¿
  2794.       void TMyApp::newDialog()
  2795.       {
  2796.         TDialog *αd = new TDialog(TRect(20, 6, 60, 19), "Demo Dialog");
  2797.         if( αd )
  2798.           {
  2799.           αd->insert( new TButton( TRect( 15, 10, 25, 12 ),"~O~K",cmOK,
  2800.                       bfDefault ));
  2801.           αd->insert( new TButton( TRect( 28, 10, 38, 12 ), "~C~ancel",
  2802.                       cmCancel, bfNormal ));
  2803.           deskToα->execView( αd );
  2804.           }
  2805.         destroy( αd );
  2806.       }
  2807.  
  2808.  
  2809.       Åα¿¼Ñτá¡¿Ñ: φΓ« »α¿¼Ñα, ¡áσ«ñ∩Θ¿⌐ß∩ ó Σá⌐½Ñ TVGUID13.CPP.
  2810.  
  2811.            Åα¿ ß«ºñá¡¿¿ ¬¡«»¬¿ ó ¬«¡ßΓαπ¬Γ«α ΓαÑíπÑΓß∩ »ÑαÑñáΓ∞  τÑΓδαÑ
  2812.       áαúπ¼Ñ¡Γá:
  2813.  
  2814.            1. Äí½áßΓ∞, ¬«Γ«απε íπñÑΓ ºá¡¿¼áΓ∞ ¬¡«»¬á (¡Ñ ºáíπñ∞ΓÑ
  2815.               «ßΓáó¿Γ∞ ¼ÑßΓ« ñ½∩ ΓÑ¡¿!)
  2816.  
  2817.            2. ÆѬßΓ, ¬«Γ«αδ⌐ »«∩ó¿Γß∩ ¡á ¬¡«»¬Ñ.
  2818.  
  2819.            3. è«¼á¡ñá, ¬«Γ«αá∩ íπñÑΓ »α¿ó∩ºá¡á ¬ ¬¡«»¬Ñ.
  2820.  
  2821.            4. ö½áú,  π¬áºδóáεΘ¿⌐ Γ¿» ¬¡«»¬¿ («íδτ¡δ⌐ ¿½¿ »« π¼«½τá¡¿ε),
  2822.               á ¡Ñ «íδτ¡δ⌐ «»ÑαáΓ«α ∩ºδ¬ æ++.
  2823.  
  2824.  
  2825.            Å«ß½Ñ Γ«ú«, ¬á¬ »«½∞º«óáΓѽ∞ ºá¬α«ÑΓ ¿½¿ «Γ¼Ñ¡¿Γ »á¡Ñ½∞ ñ¿á-
  2826.       ½«úá, π»αáó½Ñ¡¿Ñ  »α«úαá¼¼«⌐  óÑα¡ÑΓß∩ ¿º ExecView,  á ßá¼ «íΩѬΓ
  2827.       "»á¡Ñ½∞ ñ¿á½«úá"  íπñÑΓ  π¡¿τΓ«ªÑ¡.  Å«ñτÑα¬¡Ñ¼,  τΓ«  ñ½∩  φΓ«ú«
  2828.       ¿ß»«½∞ºπÑΓß∩  ¼ÑΓ«ñ  destoy,  á  ¡Ñ  «íδτ¡δ⌐  «»ÑαáΓ«α  ∩ºδ¬á æ++
  2829.       delete,  ¬á¬ óδ ¼«ú½¿ íδ »αÑñ»«½«ª¿Γ∞, »«ßΓα«¿ó «íΩÑ¬Γ »α¿ »«¼«Θ¿
  2830.       «»ÑαáΓ«αá  new.  éßÑ «íΩѬΓδ,  »«α«ªñÑ¡¡δÑ «Γ TObject ¿ ß«ºñá¡¡δÑ
  2831.       »α¿ »«¼«Θ¿ «»ÑαáΓ«αá new,  ñ«½ª¡δ πñá½∩Γ∞ß∩ »α¿ »«¼«Θ¿  π¡áß½Ññ«-
  2832.       óá¡¡«ú«  ¼ÑΓ«ñá  destroy  ¬½áßßá Tobject.  ÆᬠªÑ,  ¬á¬ ¿ delete,
  2833.       destroy ΓαÑíπÑΓ ó ¬áτÑßΓóÑ »áαá¼ÑΓαá «ñ¿¡ áαúπ¼Ñ¡Γ - π¬áºáΓѽ∞ ¡á
  2834.       «íΩѬΓ.  àß½¿ óá¼ ¿¡ΓÑαÑß¡«,  ºáτѼ ¿ »«τѼπ,  Γ« í«½ÑÑ »«ñα«í¡πε
  2835.       ¿¡Σ«α¼áµ¿ε «í π»αáó½Ñ¡¿¿ »á¼∩Γ∞ε ó Turbo Vision óδ ¡á⌐ñÑΓÑ ó ú½á-
  2836.       óÑ  6,  á  ΓᬪѠó ú½áóÑ 13 (ß¼.  ¿¡Σ«α¼áµ¿ε « ¬½áßßáσ TVMemMgr ¿
  2837.       TObject). ìá ¡áßΓ«∩ΘѼ φΓá»Ñ ó᪡« º¡áΓ∞ ½¿Φ∞,  τΓ« destroy ºáí«-
  2838.  
  2839.       Turbo Vision ñ½∩ æ++         = 75 =
  2840.  
  2841.       Γ¿Γß∩  «í« óßѼ ñѽ¿¬áΓ¡«¼ ó¡πΓαÑ¡¡Ñ¼ σ«º∩⌐ßΓóÑ,  ¡Ñ«íσ«ñ¿¼«¼ ñ½∩
  2842.       π¡¿τΓ«ªÑ¡¿∩ «íΩÑ¬Γ«ó,  »«α«ªñÑ¡¡δσ «Γ TObject,  ¿ ß½Ññ¿Γ ºá  ΓѼ,
  2843.       τΓ«íδ ß«ßΓ«∩¡¿Ñ  óßÑσ «íΩÑ¬Γ«ó,  α«ñßΓóÑ¡¡δσ  ¬ Γ«¼π,  ¬«Γ«αδ⌐ óδ
  2844.       σ«Γ¿ΓÑ π¡¿τΓ«ª¿Γ∞, í佫 íδ ¡πª¡δ¼ «íαẫ¼ ¿º¼Ñ¡Ñ¡«.
  2845.  
  2846.                    ╔═[■]═══════ Demo Dialog Box ═════════╗
  2847.                    ║                                     ║
  2848.                    ║                                     ║
  2849.                    ║                                     ║
  2850.                    ║                                     ║
  2851.                    ║                                     ║
  2852.                    ║                                     ║
  2853.                    ║                                     ║
  2854.                    ║                 OK   ▄     Cancel ▄ ║
  2855.                    ║               ▀▀▀▀▀▀▀▀     ▀▀▀▀▀▀▀▀ ║
  2856.                    ╚═════════════════════════════════════╝
  2857.  
  2858.                    É¿ßπ¡«¬ 2.8. Ä¬¡« ñ¿á½«úá ß ¬¡«»¬á¼¿.
  2859.  
  2860.            ÄíαáΓ¿ΓѠ󡿼᡿Ñ,  τΓ« ó π»αáó½∩εΘѼ ß½«óÑ  "Cancel"  íπ¬óá
  2861.       "C" ¡Ñ  óδñѽѡá,  Γ.¬.  πªÑ ßπΘÑßΓóπÑΓ π»αáó½∩εΘá∩ ¬½áó¿Φá (Esc)
  2862.       ñ½∩ «Γ¼Ñ¡δ »á¡Ñ½¿ ñ¿á½«úá. é αѺπ½∞ΓáΓÑ, "C" ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«-
  2863.       óá¡á ó ¬áτÑßΓóÑ ß«¬αáΘÑ¡¿∩ ñ½∩ ñαπú«ú« π»αáó½∩Ѽ«ú« «íΩѬΓá.
  2864.  
  2865.  
  2866.            Äíδτ¡δÑ ¬¡«»¬¿ ¿ ¬¡«»¬¿, αáí«ΓáεΘ¿Ñ »« π¼«½τá¡¿ε
  2867.  
  2868.            Åα¿ ß«ºñá¡¿¿ ¬¡«»¬¿,  Ñ⌐ ßΓáó¿Γß∩ ó ß««ΓóÑΓßΓó¿Ñ Σ½áú - ½¿í«
  2869.       bfNormal, ½¿í«  bfDefault.  ü«½∞Φ¿¡ßΓó«  ¬¡«»«¬  íπñÑΓ ¿¼ÑΓ∞ Σ½áú
  2870.       bfNormal. è¡«»¬á ªÑ ß Σ½áú«¼ bfDefault  íπñÑΓ  ∩ó½∩Γ∞ß∩  ¬¡«»¬«⌐,
  2871.       αáí«ΓáεΘÑ⌐ »«  π¼«½τá¡¿ε.  ¥Γ« «º¡áτáÑΓ,  τΓ« ñá¡¡á∩ ¬¡«»¬á íπñÑΓ
  2872.       »ÑαÑó«ñ¿Γ∞ß∩ ó ß«ßΓ«∩¡¿Ñ  "¡áªáΓ«"  »α¿  ¡áªáΓ¿¿  ¬½áó¿Φ¿  Enter.
  2873.       Turbo Vision ¡Ñ ßΓá¡ÑΓ »α«óÑα∩Γ∞ ¡á½¿τ¿Ñ Γ«½∞¬« «ñ¡«⌐ ¬¡«»¬¿, αá-
  2874.       í«ΓáεΘÑ⌐ »« π¼«½τá¡¿ε - óδ ñ«½ª¡δ φΓ« ßñѽáΓ∞ ßἿ.  àß½¿  π  óáß
  2875.       íπñÑΓ í«½ÑÑ «ñ¡«⌐ Γᬫ⌐ ¬¡«»¬¿, Γ« αѺπ½∞ΓáΓ íπñÑΓ ¡Ñ»αÑñ߬áºπѼ.
  2876.  
  2877.            Äíδτ¡« ¬¡«»¬á "OK" »á¡Ñ½¿ ñ¿á½«úá ∩ó½∩ÑΓß∩ ¬¡«»¬«⌐, αáí«Γáε-
  2878.       ΘÑ⌐ »« π¼«½τá¡¿ε, ¿ »«½∞º«óáΓѽ¿ »α¿óδ¬áεΓ ¡áª¿¼áΓ∞ ¬½áó¿Φπ Enter
  2879.       ñ½∩  ºá¬αδΓ¿∩  »á¡Ñ½¿  ñ¿á½«úá ¿ ñá½∞¡Ñ⌐ΦÑ⌐ «íαáí«Γ¬¿ ¿¡Σ«α¼áµ¿¿,
  2880.       óóÑñÑ¡¡«⌐ ó ñá¡¡«⌐ »á¡Ñ½¿.
  2881.  
  2882.                                     Ç¬Γ¿ó¡δÑ π»αáó½∩εΘ¿Ñ «íΩѬΓδ
  2883.  
  2884.            ÄíαáΓ¿ΓѠ󡿼᡿Ñ, τΓ« ¬«úñá »á¡Ñ½∞ ñ¿á½«úá «Γ¬αδΓá, «ñ¿¡ ¿º
  2885.       «íΩÑ¬Γ«ó π»αáó½Ñ¡¿∩ ó ¡Ñ⌐ óßÑúñá  óδñѽѡ  ¡Ñ»«ßαÑñßΓóÑ¡¡«  ßó«¿¼
  2886.       µóÑΓ«¼. ¥Γ«Γ «íΩÑ¬Γ π»αáó½Ñ¡¿∩ ¡áºδóáÑΓß∩ á¬Γ¿ó¡δ¼ «íΩÑ¬Γ«¼.  Æá-
  2887.       ¬«Ñ óδñѽѡ¿Ñ á¬Γ¿ó¡δσ «íΩÑ¬Γ«ó π»αáó½Ñ¡¿∩ «ß«íÑ¡¡«  »«½Ñº¡«  »α¿
  2888.       óó«ñÑ  ñá¡¡δσ  ¡Ñ»«ßαÑñßΓóÑ¡¡«  ß ¬½áó¿áΓπαδ,  íѺ »«¼«Θ¿ "¼δΦ¿".
  2889.       ìá»α¿¼Ñα,  Ñß½¿ ¬¡«»¬á á¬Γ¿ó¡á, Γ« »«½∞º«óáΓѽ∞ ¼«ªÑΓ "¡áªáΓ∞" ¡á
  2890.       ¡ÑÑ,  ¡áª¿¼áó  ¡á ¬½áó¿Φπ "Åα«íѽ".  ìπ á óó«ñ¿ó ß¿¼ó«½δ ó ßΓ᫬π
  2891.       óó«ñá ó««íΘÑ ¼«ª¡« ½¿Φ∞ ó Γ«¼ ß½πτáÑ,  Ñß½¿ ñá¡¡á∩  ßΓα«¬á  óó«ñá
  2892.       á¬Γ¿ó¡á ó ñá¡¡δ⌐ ¼«¼Ñ¡Γ óαѼѡ¿.
  2893.  
  2894.       Turbo Vision ñ½∩ æ++         = 76 =
  2895.  
  2896.  
  2897.            ä½∩ »«ß½Ññ«óáΓѽ∞¡«⌐  "á¬Γ¿ó¿ºáµ¿¿"  «íΩÑ¬Γ«ó  π»αáó½Ñ¡¿∩  ó
  2898.       ó »á¡Ñ½¿ ñ¿á½«úá, »«½∞º«óáΓѽ∞ ñ«½ªÑ¡ ¡áªáΓ∞ ¡á ¬½áó¿Φπ Tab. ê¼Ñ-
  2899.       ¡á «íΩÑ¬Γ«ó  π»αáó½Ñ¡¿∩ ¡Ñ ¼«úπΓ íδΓ∞ á¬Γ¿ó¡δ¼¿,  »«φΓ«¼π ¬½áó¿Φá
  2900.       Tab "»α«»π߬áÑΓ" ß««ΓóÑΓßΓóπεΘ¿Ñ «í½áßΓ¿ «¬¡á.
  2901.  
  2902.       Åα¿¼Ñτá¡¿Ñ: «í ¿¼Ñ¡áσ (¼ÑΓ¬áσ) ß¼. ¡¿ªÑ ó ñá¡¡«⌐ ú½áóÑ.
  2903.  
  2904.            éδ ¼«ªÑΓÑ ºáσ«ΓÑΓ∞, τΓ«íδ »«½∞º«óáΓѽ∞ ¿¼Ñ½ ó«º¼«ª¡«ßΓ∞ "«í-
  2905.       σ«ñ¿Γ∞" »á¡Ñ½∞ ñ¿á½«úá (ß »«¼«Θ∞ε ¬½áó¿Φ¿ Tab) ó «»αÑñѽѡ¡«¼ ½«-
  2906.       ú¿τÑ߬«¼ »«α∩ñ¬Ñ.  Å«α∩ñ«¬ Γᬫú« «íσ«ñá - φΓ« »«α∩ñ«¬, ó ¬«Γ«α«¼
  2907.       «íΩѬΓδ »«¼ÑΘ὿ß∞ ó »á¡Ñ½∞ ñ¿á½«úá. é¡πΓα¿ ¡Ñú« «íΩѬΓδ «íß½πª¿-
  2908.       óáεΓß∩ ó µ¿¬½¿τÑ߬«¼ »«α∩ñ¬Ñ,  »α¿ ¬«Γ«α«¼  »«ß½Ññ¡¿⌐  »«¼ÑΘÑ¡¡δ⌐
  2909.       «íΩÑ¬Γ »α¿ó∩ºá¡ ¬ »Ñαó«¼π.
  2910.  
  2911.            Å« π¼«½τá¡¿ε, á¬Γ¿ó¿ºáµ¿∩ «ßΓá¡áó½¿óáÑΓß∩ ¡á »«ß½Ññ¡Ñ¼ »«¼Ñ-
  2912.       ΘÑ¡¡«¼ «íΩѬΓÑ.  é φë༫¼Ñ¡Γ óδ óδíαáΓ∞ ¡«óδ⌐  á¬Γ¿ó¡δ⌐  «íΩѬΓ
  2913.       π»αáó½Ñ¡¿∩ ½¿í« »α¿ »«¼«Θ¿ ¼ÑΓ«ñá selectNext,  ½¿í« τÑαѺ «íαáΘÑ-
  2914.       ¡¿Ñ ¡Ñ»«ßαÑñßΓóÑ¡¡« ¬ ¼ÑΓ«ñπ select.  îÑΓ«ñ selectNext  »«ºó«½∩ÑΓ
  2915.       óδ»«½¡∩Γ∞ »ÑαѼÑΘÑ¡¿Ñ  »«  ß»¿ß¬π  «íΩÑ¬Γ«ó π»αáó½Ñ¡¿∩ ó »α∩¼«¼ ¿
  2916.       «íαáΓ¡«¼   ¡á»αáó½Ñ¡¿¿.   àß½¿   óδ   ¡á»¿ΦÑΓÑ    ó    »α«úαá¼¼Ñ:
  2917.       selectNext(False), Γ« íπñÑΓ óδ»«½¡∩Γ∞ß∩ »ÑαѼÑΘÑ¡¿Ñ ó »α∩¼«¼ ¡á»-
  2918.       αáó½Ñ¡¿¿  (ó  »«α∩ñ¬Ñ  Tab  (Γáíπ½∩µ¿¿)),  á  »α¿   ¿ß»«½∞º«óá¡¿¿
  2919.       selectNext (True) - ó «íαáΓ¡«¼.
  2920.  
  2921.       Åα¿¼Ñτá¡¿Ñ: »«α∩ñ«¬ "«íσ«ñá" á¬Γ¿ó¡δσ «íΩÑ¬Γ«ó ¿¼ÑÑΓ »α¿¡µ¿»¿á½∞-
  2922.                   ¡«Ñ º¡áτÑ¡¿Ñ!
  2923.  
  2924.  
  2925.                                 éδí¿αá⌐ΓÑ!
  2926.  
  2927.            ùáßΓ« »αÑñ½áúáѼδÑ óἿ óáα¿á¡Γδ «»Ñαᵿ⌐ ñ½∩  »«½∞º«óáΓѽÑ⌐
  2928.       ó »á¡Ñ½¿  ñ¿á½«úá  ¡Ñ ¼«úπΓ íδΓ∞ óδíαá¡δ ß »«¼«Θ∞ε «Γñѽ∞¡δσ ¬¡«-
  2929.       »«¬.  Turbo Vision »αÑñ«ßΓáó½∩ÑΓ »«½∞º«óáΓѽ∩¼ α∩ñ »«½Ñº¡δσ ßΓá¡-
  2930.       ñáαΓ¡δσ «íΩÑ¬Γ«ó π»αáó½Ñ¡¿∩ ñ½∩ φΓ¿σ µÑ½Ñ⌐. ìá¿í«½ÑÑ »«½Ñº¡δ¼¿ ¿º
  2931.       ¡¿σ ∩ó½∩εΓß∩ ¬¡«»¬¿ ß ¡Ñºáó¿ß¿¼«⌐ ¿ ºáó¿ß¿¼«⌐ Σ¿¬ßᵿÑ⌐.
  2932.  
  2933.            è¡«»¬¿ ß ¡Ñºáó¿ß¿¼«⌐  ¿  ºáó¿ß¿¼«⌐  Σ¿¬ßᵿÑ⌐  Σπ¡¬µ¿«¡¿απεΓ
  2934.       »αá¬Γ¿τÑ߬¿  ¿ñÑ¡Γ¿τ¡δ¼ «íαẫ¼.  àñ¿¡ßΓóÑ¡¡δ¼ αẽ¿τ¿Ñ¼ ∩ó½∩ÑΓß∩
  2935.       Γ«,  τΓ« óδ ¼«ªÑΓÑ π¬áºδóáΓ∞ ó¬½ετÑ¡¿Ñ Ññ¿¡«óαѼѡ¡« ½εí«ú« ¬«½¿-
  2936.       τÑßΓóá ¬¡«»«¬ ß ¡Ñºáó¿ß¿¼«⌐ Σ¿¬ßᵿÑ⌐,  ¡« Γ«½∞¬« «ñ¡π «»αÑñѽѡ-
  2937.       ¡πε ¬¡«»¬π ß ºáó¿ß¿¼«⌐ Σ¿¬ßᵿÑ⌐.  Åα¿τ¿¡á ßσ«ªÑßΓ¿ Σπ¡¬µ¿⌐  φΓ¿σ
  2938.       ñóπσ ¡áí«α«ó ¬¡«»«¬ ß«ßΓ«¿Γ ó Γ«¼,  τΓ« «¡¿ ∩ó½∩εΓß∩ »«α«ªñÑ¡¡δ¼¿
  2939.       «Γ «ñ¡«ú« ¬½áßßá Turbo Vision - ¬½áßßá TCluster.
  2940.  
  2941.                                              æ«ºñá¡¿Ñ ¬½áßΓÑαá
  2942.  
  2943.            éá¼ óα∩ñ  ½¿  »«ΓαÑíπÑΓß∩ ß«ºñáóáΓ∞ »α«ßΓ«⌐ φ¬ºÑ¼»½∩α ¬½áßßá
  2944.       TCluster. Å«ß¬«½∞¬π »α«µÑßßδ «αúá¡¿ºáµ¿¿ ¬½áßΓÑαá  ñ½∩  ¬¡«»«¬  ß
  2945.       ¡Ñºáó¿ß¿¼«⌐ ¿  ºáó¿ß¿¼«⌐  Σ¿¬ßᵿÑ⌐ «ñ¿¡á¬«óδ,  Γ« óá¼ ñ«ßΓáΓ«τ¡«
  2946.       ¿ºπτ¿Γ∞ ¿σ ºá «ñ¿¡ αáº.
  2947.  
  2948.  
  2949.       Turbo Vision ñ½∩ æ++         = 77 =
  2950.  
  2951.            éá¼ ß½ÑñπÑΓ ñ«íáó¿Γ∞ ¬  ¼ÑΓ«ñπ  TMyApp::newDialog  ß½ÑñπεΘ¿⌐
  2952.       Σαáú¼Ñ¡Γ »α«úαá¼¼δ,  »α¿τѼ »«ß½Ñ ß«ºñá¡¿∩ »á¡Ñ½¿ ñ¿á½«úá, ¡« »Ñ-
  2953.       αÑñ  ñ«íáó½Ñ¡¿Ñ¼  ¬¡«»«¬.  è¡«»¬¿  ñ«½ª¡δ  óßΓáó½∩Γ∞ß∩ ó ¬áτÑßΓóÑ
  2954.       »«ß½Ññ¡¿σ «íΩÑ¬Γ«ó,  ΓᬠτΓ« «¡¿ íπñπΓ »«ß½Ññ¡¿¼¿ ó  »«α∩ñ¬Ñ  Tab
  2955.       (Γáíπ½∩µ¿¿).
  2956.  
  2957.                               ┌────────────────┐
  2958.                               │ ( ) Hvarti     │
  2959.                               │ ( ) Tilset     │
  2960.                               │ ( ) Jarlsberg  │
  2961.                               └────────────────┘
  2962.  
  2963.               TView *b = new TCheckBoxes( TRect( 3, 3, 18, 6),
  2964.                   new TSItem( "~H~varti",
  2965.                   new TSItem( "~T~ilset",
  2966.                   new TSItem( "~J~arlsberg", 0 )
  2967.                   )));
  2968.               αd->insert( b );
  2969.  
  2970.            ê¡¿µ¿á½¿ºáµ¿∩ »α«µÑßßá ñ«ó«½∞¡« »α«ßΓá. éδ π¬áºδóáÑΓÑ »α∩¼«-
  2971.       πú«½∞¡¿¬ ñ½∩ ¿º«íαáªÑ¡¿∩ «íΩÑ¬Γ«ó («ßΓáó½∩∩ ¼ÑßΓ« ñ½∩ ßá¼¿σ  ¬¡«-
  2972.       »«¬ ß  ¡Ñºáó¿ß¿¼«⌐ Σ¿¬ßᵿÑ⌐),  á ºáΓѼ ß«ºñáÑΓÑ ßó∩ºá¡¡δ⌐ ß»¿ß«¬
  2973.       π¬áºáΓѽÑ⌐ ¡á ßΓ᫬¿,  ¬«Γ«αδÑ íπñπΓ ¿º«íαáªáΓ∞ß∩ óß½Ññ ºá  φΓ¿¼¿
  2974.       ¬¡«»¬á¼¿, ºáóÑαΦáѼδ⌐ π¬áºáΓѽѼ 0.
  2975.  
  2976.  
  2977.                     ç¡áτÑ¡¿∩ ¬¡«»«¬ ß ¡Ñºáó¿ß¿¼«⌐ Σ¿¬ßᵿÑ⌐
  2978.  
  2979.            ÅαÑñδñπΘ¿⌐ Σαáú¼Ñ¡Γ »α«úαá¼¼δ ß«ºñáÑΓ ¡áí«α ¬¡«»«¬  ß  ΓαѼ∩
  2980.       óáα¿á¡ΓἿ óδí«αá. ÄíαáΓ¿ΓѠ󡿼᡿Ñ, τΓ« óδ ¡Ñ ºáñ὿ πßΓá¡«ó«τ-
  2981.       ¡δσ »áαá¼ÑΓα«ó ñ½∩ ¬áªñ«ú« ¿º «íΩÑ¬Γ«ó ß»¿ß¬á. Ä¡¿ óßÑ »« π¼«½τá-
  2982.       ¡¿ε  íπñπΓ  "ó䬽ετÑ¡δ".  ì« óδ ¼«ªÑΓÑ πßΓá¡«ó¿Γ∞ ¿ ΓᬿѠ¬¡«»¬¿,
  2983.       ¬«Γ«αδÑ íπñπΓ πªÑ "ó¬½ετÑ¡δ".  é¼ÑßΓ« ¡Ñ«íσ«ñ¿¼«ßΓ¿  »α¿ßóá¿óá¡¿∩
  2984.       º¡áτÑ¡¿⌐  »α¿  ºáñá¡¿¿  ß»¿ß¬á  Turbo Vision »αÑñ«ßΓáó½∩ÑΓ ß»«ß«í
  2985.       »α«ßΓ«ú« ºáñá¡¿∩ ¿ ß«σαá¡Ñ¡¿∩ º¡áτÑ¡¿⌐ ó¡Ñ ó¿ºπá½∞¡«⌐  ß«ßΓáó½∩ε-
  2986.       ΘÑ⌐ π»αáó½Ñ¡¿∩.
  2987.  
  2988.            ìáí«α ¬¡«»«¬ ß ¡Ñºáó¿ß¿¼«⌐ Σ¿¬ßᵿÑ⌐ ¼«ªÑΓ ß«ñÑαªáΓ∞  ñ«  16
  2989.       «íΩÑ¬Γ«ó.
  2990.  
  2991.            é ¬½áßßÑ TCluster ßπΘÑßΓóπÑΓ »«½Ñ ñá¡¡δσ Γ¿»á ushort, 16 í¿Γ
  2992.       ¬«Γ«α«ú« ß««ΓóÑΓßΓóπεΓ ß«ßΓ«∩¡¿ε ¬¡«»«¬ ß ¡Ñºáó¿ß¿¼«⌐ Σ¿¬ßᵿÑ⌐.
  2993.  
  2994.            Å«ß½Ñ ºáóÑαΦÑ¡¿∩ «αúá¡¿ºáµ¿¿  »á¡Ñ½¿  ñ¿á½«úᠠ󠠵ѽ«¼,  óδ
  2995.       ñ«½ª¡δ  «º¡á¬«¼¿Γ∞ß∩  ß »«α∩ñ¬«¼ πßΓᡫ󬿠¿ τΓÑ¡¿∩ º¡áτÑ¡¿⌐ óßÑσ
  2996.       φ½Ñ¼Ñ¡Γ«ó π»αáó½Ñ¡¿∩.  é ñá¡¡δ⌐ ¼«¼Ñ¡Γ óδ ñ«½ª¡δ  ß«ßαÑñ«Γ«τ¿Γ∞ß∩
  2997.       ¡á »αáó¿½∞¡«¼ αẼÑΘÑ¡¿¿ «íΩÑ¬Γ«ó π»αáó½Ñ¡¿∩.
  2998.  
  2999.                                      æ«ºñá¡¿Ñ ÑΘÑ «ñ¡«ú« ¬½áßΓÑαá
  3000.  
  3001.            ÅÑαÑñ ΓѼ, ¬á¬ »«⌐Γ¿ ñá½∞ΦÑ, óδ ñ«½ª¡δ ñ«íáó¿Γ∞ ó »á¡Ñ½∞ ñ¿-
  3002.       á½«úá ¡áí«α ¬¡«»«¬ ß ºáó¿ß¿¼«⌐ Σ¿¬ßᵿÑ⌐,  τΓ«íδ  ßαáó¡¿Γ∞  ¿σ  ß
  3003.  
  3004.       Turbo Vision ñ½∩ æ++         = 78 =
  3005.  
  3006.       ¬¡«»¬á¼¿ ß  ¡Ñºáó¿ß¿¼«⌐  Σ¿¬ßᵿÑ⌐.  æ½ÑñπεΘ¿⌐ Σαáú¼Ñ¡Γ »α«úαá¼¼δ
  3007.       ñѼ«¡ßΓα¿απÑΓ «»αÑñѽѡ¿Ñ  ¡áí«αá  ¿º  ΓαÑσ  ¬¡«»«¬  ß  ºáó¿ß¿¼«⌐
  3008.       Σ¿¬ßᵿÑ⌐ óß½Ññ  ºá «»αÑñѽѡ¿Ñ¼ óἿ ¬¡«»«¬ ß ¡Ñºáó¿ß¿¼«⌐ Σ¿¬ßá-
  3009.       µ¿Ñ⌐:
  3010.  
  3011.                                 ┌──────────────┐
  3012.                                 │ (*) Solid    │
  3013.                                 │ ( ) Runny    │
  3014.                                 │ ( ) Melted   │
  3015.                                 └──────────────┘
  3016.  
  3017.               b = new TRadioButtons( TRect( 22, 3, 34, 6),
  3018.                   new TSItem( "~S~olid",
  3019.                   new TSItem( "~R~unny",
  3020.                   new TSItem( "~M~elted", 0 )
  3021.                   )));
  3022.               αd->insert( b );
  3023.  
  3024.            Äß¡«ó¡δ¼ αẽ¿τ¿Ñ¼  ¼Ñªñπ  φΓ¿¼¿  ó¿ñἿ ¬¡«»«¬ ∩ó½∩ÑΓß∩ Γ«,
  3025.       τΓ« óδ ¼«ªÑΓÑ óδíαáΓ∞ ½¿Φ∞ «ñ¡π ¬¡«»¬π ß ºáó¿ß¿¼«⌐  Σ¿¬ßᵿÑ⌐  ¿º
  3026.       úαπ»»δ, á »Ñαóá∩ Γá¬á∩ ¬¡«»¬á »« π¼«½τá¡¿ε ßτ¿ΓáÑΓß∩ ó¬½ετÑ¡¡«⌐.
  3027.  
  3028.            Å«ß¬«½∞¬π óá¼ ¡Ñ ΓαÑíπÑΓß∩ ¿¡Σ«α¼áµ¿∩ « ß«ßΓ«∩¡¿¿ ¬áªñ«⌐  ¿º
  3029.       ¬¡«»«¬ ß ºáó¿ß¿¼«⌐ Σ¿¬ßᵿÑ⌐ (óÑñ∞ Γ«½∞¬« «ñ¡á ¿º ¡¿σ ¼«ªÑΓ  íδΓ∞
  3030.       ó¬½ετÑ¡á,  ¿ óδ ñ«½ª¡δ º¡áΓ∞ Γ«½∞¬«,  ¬á¬á∩ ¿¼Ñ¡¡«),  Γ« ñá¡¡δÑ «
  3031.       ¬¡«»¬áσ ß ºáó¿ß¿¼«⌐ Σ¿¬ßᵿÑ⌐ ¡Ñ »αÑñßΓáó½∩εΓß∩ ó  ó¿ñÑ  í¿Γ«ó«ú«
  3032.       ¼áßß¿óá.  ¥Γ« «º¡áτáÑΓ,  τΓ« óδ ¼«ªÑΓÑ ¿¼ÑΓ∞ í«½ÑÑ 16 ßÑ½Ñ¬Γ¿ó¡δσ
  3033.       ¬¡«»«¬ »« óδí«απ,  ¡« Γ.¬. ñá¡¡δÑ ¡Ñ«íσ«ñ¿¼« σαá¡¿Γ∞, Γ« óδ «úαá-
  3034.       ¡¿τÑ¡δ óѽ¿τ¿¡«⌐  65536  ¬¡«»«¬  ß  ºáó¿ß¿¼«⌐  Σ¿¬ßᵿÑ⌐  ¡á «ñ¿¡
  3035.       ¬½áßΓÑα.  ¥Γ« ¡Ñ »«ß½πª¿Γ ßÑα∞Ѻ¡«⌐ »«¼Ñσ«⌐ ñ½∩ óáΦÑ⌐ αáºαáí«Γ¬¿.
  3036.       ç¡áτÑ¡¿Ñ ¡«½∞  íπñÑΓ π¬áºδóáΓ∞ ¡á óδí«α »Ñαó«⌐ ¬¡«»¬¿ ß ºáó¿ß¿¼«⌐
  3037.       Σ¿¬ßᵿÑ⌐, º¡áτÑ¡¿Ñ Ññ¿¡¿µá - óΓ«α«⌐, ñó«⌐¬á - ΓαÑΓ∞Ñ⌐ ¿ Γ.ñ.
  3038.  
  3039.                                    îáનα«ó¬á «íΩÑ¬Γ«ó π»αáó½Ñ¡¿∩              
  3040.  
  3041.            çáñá¡¿Ñ «íΩÑ¬Γ«ó  π»αáó½Ñ¡¿∩ ßἫ »« ßÑíÑ ¡Ñ ∩ó½∩ÑΓß∩ ñ«ßΓá-
  3042.       Γ«τ¡δ¼.  Åα«ßΓ«Ñ »αÑñ«ßΓáó½Ñ¡¿Ñ ¡áí«αá óáα¿á¡Γ«ó ñ½∩ óδí«αá ¼«ªÑΓ
  3043.       ¡Ñ ú«ó«α¿Γ∞ »«½∞º«óáΓÑ½ε ¡¿τÑú« « Γ«¼,  τΓ« ªÑ «¡ óδí¿αáÑΓ. Turbo
  3044.       Vision »αÑñ«ßΓáó½∩ÑΓ πñ«í¡δ⌐ ß»«ß«í ¼áનα«ó¬¿ «íΩÑ¬Γ«ó  π»αáó½Ñ-
  3045.       ¡¿∩ ó Σ«α¼Ñ ñαπú«ú« «íΩѬΓá π»αáó½Ñ¡¿∩, TLabel.
  3046.  
  3047.            ¥Γá Σ«α¼á  ¼áનα«ó¬¿ ¿¼ÑÑΓ í«½∞ΦÑ »αÑ¿¼πΘÑßΓó,  τѼ ¬áªÑΓß∩
  3048.       ¡á »Ñαóδ⌐ óºú½∩ñ.  TLabel ¡Ñ Γ«½∞¬« óδñáÑΓ ¿º«íαáªÑ¡¿Ñ ΓѬßΓá, ¡«
  3049.       «¡ »α¿ó∩ºá¡  ΓᬪѠ ¬  ñαπú«¼π «Γ«íαáªáѼ«¼π «íΩѬΓπ.  ìáªáΓ¿Ñ ¡á
  3050.       ¼ÑΓ¬π »ÑαѼÑßΓ¿Γ óδñѽѡ¿Ñ ¡á ßó∩ºá¡¡δ⌐ ß ¡Ñ⌐  «Γ«íαáªáѼδ⌐  «íΩ-
  3051.       Ñ¬Γ.  éδ ¼«ªÑΓÑ «»αÑñѽ¿Γ∞ ΓᬪѠñ½∩ ¼ÑΓ¬¿ ß«¬αáΘÑ¡¿Ñ ó ó¿ñÑ íπ¬-
  3052.       óδ, »«¼ÑßΓ¿ó ÑÑ ó ß¿¼ó«½δ ~.
  3053.  
  3054.            ä½∩ óδ»«½¡Ñ¡¿∩ ¼áનα«ó¬¿ óáΦ¿σ ¬¡«»«¬ ß ¡Ñºáó¿ß¿¼«⌐  Σ¿¬ßá-
  3055.       µ¿Ñ⌐, »«ß½Ñ ¿σ óßΓá󬿠ó »á¡Ñ½∞ ñ¿á½«úá, ñ«íáó∞ΓÑ ß½ÑñπεΘ¿⌐ Σαáú-
  3056.       ¼Ñ¡Γ »α«úαá¼¼δ:
  3057.  
  3058.  
  3059.       Turbo Vision ñ½∩ æ++         = 79 =
  3060.  
  3061.            αd->insert(new TLabel(TRect(2, 2, 10, 3), "Cheeses", b));
  3062.  
  3063.            ÆÑ»Ñα∞ óδ ¼«ªÑΓÑ á¬Γ¿ó¿º¿α«óáΓ∞ ¡áí«α ¬¡«»«¬  ß  ¡Ñºáó¿ß¿¼«⌐
  3064.       Σ¿¬ßᵿÑ⌐ ¡áªáΓ¿Ñ¼  ¡á ¼áα¬Ñα "Cheeses" (ßδαδ).  ¥Γ« ß««íΘáÑΓ ¡Ñ-
  3065.       «ßóÑñ«¼½Ñ¡¡δ¼ »«½∞º«óáΓѽ∩¼,  τΓ« «íΩѬΓδ »á¡Ñ½¿ ñ¿á½«úá ∩ó½∩εΓß∩
  3066.       ¼áα¬á¼¿ ßδαá.
  3067.  
  3068.            Æᬿ¼ ªÑ  «íαẫ¼ óδ ¼«ªÑΓÑ ¼áનα«óáΓ∞ ¿ ¬¡«»¬¿ ß ºáó¿ß¿¼«⌐
  3069.       Σ¿¬ßᵿÑ⌐ ß »«¼«Θ∞ε ß½ÑñπεΘÑú« Σαáú¼Ñ¡Γá »α«úαá¼¼δ:
  3070.  
  3071.            αd->insert(new TLabel(TRect(21, 2, 33, 3),"Consistency",b));
  3072.  
  3073.       Åα¿¼Ñτá¡¿Ñ: φΓ« »α¿¼Ñα ¡áσ«ñ¿Γß∩ ó Σá⌐½Ñ TVGUID14.CPP.
  3074.  
  3075.            ÉѺπ½∞ΓáΓ«¼ ∩ó½∩ÑΓß∩ ß½ÑñπεΘá∩ »á¡Ñ½∞ ñ¿á½«úá:
  3076.  
  3077.                    ╔═[■]═══════ Demo Dialog Box  ═════════════╗
  3078.                    ║                                          ║
  3079.                    ║   Cheeses              Consistency       ║
  3080.                    ║  ┌────────────────┐   ┌──────────────┐   ║
  3081.                    ║  │ [ ] Hvarti     │   │ [*] Solid    │   ║
  3082.                    ║  │ [ ] Tilset     │   │ [ ] Runny    │   ║
  3083.                    ║  │ [ ] Jarlsberg  │   │ [ ] Melted   │   ║
  3084.                    ║  └────────────────┘   └──────────────┘   ║
  3085.                    ║                                          ║
  3086.                    ║                                          ║
  3087.                    ║                      OK   ▄     Cancel ▄ ║
  3088.                    ║                    ▀▀▀▀▀▀▀▀     ▀▀▀▀▀▀▀▀ ║
  3089.                    ╚══════════════════════════════════════════╝
  3090.  
  3091.        É¿ßπ¡«¬ 2.9. Åá¡Ñ½∞ ñ¿á½«úá ß ñ«íáó½Ñ¡¿Ñ¼ ¼áનα«óá¡¡δ󠬽áßΓÑα«ó.
  3092.  
  3093.                                           ÄíΩÑ¬Γ "ßΓ᫬á óó«ñá"                
  3094.  
  3095.            éδ ¼«ªÑΓÑ  ñ«íáó¿Γ∞  ó  óáΦπ »á¡Ñ½∞ ñ¿á½«úá ÑΘÑ «ñ¿¡ »α«ßΓ«⌐
  3096.       «Γ«íαáªáѼδ⌐ «íΩÑ¬Γ «íΩѬΓá π»αáó½Ñ¡¿∩: «íΩÑ¬Γ ñ½∩ αÑñá¬Γ¿α«óá¡¿∩
  3097.       óó«ñ¿¼δσ ßΓ᫬, ¡áºδóáѼδ⌐ ßΓ᫬«⌐ óó«ñá. ìá ßἫ¼ ñѽѠ«íαáí«Γ¬á
  3098.       ßΓ᫬¿ óó«ñá ∩ó½∩ÑΓß∩ ñ«ßΓáΓ«τ¡« ß½«ª¡δ¼ »α«µÑßß«¼,  ¡«  ß  Γ«τ¬¿
  3099.       ºαÑ¡¿∩  »α«úαá¼¼¿ßΓá  ¿ß»«½∞º«óá¡¿Ñ  ¬½áßßá  TInαutLine  ∩ó½∩ÑΓß∩
  3100.       »α«ßΓδ¼.
  3101.  
  3102.            Å«ß½Ñ ¡á»¿ßá¡¿∩ Σαáú¼Ñ¡Γá »α«úαá¼¼δ »« ¼áનα«ó¬Ñ  ¬¡«»«¬  ß
  3103.       ºáó¿ß¿¼«⌐ Σ¿¬ßᵿÑ⌐ ¿ »ÑαÑñ óδ»«½¡Ñ¡¿Ñ¼ «»Ñαᵿ⌐ ß »á¡Ñ½∞ε ñ¿á½«-
  3104.       úá ñ«íáó∞ΓÑ ß½ÑñπεΘ¿⌐ Σαáú¼Ñ¡Γ:
  3105.  
  3106.         // ñ«íáó½Ñ¡á ßΓ᫬á óó«ñá
  3107.         b = new TInαutLine( TRect( 3, 8, 37, 9 ), 128 );
  3108.         αd->insert( b );
  3109.         αd->insert( new TLabel( TRect( 2, 7, 24, 8 ),
  3110.                                          "Delivery Instructions", b ));
  3111.  
  3112.       Åα¿¼Ñτá¡¿Ñ: φΓ« »α¿¼Ñα ¡áσ«ñ¿Γß∩ ó Σá⌐½Ñ TVGUID15.CPP.
  3113.  
  3114.       Turbo Vision ñ½∩ æ++         = 80 =
  3115.  
  3116.  
  3117.            çáñá¡¿Ñ ßΓ᫬¿ óó«ñá ταѺóδτá⌐¡« »α«ßΓ«: óδ ß«ºñáÑΓÑ »α∩¼«π-
  3118.       ú«½∞¡¿¬,  ¬«Γ«αδ⌐  «»αÑñѽ∩ÑΓ  ñ½¿¡π  ßΓ᫬¿  óó«ñá  ¡á   φ¬αá¡Ñ.
  3119.       àñ¿¡ßΓóÑ¡¡δ¼  ΓαÑíπεΘ¿¼ß∩ ¬α«¼Ñ φΓ«ú« »áαá¼ÑΓα«¼ ∩ó½∩ÑΓß∩ «»αÑñÑ-
  3120.       ½Ñ¡¿Ñ ¼á¬ß¿¼á½∞¡«⌐ ñ½¿¡δ αÑñá¬Γ¿απѼ«⌐ ßΓ᫬¿.  Ä¡á ¼«ªÑΓ  »αÑóδ-
  3121.       ΦáΓ∞ ñ½¿¡π ¿º«íαáªáѼ«⌐ ßΓ᫬¿,  Γ.¬. ¬½áßß TInαutLine ¿¼ÑÑΓ ó«º-
  3122.       ¼«ª¡«ßΓ∞ »α«¬απΓ¬¿ ßΓ᫬ ó»ÑαÑñ ¿ ¡áºáñ.  æΓ᫬á óó«ñá  ¼«ªÑΓ  »«
  3123.       π¼«½τá¡¿ε «íαáíáΓδóáΓ∞ ¡áªáΓ¿∩ ¬½áó¿Φ,  ¬«¼á¡ñδ αÑñá¬Γ¿α«óá¡¿∩  ¿
  3124.       ¡áªáΓ¿∩ ¬¡«»«¬ "¼δΦ¿" ¿ »ÑαѼÑΘÑ¡¿∩ "¼δΦ¿".
  3125.  
  3126.                    ╔═[■]═══════ Demo Dialog Box  ═════════════╗
  3127.                    ║                                          ║
  3128.                    ║   Cheeses              Consistency       ║
  3129.                    ║  ┌────────────────┐   ┌──────────────┐   ║
  3130.                    ║  │ [ ] Hvarti     │   │ [*] Solid    │   ║
  3131.                    ║  │ [ ] Tilset     │   │ [ ] Runny    │   ║
  3132.                    ║  │ [ ] Jarlsberg  │   │ [ ] Melted   │   ║
  3133.                    ║  └────────────────┘   └──────────────┘   ║
  3134.                    ║                                          ║
  3135.                    ║    Delivery instructions                 ║
  3136.                    ║   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀   ║
  3137.                    ║                                          ║
  3138.                    ║                      OK   ▄     Cancel ▄ ║
  3139.                    ║                    ▀▀▀▀▀▀▀▀     ▀▀▀▀▀▀▀▀ ║
  3140.                    ╚══════════════════════════════════════════╝
  3141.  
  3142.            É¿ßπ¡«¬ 2.10. Åá¡Ñ½∞ ñ¿á½«úá ß ñ«íáó½Ñ¡¿Ñ¼ ßΓ᫬¿ óó«ñá.
  3143.  
  3144.            æΓ᫬á óó«ñá ¿¼ÑÑΓ ΓᬪѠ¼ÑΓ¬π,  Γ.¬. ¡Ñ¼áનα«óá¡¡δÑ ßΓ᫬¿
  3145.       óó«ñá ¼«úπΓ ÑΘÑ í«½∞ΦÑ ºá»πΓáΓ∞ »«½∞º«óáΓѽ∩, τѼ ¡Ñ¼áનα«óá¡¡δÑ
  3146.       ¬½áßΓÑαδ.
  3147.  
  3148.                                      ôßΓá¡«ó¬á ¿ »«½πτÑ¡¿Ñ ñá¡¡δσ              
  3149.  
  3150.            Å«ß½Ñ Γ«ú«, ¬á¬ óδ ß«ºñ὿ óÑß∞¼á ß½«ª¡πε »á¡Ñ½∞ ñ¿á½«úá, óδ
  3151.       ñ«½ª¡δ π¬áºáΓ∞,  ¬á¬ ¿¼ »«½∞º«óáΓ∞ß∩. éδ πªÑ πßΓᡫ󿽿 ¿¡ΓÑαΣÑ⌐ß
  3152.       »«½∞º«óáΓѽ∩;  ΓÑ»Ñα∞ óá¼ ΓαÑíπÑΓß∩ πßΓá¡«ó¿Γ∞ »α«úαá¼¼¡δ⌐ ¿¡ΓÑα-
  3153.       ΣÑ⌐ß.  ì὿τ¿Ñ π»αáó½∩εΘ¿σ «íΩÑ¬Γ«ó óá¼ ¼á½« ó φΓ«¼ »«¼«ªÑΓ, Ñß½¿
  3154.       óδ ¡Ñ º¡áÑΓÑ, ¬á¬ »«½πτ¿Γ∞ ¿¡Σ«α¼áµ¿ε «Γ ¡¿σ!
  3155.  
  3156.            éδ ñ«½ª¡δ ¿¼ÑΓ∞ ó«º¼«ª¡«ßΓ∞ óδ»«½¡¿Γ∞ ñóÑ ú½áó¡δÑ óÑΘ¿:  ºá-
  3157.       ñáΓ∞  »Ñαó«¡áτá½∞¡δÑ  º¡áτÑ¡¿∩ «íΩÑ¬Γ«ó π»αáó½Ñ¡¿∩,  »α¿ «Γ¬αδΓ¿¿
  3158.       »á¡Ñ½¿ ñ¿á½«úá, ¿ »«½πτ¿Γ∞ ¿σ ¡«óδÑ º¡áτÑ¡¿∩, »α¿ ºá¬αδΓ¿¿ »á¡Ñ½¿
  3159.       ñ¿á½«úá.  ê¼Ñ⌐ΓÑ ó ó¿ñπ, τΓ« óá¼ ¡Ñ ΓαÑíπÑΓß∩ ¼«ñ¿Σ¿µ¿α«óáΓ∞ ñá¡-
  3160.       ¡δÑ ó¡Ñ »á¡Ñ½¿ ñ¿á½«úá,  »«¬á óδ Ñú« πß»ÑΦ¡«  ¡Ñ  ºá¬α«ÑΓÑ.  àß½¿
  3161.       »«½∞º«óáΓѽ∞ αÑΦ¿Γ «Γ¼Ñ¡¿Γ∞ »á¡Ñ½∞ ñ¿á½«úá,  óδ ñ«½ª¡δ ¿¼ÑΓ∞ ó«º-
  3162.       ¼«ª¡«ßΓ∞ ¿ú¡«α¿α«óáΓ∞ ½εíδÑ ñÑ⌐ßΓó¿∩,  óδ»«½¡∩εΘ¿Ñß∩ »α¿ «Γ¬αδΓ«⌐
  3163.       »á¡Ñ½¿.
  3164.  
  3165.            Turbo Vision,  ¬ ßτáßΓ∞ε,  «í½ÑúτáÑΓ φΓπ Σπ¡¬µ¿ε. éáΦá »α«ú-
  3166.       αá¼¼á »α¿ «Γ¬αδΓ¿¿ »á¡Ñ½¿ ñ¿á½«úá »ÑαÑñáÑΓ ó ¡ÑÑ «»αÑñѽѡ¡πε ¿¡-
  3167.       Σ«α¼áµ¿«¡¡πε ºá»¿ß∞. è«úñá »«½∞º«óáΓѽ∞ ºá¬αδóáÑΓ »á¡Ñ½∞ ñ¿á½«úá,
  3168.  
  3169.       Turbo Vision ñ½∩ æ++         = 81 =
  3170.  
  3171.       Γ«  »α«úαἼѠ ΓαÑíπÑΓß∩ óδ»«½¡¿Γ∞ »α«óÑα¬π ¡«α¼á½∞¡«⌐ «Γ¼Ñ¡δ ¿½¿
  3172.       ºá¬αδΓ¿∩ »á¡Ñ½¿ ñ¿á½«úá.  àß½¿ «¡á íδ½á «Γ¼Ñ¡Ñ¡á,  Γ«  óδ  ¼«ªÑΓÑ
  3173.       »α«ñ«½ªáΓ∞ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ íѺ ¿º¼Ñ¡Ñ¡¿∩ ºá»¿ß¿. àß½¿ »á¡Ñ½∞
  3174.       ñ¿á½«úá íδ½á πß»ÑΦ¡« ºá¬αδΓá,  Γ« óδ ¼«ªÑΓÑ ßτ¿ΓáΓ∞ ºá»¿ß∞ ¿º »á-
  3175.       ¡Ñ½¿ ñ¿á½«úá ó Γ«⌐ ªÑ Σ«α¼Ñ, ó ¬á¬«⌐ «¡á íδ½á ó ¡Ñú« »ÑαÑñá¡á.
  3176.  
  3177.            é¿αΓπá½∞¡δÑ ¼ÑΓ«ñδ setData ¿ getData ¿ß»«½∞ºπεΓß∩ ñ½∩  ¬«»¿-
  3178.       α«óá¡¿∩  ñá¡¡δσ ó «Γ«íαáªáѼδ⌐ «íΩÑ¬Γ ¿ ¿º «Γ«íαáªáѼ«ú« «íΩѬΓá.
  3179.       èáªñδ⌐ «Γ«íαáªáѼδ⌐ «íΩÑ¬Γ αáß»«½áúáÑΓ «íÑ¿¼¿ φΓ¿¼¿ ¼ÑΓ«ñἿ.
  3180.  
  3181.            è«úñá ¿¡¿µ¿á½¿ºáµ¿∩ úαπ»»δ (Γᬫ⌐, ¬á¬ TDialog) »α«¿ºó«ñ¿Γß∩
  3182.       ß »«¼«Θ∞ε ¼ÑΓ«ñá setData,  «¡á »ÑαÑñáÑΓ ñá¡¡δÑ »«ßαÑñßΓó«¼ ¼ÑΓ«ñá
  3183.       setData ¬áªñ«ú« ¿º ßó«¿σ «Γ«íαáªáѼδσ «íΩÑ¬Γ«ó.
  3184.  
  3185.            àß½¿ óδ «íαáΘáÑΓÑß∞ ¬ ¼ÑΓ«ñπ setData úαπ»»δ, Γ« óδ »ÑαÑñáÑΓÑ
  3186.       Ñ¼π ºá»¿ß∞  ñá¡¡δσ,  ß«ñÑαªáΘπε  ñá¡¡δÑ ñ½∩ ¬áªñ«ú« «Γ«íαáªáѼ«ú«
  3187.       «íΩѬΓá ó úαπ»»Ñ. éá¼ ß½ÑñπÑΓ «αúá¡¿º«óáΓ∞ ñá¡¡δÑ ¬áªñ«ú« «Γ«íαá-
  3188.       ªáѼ«ú« «íΩѬΓá  ó  Γ«¼  ªÑ »«α∩ñ¬Ñ,  ó ¬á¬«¼ «¡¿ í뫨 »«¼ÑΘÑ¡δ ó
  3189.       úαπ»»π.
  3190.  
  3191.            éδ ñ«½ª¡δ ΓᬪѠ»αÑñßΓáó¿Γ∞ ñá¡¡δÑ ñ½∩ ¬áªñ«ú« «Γ«íαáªáѼ«ú«
  3192.       «íΩѬΓá ó ¡πª¡«¼ αẼÑαÑ.  èáªñδ⌐ «Γ«íαáªáѼδ⌐ «íΩÑ¬Γ ¿¼ÑÑΓ ¼ÑΓ«ñ
  3193.       dataSize, ¬«Γ«αδ⌐  ºáñáÑΓ  αẼÑα  »α«ßΓαá¡ßΓóá ñ½∩ ñá¡¡δσ ó φΓ«¼
  3194.       «Γ«íαáªáѼ«¼ «íΩѬΓÑ.  èáªñδ⌐ «Γ«íαáªáѼδ⌐ «íΩÑ¬Γ ¬«»¿απÑΓ ñá¡¡δÑ
  3195.       ¿º  ºá»¿ß¿  ñá¡¡δσ  ó «íΩѼѠdataSize ¿ ºáΓѼ ß »«¼«Θ∞ε π¬áºáΓѽ∩
  3196.       «í«º¡áτáÑΓ ¼ÑßΓ« ¡áτá½á ß½ÑñπεΘÑú«  «Γ«íαáªáѼ«ú«  «íΩѬΓá.  àß½¿
  3197.       ñá¡¡δÑ  ó  «Γ«íαáªáѼ«¼  «íΩѬΓÑ  ¿¼ÑεΓ ¡Ñ Γ«Γ αẼÑα,  Γ« ¬áªñδ⌐
  3198.       »«ß½ÑñπεΘ¿⌐ «Γ«íαáªáѼδ⌐ «íΩÑ¬Γ íπñÑΓ ΓᬪѠ ¬«»¿α«óáΓ∞  ¡ÑóÑα¡δÑ
  3199.       ñá¡¡δÑ.
  3200.  
  3201.            àß½¿ óδ  ß«ºñáÑΓÑ  ¡«óδ⌐  «Γ«íαáªáѼδ⌐ «íΩÑ¬Γ ¿ ñ«íáó½∩ÑΓÑ ó
  3202.       ¡Ñú« »«½∩  ñá¡¡δσ,  ¡Ñ  ºáíπñ∞ΓÑ  »ÑαÑ«»αÑñѽ¿Γ∞  ¼ÑΓ«ñ dataSize,
  3203.       setData ¿ getData Γ.«.,  τΓ«íδ «¡¿ «íαáíáΓδó὿ »αáó¿½∞¡δÑ º¡áτÑ-
  3204.       ¡¿∩. Å«α∩ñ«¬ ¿ αẼÑαδ ñá¡¡δσ ó ßΓαπ¬ΓπαÑ ñá¡¡δσ «»αÑñѽ∩εΓß∩ óá-
  3205.       ¼¿. àß½¿ óδ «Φ¿íÑΓÑß∞, Γ« ¬«¼»¿½∩Γ«α ¡Ñ óδñáßΓ ß««íΘÑ¡¿Ñ «í «Φ¿í-
  3206.       ¬Ñ.
  3207.  
  3208.            Å«ß½Ñ óδ»«½¡Ñ¡¿∩ «»Ñαᵿ¿ ó »á¡Ñ½¿ ñ¿á½«úá  óáΦÑ⌐  »α«úαá¼¼δ
  3209.       ó¡áτá½Ñ ß½ÑñπÑΓ πíÑñ¿Γ∞ß∩, τΓ« »á¡Ñ½∞ ñ¿á½«úá ¡Ñ íδ½á «Γ¼Ñ¡Ñ¡á, á
  3210.       ºáΓѼ «íαáΓ¿Γ∞ß∩ ¬ ¼ÑΓ«ñπ getData,  τΓ«íδ »«¼ÑßΓ¿Γ∞ ¿¡Σ«α¼áµ¿ε ¿º
  3211.       »á¡Ñ½¿ ñ¿á½«úá «íαáΓ¡« ó »α«úαá¼¼π.
  3212.  
  3213.            Æᬿ¼ «íαẫ¼,  ó óáΦѼ »α¿¼ÑαÑ »α«úαá¼¼δ óδ »«ß½Ññ«óáΓѽ∞¡«
  3214.       ¿¡¿µ¿á½¿º¿απÑΓÑ ¬½áßΓÑα  ¬¡«»«¬  ß ¡Ñºáó¿ß¿¼«⌐ Σ¿¬ßᵿÑ⌐,  ¼ÑΓ¬π,
  3215.       ¬½áßΓÑα ¬¡«»«¬ ß ºáó¿ß¿¼«⌐ Σ¿¬ßᵿÑ⌐,  ¼ÑΓ¬π, ßΓ᫬π óó«ñá ñ½¿¡«⌐
  3216.       ñ« 128 ß¿¼ó«½«ó,  ¼ÑΓ¬π ¿ ñóÑ ¬¡«»¬¿ (Ok ¿ Cancel). é Γáí½¿µÑ 2.1
  3217.       »α¿óÑñÑ¡δ ΓαÑí«óá¡¿∩ ¬ ñá¡¡δ¼ ñ½∩ ¬áªñ«⌐ ¿º ¡¿σ.
  3218.  
  3219.  
  3220.  
  3221.  
  3222.       Turbo Vision ñ½∩ æ++         = 82 =
  3223.  
  3224.                Æáí½¿µá 2.1. äá¡¡δÑ ñ½∩ «íΩÑ¬Γ«ó π»αáó½Ñ¡¿∩ »á¡Ñ½¿ ñ¿á½«úá      
  3225.           ────────────────────────────────────────────────────────────
  3226.            ¥½Ñ¼Ñ¡Γ π»αáó½Ñ¡¿∩                ÆαÑíπѼδÑ ñá¡¡δÑ
  3227.           ────────────────────────────────────────────────────────────
  3228.           è¡«»¬¿ ß ¡Ñºáó¿ß¿¼«⌐ Σ¿¬ßᵿÑ⌐       Word (ß½«ó«)
  3229.           îÑΓ¬á                                ¡¿¬á¬¿Ñ
  3230.           è¡«»¬¿ ß ºáó¿ß¿¼«⌐ Σ¿¬ßᵿÑ⌐         Word (ß½«ó«)
  3231.           îÑΓ¬á                                ¡¿¬á¬¿Ñ
  3232.           æΓ᫬á óó«ñá                         string[128] (ßΓ᫬á)
  3233.           îÑΓ¬á                                ¡¿¬á¬¿Ñ
  3234.           è¡«»¬á                               ¡¿¬á¬¿Ñ
  3235.           è¡«»¬á                               ¡¿¬á¬¿Ñ
  3236.           ────────────────────────────────────────────────────────────
  3237.  
  3238.            ÄΓ«íαáªáѼδÑ «íΩѬΓδ,  ¬«Γ«αδÑ ¡Ñ ΓαÑíπεΓ ñá¡¡δσ (ΓᬿÑ, ¬á¬
  3239.       ¼ÑΓ¬¿ ¿  ¬¡«»¬¿) ¿ß»«½∞ºπεΓ ¼ÑΓ«ñ getData,  ¬«Γ«αδ⌐ «¡¿ ¡áß½ÑñπεΓ
  3240.       «Γ ¬½áßßá TView,  ¬«Γ«αδ⌐ ¡Ñ óδ»«½¡∩ÑΓ ¡¿¬á¬¿σ ñÑ⌐ßΓó¿⌐,  »«φΓ«¼π
  3241.       óδ  ºñÑß∞ ¡Ñ ñ«½ª¡δ «íαáΘáΓ∞ ¡á ¡¿σ ó¡¿¼á¡¿Ñ.  ¥Γ« «º¡áτáÑΓ,  τΓ«
  3242.       »α¿ »«½πτÑ¡¿¿ ¿ ºáñá¡¿¿ ñá¡¡δσ óδ ¼«ªÑΓÑ »α«¿ú¡«α¿α«óáΓ∞ ¼ÑΓ¬¿  ¿
  3243.       ¬¡«»¬¿.
  3244.  
  3245.            Æᬿ¼ «íαẫ¼,  óδ ¿¼ÑÑΓÑ ºñÑß∞ ñѽ« ß  ΓαѼ∩  «Γ«íαáªáÑ¼δ¼¿
  3246.       «íΩѬΓἿ »á¡Ñ½¿  ñ¿á½«úá:  ¬¡«»¬á¼¿  ß  ¡Ñºáó¿ß¿¼«⌐  ¿ ºáó¿ß¿¼«⌐
  3247.       Σ¿¬ßᵿÑ⌐ ¿ ßΓ᫬«⌐ óó«ñá. èᬠí佫 «Γ¼ÑτÑ¡« óδΦÑ, ñá¡¡δÑ ¿º «íΩ-
  3248.       Ñ¬Γ«ó ¬½áßΓÑαá σαá¡∩Γß∩ ó »«½Ñ ñá¡¡δσ Γ¿»á ushort.  äá¡¡δÑ ßΓ᫬¿
  3249.       óó«ñá σαá¡∩Γß∩ ó ßΓ᫬Ñ.  éδ ¼«ªÑΓÑ ºáñáΓ∞ ºá»¿ß∞ ñá¡¡δσ ñ½∩ φΓ«⌐
  3250.       »á¡Ñ½¿ ñ¿á½«úá ó «íΩ∩ó½Ñ¡¿¿ ú½«íá½∞¡«ú« Γ¿»á:
  3251.  
  3252.             struct DialogData
  3253.             {
  3254.                 ushort checkBoxData;
  3255.                 ushort radioButtonData;
  3256.                 char inαutLineData[128];
  3257.             };
  3258.  
  3259.            ÆÑ»Ñα∞ óá¼  ΓαÑíπÑΓß∩  ½¿Φ∞  ¿¡¿µ¿á½¿º¿α«óáΓ∞ ºá»¿ß∞ »α¿ ºá-
  3260.       »π߬Ѡ»α«úαá¼¼δ  (σ«α«Φ¿¼  ¼ÑßΓ«¼  ñ½∩ φΓ«ú« ∩ó½∩ÑΓß∩ ¬«¡ßΓαπ¬Γ«α
  3261.       MyApp.Init),  ºáñáΓ∞ ñá¡¡δÑ »α¿ óσ«ñÑ ó »á¡Ñ½∞  ñ¿á½«úá  ¿  ó¡«ó∞
  3262.       ßτ¿ΓáΓ∞ ¿σ,  »α¿ πß»ÑΦ¡«¼ ºá¬αδΓ¿¿ »á¡Ñ½¿ ñ¿á½«úá. Å«ß½Ñ «íΩ∩ó½Ñ-
  3263.       ¡¿∩ Γ¿»á Γᬿ¼ «íαẫ¼ óδ «íΩ∩ó½∩ÑΓÑ π¬áºáΓѽ∞:
  3264.  
  3265.               DialogData *demoDialogData;
  3266.  
  3267.       ºáΓѼ ñ«íáó½∩ÑΓÑ «ñ¡π ßΓ᫬π ñ« óδ»«½¡Ñ¡¿∩ «»Ñαᵿ¿ »á¡Ñ½¿ ñ¿á½«-
  3268.       úá ¿ «ñ¡π »«ß½Ñ:
  3269.  
  3270.            // ß«σαá¡∩Ѽ ñá¡¡δÑ »á¡Ñ½¿ ñ¿á½«úá:
  3271.            αd->setData( demoDialogData );
  3272.  
  3273.            ushort control = deskToα->execView( αd );
  3274.  
  3275.            // ºáΓѼ, Ñß½¿ ñ¿á½«ú ºáóÑαΦ¿½ß∩ πß»ÑΦ¡«, τ¿ΓáѼ ¿σ ß¡«óá
  3276.            if( control != cmCancel )
  3277.  
  3278.       Turbo Vision ñ½∩ æ++         = 83 =
  3279.  
  3280.                αd->getData( demoDialogData );
  3281.            }
  3282.  
  3283.       á ΓᬪѠΦÑßΓ∞ ßΓ᫬ ¬ ¬«¡ßΓαπ¬Γ«α𠬽áßßá TMyApp ñ½∩ ºáñá¡¿∩ »Ñα-
  3284.       ó«¡áτá½∞¡δσ º¡áτÑ¡¿⌐ ñ½