читать лучше с начала!
На сайті розглядаються основи роботи з мультимедійною інформацією на персональному комп'ютері. Описано ряд програм для закису, обробки й відтворення звуку й зображення.
Представлено деякі Wіndows-програми комунікацій реального часу ( ІP-Телефонії).
Також сайт присвячен розробці власних програм для роботи з аудио й відео, передачі звукової й візуальної інформації в локальних мережах і Інтернеті.
Серед наших користувачів, як правило, користувачі комп'ютера в дома й в офіса, так і на починаючих розроблювачів програмного забезпечення - ми даємо основи програмування в середовищі Borland C++ Buіlder. Наша аудиторія - це, перш за все, школярі старших класів, студенти і широке коло людей, що просто використовують комп'ютер вдома й на роботі.
Напомним, мы не предоставляем готовые программы, у нас Вы не сможете скачать офис, антивирус или игру ни платно, ни бесплатно!
МОЖЛИВОСТІ ТЕРМІНАЛІВ
Тепер, коли ми маємо поняття про характеристики термінальних интерфейсов, давайте перейдемо до можливостей терміналів. МОЖЛИВОСТІ це ті функції, які виконує апаратура термінала. Якщо ми знаємо
цю інформацію, ми можемо створити список можливих функцій і использовать його, наприклад, для роботи редактора vi. Це здійснюється при
допомоги спеціального файлу даних termcap (terminal capabilities - візможности термінала), що описує можливості термінала.
Більшість із існуючих типів терміналів уже занесені у файл
termcap. Це файл /etc/termcap. Файл termcap і редактор vi відбуваються
із системи Berkeley. Така комбінація виявилася настільки ефективної,
що була перенесена в System V. У більше пізньої System V Release 3
файл termcap уже не використовується, його заміняє файл terminfo фірми
AT&T. Ми застосовували файл terminfo разом з командним файлом today в
главі 5, але докладне обговорення terminfo виходить за межі нашої
книги. У системі Berkeley файл termcap як і раніше залишається стандартім, і він заслуговує більше детального розгляду.
Є документація по termcap, але не думайте, що ви з її
багато довідаєтеся. У документації приводяться імена й однорядкові описи
підтримуваних функцій, але немає інформації про те, як формувати з
нічого запису цього файлу. Найкраще, що ми можемо порадити,
це взяти наявний запис і змінити її.
Як приклад ми приводимо запис файлу termcap для компьютера Apple II. Цей опис поширений у різних формах, але наш
приклад ставиться до відеоплати Videx UltraTerm для Apple II+. Помітимо,
що можливості, надавані файлом termcap, є звичайно подмножеством тих можливостей, які фактично надає апаратура. Зокрема, відеоплата в комп'ютері Apple виконує деякі
функції, які не вміє робити файл termcap, наприклад комбінації
настроечных битов для зміни відеоатрибутів. Якнайбільше, що ми
можемо зробити з відеоатрибутами за допомогою файлу termcap, це включить або виключити інверсне відображення.
З іншого боку, деякі типи апаратури не мають всіма
можливостями, забезпечуваними файлом termcap. Наприклад, однієї з
функцій, який бракує в Apple, є функція прокручування
("scroll reverse"). Апаратура не робить цього, тому й в termcap
немає необхідності мати опис цієї функції. Замість скролінга
(прокручування) долілиць, відображуваний на екрані текст продовжує виводитися в
верхньому рядку.
Для того, щоб одержати подання про те, як termcap соотносить загальні характеристики термінала з конкретними можливостями,
зрівняємо термінали Apple і vt52. Два відповідні записи в termcap
мають багато схожих функцій, але зовсім різні коди для їх выполнения. Приведемо приклад умісту файлу termcap:
a2|aii|Apple II with UltraTerm :\
:bl=^G:\
:bs:\
:cd=^K:\
:ce=^]:\
:cl=^L:\
:cm=^^%r%+ %+ :\
:co#80:\
:cr=^M:\
:do=^J:\
:ho=^Y:\
:kb=^H:\
:kd=^J:\
:kl=^H:\
:kr=^\\:\
:ku=^_:\
:le=^H:\
:li#24:\
:nd=^\\:\
:nl=^J:\
:se=^O:\
:so=^N:\
:up=^_:
У табл. 7-1 представлений список функцій файлу termcap із сопоставлением терміналів Apple і vt52. Якщо яка-небудь функція відсутня в
одного або іншого термінала, це відзначається словом "ні".
Таблиця 7-1
Термінальні можливості і їхні конкретні значення
Функція Apple II vt52
bl - звуковий сигнал ^G ^G
(bell)
bs - повернення на крок по коду ^H так да
(can backspace with ^H)
cd - очищення до кінця екрана ^K \EJ
(clear to end of display)
ce - очищення до кінця рядка ^] \EK
(clear to end of line)
cl - очищення всього екрана ^L \EH\EJ
(clear entire screen)
cm - рух курсору ^^%r%+ %+ \EY%+ %+
(cursor motion)
co - число позицій у рядку #80 #80
(number of columns in a line)
cr - повернення каретки ^M ^M
(carriage return)
do - зрушення на рядок долілиць ^J ^J
(down one line)
ho - курсор у початок екрана
(без команди cm) ^Y \EH
(home cursor)
kb - код клавіші backspace ^H ^H
(sent by backspace key)
kd - код клавіші "стрілка долілиць" ^J \EB
(sent by down arrow key)
kl - код клавіші "стрілка вліво" ^H \ED
(sent by left arrow key)
kr - код клавіші "стрілка вправо" ^\\ \EC
(sent by right arrow key)
ku - код клавіші "стрілка нагору" ^_ \EA
(sent by up arrow key)
le - курсор уліво ^H ^H
(cursor left)
li - число рядків екрана #24 #24
(number of lines per screen)
nd - пробіл, що не стирає, ^\\ \EC
(nondestructive space)
nl - символ перекладу рядка ^J ^J
(newline character)
pt - наявність апаратної табуляції немає да
(has hardware tabs)
se - звичайний екран ^O немає
(end stand out mode (normal))
so - інверсний екран ^N немає
(begin stand out mode (inverse))
sr - прокручування немає \EI
(scroll reverse)
ta - символ табуляції ^I ^I
(tab)
up - зрушення нагору на рядок немає ^_
(up a line)
Саме цікаве тут, напевно, те, що термінали vt52 і Apple
мають взаємно зворотний порядок вказівки координат у команді руху
курсору. Термінал vt52 сприймає значення x і y у порядку YX, що
є умовчанням для файлу termcap. Apple сприймає їх у порядку
XY, тому в записі файлу termcap потрібно поміняти координати
місцями, що зазначено позначенням %r у функції cm.
Файл termcap дозволяє вам сховати основну інформацію про специфических характеристиках термінала (за винятком характеристик, доторые можуть отсутствовать у термінала, або спеціальних можливостей,
які не описані в termcap). Це значить, що ви можете створювати
терминально-незалежні програми. При цьому вам немає необхідності зміняти всі специфічні звертання до термінала, такі як ESC-Последовательности (символи, що вказують терміналу, що передані після
їх символи (символ) повинні інтерпретуватися як керуючі коди).
Це символи (\E) для термінала vt52 і (^) для Apple.
Найкращий приклад - спосіб використання файлу termcap редактором
vi. Він починає виконувати зазначену йому функцію, наприклад рух
курсору, після чого порушує питання: "Який код функції, що ми хотім виконати?". Потім він шукає відповідну послідовність в
тієї інформації, що надає termcap.
З іншого боку, іноді вам необхідно оптимізувати яку-небудь
функцію по швидкості, змусивши неї посилати коди безпосередньо на определенный термінал. У цьому випадку вам знов-таки корисний файл
termcap, оскільки ви можете знайти необхідну інформацію в соответствующем файлі termcap, після чого закодувати цю інформацію в
вашій програмі. Це ми й робимо в першій інструментальній програмі
даної глави - програмі 'c'.
ІМ'Я: c
c Швидке очищення екрана
[
...]
Початок [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188] [189] [190] [191] [192] [193] [194] [195] [196] [197] [198] [199] [200] [201] [202] [203] [204] [205] [206] [207] [208] [209] [210] [211] [212] [213] [214] [215] [216] [217] [218] [219] [220] [221] [222] [223] [224] [225] [226] [227] [228] [229] [230] [231] [232] [233] [234] [235] [236] [237] [238] [239] [240] [241] [242] [243] [244] [245] [246] [247] [248] [249] [250] [251] [252] [253] [254] [255] [256] [257] [258] [259] [260] [261] [262] [263] [264] [265] [266] [267] [268] [269] [270] [271] [272] [273] [274] [275] [276] [277] [278] [279] [280] [281] [282] [283] [284] [285] [286] [287] [288] [289] [290] [291] [292] [293] [294] [295] [296] [297] [298] [299] [300] [301] [302] [303] [304] [305] [306] [307] [308] [309] [310] [311] [312] [313] [314] [315] [316] [317] [318] [319] [320] [321] [322] [323] [324] [325] [326] [327] [328] [329] [330] [331] [332] [333] [334] [335] [336] [337] [338] [339] [340] [341] [342] [343] [344] [345] [346] [347] [348] [349] [350] [351] [352] [353] [354] [355] [356] [357] [358] [359] [360] [361] [362] [363] [364] [365] [366] [367] [368] [369] [370] [371] [372] [373] [374] [375] [376] [377] [378] [379] [380] [381] [382] [383] [384] [385] [386] [387] [388] [389] [390] [391] [392] [393] [394] [395] [396] [397] [398] [399] [400] [401] [402] [403] [404] [405] [406] [407] [408] [409] [410] [411] [412] [413] [414] [415] [416] [417] [418] [419] [420] [421] [422] [423] [424] [425] [426] [427] [428] [429] [430] [431] [432] [433] [434] [435] [436] [437] [438] [439] [440]