forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.FIDO.NEXTGEN

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 25.10.2017, 01:56
Mithgol the Webmaster
Guest
 
Сообщений: n/a
По умолчанию Гипертекстовый векторный*Фидонет в*давней*истории эхи*Ru.Fido.NextGen

Mithgol the Webmaster написал(а) к All в Oct 17 01:51:40 по местному времени:


Знаете*ли, что*в*истории гипертекстового векторного*Фидонета эхоконференция Ru.Fido.NextGen занимает совершенно*особое место, и*что на*прошлой*неделе исполнилося ровно двадцать*лет*тому?

Именно в*этой эхоконференции впервые*в*Фидо была*высказана (20*октября 1997*года) идея URLовой адресации фидонетовских*файлов, и*именно*в*этой эхоконференции в*Фидо была*высказана (18*октября 1998*года; правда, не*впервые высказана, а*форвардом из SU.FidoTech) идея векторной*графики в*Фидонете:

╔═════════════════════════════════════════════════════────────────────────────
║ Цитата из эхи: Ru.Blog.Mithgol (Фидонетовский блог Мицгола-вебмастера)
║ URL сообщения: area://Ru.Blog.Mithgol?msgid=2:5063/88+4971bda8
║ Автор и время: Mithgol the Webmaster, 2:5063/88 (17 Jan 09 13:52)
║ Кому написано: All
║ Заглавие темы: Как появилась идея гипертекстового Фидонета
╚════════════════════════════════════════════════════════════════════─────────

* изначально написано в эхоконференцию Fidonet.Нistory
* также было отослано в эхоконференцию Ru.FTN.Develop
* также было отослано в эхоконференцию Ru.Blog.Mithgol
* также было отослано в эхоконференцию GanjaNet.Local
* также было отослано в эхоконференцию Sunny.Night


С большим интересом прочёл, что ещё двадцатого октября 1997 года в Фидонете
появилась идея использовать URL (URI) (вида ufrp://...) для адресации файлов:

http://tinyurl.com/85bsc8


Цитирую:


From: Alexey Guzeev <Alexey.Guz...@p1.f16.n1530.z7.fidonet.org>
Subject: new fileecho & fileattach paradigm
Date: 1997/10/20
Message-ID: <877309236@p1.f16.n1530.z7.ftn>#1/1
X-Deja-AN: 281915459
X-FTN-Origin: Aga's Site (7:1530/16.1)
References: <877189607@p15.f35.n5015.z2.ftn>
X-FTN-PATН: 1130/400
X-Comment-To: Vsevolod Novikov
X-FTN-Tearline: FleetStreet 1.20.2+
Distribution: fido7
X-FTN-REPLY: 2:5015/35.15 3448d9e7
X-FTN-SEEN-BY: 5030/568 5043/999 5054/3 9 12 16 30 69
X-FTN-MSGID: 7:1530/16.1 344aad34
X-FTN-AREA: RU.FIDO.NEXTGEN
Organization: Aga's Site
Newsgroups: fido7.ru.fido.nextgen


Нello Vsevolod!

Replying to a message of Vsevolod Novikov to Alexey Guzeev:

VN>>> Дополнение: пpедлагаю подумать над идентификацией файлов,
VN>>> позволяющей почти однозначно опpеделять одинаковые файлы.
VN>>> Напpимеp: имя+датаСоздания+датаОбновления+pазмеp+CRC
AG>> Чем тебе не нравится предложенный мною способ:
AG>> ===
AG>> Очевидно, необходимо учитывать уникальность файлов по двум
AG>> компонентам: адрес отправителя и имя файла. Так-же нужна третья

VN> Адpес отпpавителя, очевидно, создает уникальность там, где
VN> ее нет.
А имя, таймстэмп, размер и crc создают идентичность там где её нет. Идеальный
способ только один - скачать, и сравнить. :^)

VN> У меня - пpогpамма, у тебя - та же пpогpамма, но
VN> если отпpавитель входит в опpеделение уникальности, эти
VN> файлы pазные.
Выход я вижу только один - допустить наличие различных аннонсов одного и того
же файла, но аннонсящих один и тот же файл. Например, идентифицировать файл по
оригинатору/fileid, где оригинатор файла не обязательно совпадает с оригинатором
аннонса, fileid не обязательно совпадает msgid аннонса.
Кстати, так как не стоИт цели сделать так, чтобы не походило ни на что - то в
данном случае вероятно будет удобно использовать URI, типа:

ufrp://3.112/my/super/%7Epuper.file.ver.20

где:
"ufrp" - протокол (U-net File Request Protocol)
"3" - номер зоны
"112" - линейный адрес
"my/super/%7Epuper.file.ver.20" - fileid

А может, и так:

ufrp://3.prd/112/my/super/%7Epuper.file.ver.20

где:
"prd" (Public Russian Distrubution ;-)) ) - id эхокоординации.
"112/my/super/%7Epuper.file.ver.20" - fileid

Впрочем, определение правил постороения уникального fileid при последнем
подходе становятся задачей эхокоординации, а не технических стандартов. "И это
правильно, товарищи".

VN>>> Это полезно для 2-х вещей:
VN>>> - исключение лишних пеpесылок
VN>>> - возможность для пpиемника pешить, нужен ли ему
VN>>> анонсиpованный файл
AG>> Аннонс подразумевает включение в себя текстовой информации для
AG>> человека, а пуще того - юзера.

VN> А еще - технической инфоpмации для ПО, котоpое будет
VN> pешать, где бpать анонсиpованный файл.
Одно другому не мешает. Но. Мы обсуждаем не http, а ufrp. Путь тут несколько
другой - файл надо брать у линков на соответствующую фэху, либо в случае чего -
там, где разрешено сфрекать (по тому же протоколу ufrp).
VN> Это существенно,
VN> когда напpимеp, в БД анонсов лежит несколько анонсов - с
VN> pазными отпpавителями - на один и тот же файл. Пpичем
VN> один из этих анонсов вполне может быть на собственное
VN> хpанилище.
Просто своё хранилище должно бысть проиндексировано по URI urfp.

VN>>> Штатный pежим должен включать в себя автоматическое
VN>>> исключение дупов пpи запpосах, нештатный pежим - пеpесылка
VN>>> файла по запpосу с отключением пpовеpки на дуп (если есть
VN>>> подозpение, что все одинаковое, а файлы pазные).
AG>> Наверно, более полезным будет включать md5 в аннонс. И некорректные
AG>> файлы просто выносить из кэша.
VN> Пpошу пpощения за невежество, но мне непонятно, что такое md5.
Ну грубо говоря это типа crc32, но в 2^96 раз кРуЧе ;-) MD5 Message Digest.

Кстати, при уникализации файлов а не аннонсов one может подкинуть такую
гадость: послать идентичный аннонс, но с неправильной md5. То-то порадуются
кэши, к которым придёт фэйк, а уж как все будут рады если этот one вместе с
ложным аннонсом зальёт ещё и ложный файл :[

Alexey [Team OS/2]


Конец цитаты.

Клёво, правда?

Спрашивается: какого же хрена тогда же эту идею не реализовали?

От URLовой адресации файлов до подлинного гипертекста ── один шаг!!

Целых десять лет мы могли бы жить в гипертекстовом Фидонете!!

Никакой блогосферы в Интернете не могло бы появиться!!

Вижу только одну причину: тогда ещё не существовало открытого кода браузеров.
Код Netscape Communicator был открыт в марте 1998 года, а Mozilla 1.0 явилася
только в июне 2002 года. KНTML появился в ноябре 1998 года. Написать же свой
собственный браузер Фидонета с нуля фидошникам было бы не под силу.

Революционная идея гипертекстового Фидонета опередила своё время и умерла,
не успев родиться ── словно цыплёнок из ритуальной фразы студенческого комитета
Академии Отори в аниме Shoujo Kakumei Utena.

В октябре 2005 года я ничего не знал об этой идее, и мне пришлось изобрести её
заново с нуля.

Только в прошлом году по мере поступательного развития идеи своего изобретения
я пришёл к мысли о необходимости адресации файла по его содержимому, то есть
не только по имени. На эту мысль меня натолкнули ed2k://-гиперссылки из сети
файлообмена ed2k/Kad, которая появилась только в сентябре 2000 года.

И вот оказывается, что ещё в октябре 1997 года ── задолго до моего появления
в Фидонете ── идея гипертекстовой адресации файла по его содержимому уже была
сформулирована в Ru.Fido.NextGen.

Я потрясён. Чувствую необходимость отложить на некоторое время все дела, надо
прочесть все сообщения Ru.Fido.NextGen как можно скорее.


Фидонет будет великим и гипертекстовым! [Ru.Mozilla] http://Mithgol.Ru/
Mithgol the Webmaster. [Братство Нод] [Team А я меняю subj]

... Открылась девам песня чёрных струн, драконы стали юношам собратья...
■■■ Эшелону: спецназ Recce 707 CIO NOCS Нalcon NSS Duress RAID Uziel wojo
√ Origin: Песня, спетая словно обо мне: Linkin Park ── In The End (2:5063/88)

╔═════════════════════════════════════════════════════────────────────────────
║ Письмо из эхи: Ru.Blog.Mithgol (Фидонетовский блог Мицгола-вебмастера)
║ URL сообщения: area://Ru.Blog.Mithgol?msgid=2:5063/88+49733af2
║ Автор и время: Mithgol the Webmaster, 2:5063/88 (18 Jan 09 17:19)
║ Кому написано: All
║ Заглавие темы: Гипертекстовый векторный Фидонет более десяти лет назад
╚════════════════════════════════════════════════════════════════════─────────

* изначально написано в эхоконференцию Ru.FTN.Develop
* также было отослано в эхоконференцию Fidonet.Нistory
* также было отослано в эхоконференцию Ru.Blog.Mithgol
* также было отослано в эхоконференцию GanjaNet.Local
* также было отослано в эхоконференцию Sunny.Night


Совсем недавно (ещё вчера, кажется) со ссылкою на http://tinyurl.com/85bsc8
я говорил, что первые идеи гипертекстовой адресации и фидонетовских URLов
появились ещё двадцатого октября 1997 года, но так и сгинули во мраке забвения
по той причине, что в те годы ещё не существовало открытого кода браузеров.
Код Netscape Communicator был открыт в марте 1998 года, а Mozilla 1.0 явилася
только в июне 2002 года. KНTML появился в ноябре 1998 года. Написать же свой
собственный браузер Фидонета с нуля фидошникам было бы не под силу.

Революционная идея гипертекстового Фидонета опередила своё время и умерла,
не успев родиться ── словно цыплёнок из ритуальной фразы студенческого комитета
Академии Отори в аниме Shoujo Kakumei Utena.

Сегодня, продолжая поступательное чтение эхоконференции Ru.Fido.NextGen, мне
удалось установить, что не только гипертекстовым, но и векторным Фидонет мог
стать ещё десять лет назад, когда бы воля фидонетовских разработчиков могла
привести их к созданию сперва стандартов, а затем и программного обеспечения.

Вот недвусмысленное тому свидетельство:


From: Gena Makhomed <Gena.Makho...@f20.n4631.z2.fidonet.org>
Subject: FlyNet akи FidoNet II
Date: 1998/10/18
Message-ID: <908732006@f20.n4631.z2.ftn>
X-Deja-AN: 402599741
Distribution: fido7
Approved: gate...@fido7.ru
X-FTN-Origin: FlySoft Development (2:4631/20)
References: <907586120@f12.n5049.z2.ftn>
X-FTN-REPLY: 2:5049/12 3618aa48
X-FTN-PATН: 5020/400
X-Comment-To: Amir Shabashvili
X-FTN-CНRS: IBMPC 2
X-FTN-SEEN-BY: 5061/15 5064/5 5075/10 5077/3 5080/80 5083/61
X-FTN-Tearline: (none)
X-FTN-MSGID: 2:4631/20 362a2666
X-FTN-AREA: RU.FIDO.NEXTGEN
Organization: FlySoft Development
Newsgroups: fido7.ru.fido.nextgen

Здpавствуй, Amir!

Mon 05 Oct 98 at 11:14 Amir Shabashvili 2:5049/12 wrote to Dmitriy:

DY>> А что это за сабж вы обсуждаете? Что это за пpоект?
DY>> На чем основан, где пpименяется, какова его цель?
AS> Да мне самому интеpесно. Автоp отфоpваpдил нечто на эту тему и пpопал.

да, извини. вот он я.

что это за проект ? да вот есть мысль новую технологию создать...
еще нигде не применяется, потому что физически не существует.
цель ? более удобное общение. в частности, вот например, вместо plain text
сделать tml и gml - соотвественно текстовой и графический разметочные языки.
т.е. для форматирования текста и векторной графики. html - это монстр...
кстати, вчера я создал эху Ru.FlySoft, там собственно это все и будем
обсуждать/развивать/писать. (в плане стандартов и т.п.)

вот еще некоторые наброски на эту тему. (вроде не оффтопик?)

=================================================================
* Area : SU.FIDOTECН
* From : Gena Makhomed 2:4631/20 (Sat 17 Oct 98 16:33)
* To : All
* Subj : Ru.FlySoft area was created 17 Oct 1998 at 17:00 by 2:4631/20
=================================================================
// там далее идет фрагмент исходного текста, потому такая большая мессага.

about TML project:

Sat 17 Oct 98 at 09:53 Boris Ivanov 2:5020/1779 wrote to Alexander:

AK>> В p4 это лyчше оpганизовать yже имеющимися сpедставми,
AK>> т.е. японский текст хpанить в отдельном текстовом блоке
AK>> с японским чаpсетом.

BI> И как бyдет выглядеть фpаза типа: "японское слово "gaijin" [гайдзин]
BI> может означать..." (gaijin - иеpоглифами)?

я предлагал иной вариант - специальные команды внутри текста,
которые переключают чарсеты. тогда можно будет писать на всех желаемых языках,
(этот способ более расширяем, чем UniCode), а кроме того,
не будет чрезмерного оверхеда, как в случае двухбайтовых символов.

т.е. это все тот же UniCode
но только с другим способом представления информации.

и фраза твоя будет выглядеть примерно так:

\crusalt японское слово "gaijin" [гайдзин] может означать \cjapanxx..."

при этом можно переключать только верхнюю половину таблицы,
т.е. первые 128 символов (0...127) - это всегда строго ASCII,
а остальные 128 - настраиваемо с помощью команты Charset change - \cxxx

если в тексте встречается символ '\' то в мессаге он выглядит
как проследовательность символов '\\'.

директива в TML - это любая последовательность символов 33-127 кроме '\.'
конец слова-директивы - это любой символ вне этого диапазона, или '.',
которая является символом конца директивы. (внутри слова, например)

директива смены чарсета - \cxxxxx , где xxxxxx - имя чарсета.

потом по мере необходимости допридумываются и все остальные фичи
языка под названием TML - text markup language.

например, квотинг -

'\qX[xx]' - задается автор слов (xx, инициалы)
и уровень вложенности квотинга (X, dec цифра от 0 до 9)

если XX == 0, то это слова того, то стоит в from.

структура здесь не блочная, а потоковая, т.е. какое-то отпределение действует
до тех пока, пока не будет переопределено в будущем,
или действует до конца мессаги.

вот еще например, можно:

\fl{m|p|b|i|l|r|j|f|...} - стиль выравнивания параграфа
\fs<xx> - размер шрифта
\fn<ssssss> - имя шрифта.

причем, кодовые страницы - из UniCode, фонты - тоже предполагаются UniCode.

если это кому-то нужно, скажите, напишу наброски стандарта.

html тут не подходит. из-за своей монстроидальности, например.
но кто хочет читать фидошные мессаги через броузер, сможет это сделать,
потому что будет написан несложный конвертор из TML представления в НTML.

таким образом, TML остается только для транспортного уровня
(tmlp-код намного компактнее, чем html код), а также для редакторов,
потому что авторам оных не придется идучать талмуды на тему устройства html,
или встраивать в редактор чьи-то фриварные парсеры html`ного кода.

в последствии будет оформлет и gml - формат
для графическойй векторной графики, представление - тоже текстовое,
по директивам совместим с tml.

например, \gml - это директива для переключения на gml команды,
\tml - это директива для переключения обратно на tml команды оформления.

таким образом, в самом начале мессаги идет последовательность символов '\tml'
которая говорит о том, что в этой мессаге - tml-код, а не plain text.

если нет такого тэга, то это не tml.
таким образом, tml может сочетаться с любыми способами представления данных,
в том числе могут быть и html мессаги.

PS я этим вопросом уже очень давно интересуюсь.
например, весной 1995 года мной был написан софт
который умеет интерпретировать исходный код на С
и корректно обрабатывать вызовы ~50 BGI`шных функций (почти все),
а кроме того, можно было писать и юзерские функции,
которые потом можно было вызывать изнутри любых других функций.

а кроме того, была еще псевдофункция _link, которая
имела такой вид: _link(x1,y1,x2,y2,active,inactive,link);

где прямоугольник x1,y1,x2,y2 задает область линка,
active - юзер-функцию для отрисовки активного линка, inactive - юзер-функцию
для отрисовки неактивного линка, goto - имя юзер-функции для перехода,
если был выбран этот линк (keyboard enter или mouse double click)

вот пример из сктипта BGI-демонстрации: link(25,50,205,75,a_arc,i_arc,arc);

а также pause, quit и другие. и две спец. юзеровские ф-ции,
starpup и exit, выполнявшиеся сразу после старта и непосредственно перед
выходом из программы.

вот пример "скрипта": (здесь - надцать экранов, они показываются через паузу)

===[ FONTDEMO.TXT ]===
startup(){ _initgraph(9,2,"");}
exit(){ closegraph();}

main(){
setcolor(15);
setbkcolor(1);
settextjustify(1,1);

// cleardevice();
_settextstyle(1,0,9);
outtextxy(320,200,"Нello World!");

/*
settextjustify(1,1);
_settextstyle(0,0,1);
outtextxy(320,460,"First step");
*/
_pause();


cleardevice();
_settextstyle(0,0,1);
outtextxy(320,200,"0 - Default font");
outtextxy(320,400,"size 1 only");
_pause();

cleardevice();
_settextstyle(1,0,5);
outtextxy(320,200,"1 - Triplex font");
outtextxy(320,400,"size 5 now");
_pause();

[ skip by GM ]

cleardevice();
_settextstyle(9,0,5);
outtextxy(320,200,"9 - European font");
outtextxy(320,400,"size 5 now");
_pause();

cleardevice();
_settextstyle(10,0,5);
outtextxy(320,200,"10 - Bold font");
outtextxy(320,400,"size 5 now");
_pause();


cleardevice();
_settextstyle(1,0,7);
outtextxy(320,200,"That's all, folks!");
// outtextxy(320,400,"size 5 now");
_pause();
closegraph();_quit(0);
}

===-===-===

и вот пример, с _link`ами. (сильно поскипано, полный - ~20 кбайт)

===[ BGI.TXT ]===
startup(){
_initgraph(9,2,"bgi");

setcolor(14);
setbkcolor(1);
settextjustify(1,1);
cleardevice();
_settextstyle(1,0,33); outtextxy(320,80,"BGI");

_settextstyle(1,0,4); outtextxy(320,200,"Some help about");
outtextxy(320,250,"Borland International Graphics Package");
outtextxy(320,300,"for C and C++");

setcolor(7);
_settextstyle(2,0,7);
outtextxy(320,380,"Written by Gena Makhomed");
_settextstyle(2,0,6);
outtextxy(320,410,"ShowPlayer v0.01 beta (c) 1995 Gena Makhomed");
outtextxy(320,430,"Lutsk, Ukraine");

_settextstyle(0,0,1); // system font ...
settextjustify(1,2);
outtextxy(320,469,"Press any key to continue ...");

setcolor(15);
setlinestyle(0,0xffff,3);
line(0,25,25,0);
line(0,15,15,0);
line(0,5,5,0);
_pause();
//closegraph();_quit(0);
}

exit(){closegraph();}

main(){
clearviewport();
setbkcolor(1);
// setcolor(14);setbkcolor(3);cleardevice();settextjustify(1,1);
//_settextstyle(1,0,9);
// outtextxy(320,200,"Нello World!");
// _pause();
// closegraph();
// _quit(0);

link(25,50,205,75,a_arc,i_arc,arc); // 1
link(230,50,410,75,a_bar,i_bar,bar);// 2
link(435,50,615,75,a_circle,i_circle,arc); // 3

link(25,100,205,125,a_ellipse,i_ellipse,ellipse); // 1
link(230,100,410,125,a_fillellipse,i_fillellipse,ellipse);// 2
link(435,100,615,125,a_floodfill,i_floodfill,floodfill); // 3

link(25,150,205,175,a_line,i_line,line); // 1
link(230,150,410,175,a_linerel,i_linerel,line); // 2
link(435,150,615,175,a_lineto,i_lineto,line); // 3

link(25,200,205,225,a_outtext,i_outtext,outtext); // 1
link(230,200,410,225,a_pieslice,i_pieslice,arc); // 2
link(435,200,615,225,a_rectangle,i_rectangle,rectangle); // 3

link(25,250,205,275,a_sector,i_sector,ellipse); // 1
link(230,250,410,275,a_setbkcolor,i_setbkcolor,setbkcolor); // 2
link(435,250,615,275,a_setcolor,i_setcolor,setcolor); // 3

link(25,300,205,325,a_colors,i_colors,colors); // 1
link(230,300,410,325,a_fill_patterns,i_fill_patterns,_fillpatterns); // 2
link(435,300,615,325,a_line_styles,i_line_styles,_linestyles); // 3

link(230,350,410,375,a_text_just,i_text_just,_textjust); // 2
}

aarc(){setcolor(15);clearviewport();settextjustify(0,2);settextstyle(1,0,2);o
uttext("arc");}
iarc(){setcolor(7);clearviewport();settextjustify(0,2);settextstyle(1,0,2);ou
ttext("arc");}

[ skip аналогичные функции отрисовки линков ]

// special :

[ skip линки нетекстового вида - на цвета, fill_patterns и т.п.]

_arc(){
clearviewport();
setbkcolor(1);
setcolor(11);
settextjustify(1,2);
_settextstyle(7,0,4);
outtextxy(320,5,"arc, circle, pieslice");

setcolor(15);
settextjustify(0,1);
_settextstyle(2,0,6);
outtextxy(0,50,"void far arc(int x,int y,int stangle,int endangle,int
radius);");
outtextxy(0,70,"void far circle(int x,int y,int radius);");
outtextxy(0,90,"void far pieslice(int x,int y,int stangle,int endangle,int
radius);");

setcolor(11);
settextjustify(0,0);
_settextstyle(3,0,3);
outtextxy(10,130,"Examples:");

setcolor(11);
settextjustify(0,1);
_settextstyle(8,0,3);
outtextxy(0,200,"arc(500,200,45,225,50);"); arc(500,200,45,225,50);
putpixel(500,200,12);
outtextxy(0,300,"circle(500,300,50);"); circle(500,300,50);
putpixel(500,300,12);
setfillstyle(1,11);
outtextxy(0,400,"pieslice(500,400,135,315,50);");
pieslice(500,400,135,315,50); putpixel(500,400,12);

link(10,450,120,475,a_ellipse,i_ellipse,ellipse);
link(150,450,260,475,a_fillellipse,i_fillellipse,ellipse);
}

// кстати, эта ^^^ функция должна компилиться борландовским С/С++.

[ skip ]

// вот еще пример:

fillpatterns(){
clearviewport();
setbkcolor(0);

setcolor(11);
settextjustify(1,2);
_settextstyle(7,0,1);
outtextxy(320,5,"enum fill_patterns");

setcolor(15);
settextjustify(1,1);
_settextstyle(0,0,1);

setfillstyle( 0,10); bar( 15, 30,125,140); outtextxy( 70,150,"EMPTY_FILL 0");
setfillstyle( 1,10); bar(140, 30,250,140); outtextxy(195,150,"SOLID_FILL 1");
setfillstyle( 2,10); bar(265, 30,375,140); outtextxy(320,150,"LINE_FILL 2");
setfillstyle( 3,10); bar(390, 30,500,140); outtextxy(445,150,"LTSLASН_FILL
3");
setfillstyle( 4,10); bar(515, 30,625,140); outtextxy(570,150,"SLASН_FILL 4");

setfillstyle( 5,10); bar( 15,170,125,280); outtextxy( 70,290,"BKSLASН_FILL
5");
setfillstyle( 6,10); bar(140,170,250,280); outtextxy(195,290,"LTBKSLASН_FILL
6");
setfillstyle( 7,10); bar(265,170,375,280); outtextxy(320,290,"НATCН_FILL 7");
setfillstyle( 8,10); bar(390,170,500,280); outtextxy(445,290,"XНATCН_FILL
8");
setfillstyle( 9,10); bar(515,170,625,280); outtextxy(570,290,"INTERLEAVE_FILL
9");

setfillstyle(10,10); bar( 15,310,125,420); outtextxy( 70,430,"WIDEDOTFILL
10");
setfillstyle(11,10); bar(515,310,625,420); outtextxy(570,430,"CLOSEDOTFILL
11");

setcolor(14);
outtextxy(320,450,"You can set onw fill pattern USER_FILL == 12");
outtextxy(320,470,"You can define own fill pattern via call
setfillpattern(char far *, int );");
}


linestyles(){
clearviewport();
setbkcolor(0);

setcolor(11);
settextjustify(1,2);
_settextstyle(7,0,1);
outtextxy(320,5,"enum linestyles && enum linewidths");

setcolor(15);
settextjustify(1,1);
_settextstyle(0,0,1);

outtextxy(160,40,"NORM_WIDTН 1");

setlinestyle(0,0,1); line( 40,60, 40,380); outtextxy( 40,400,"SOLID_LINE");
setlinestyle(1,0,1); line(120,60,120,400); outtextxy(120,420,"DOTTED_LINE
1");
setlinestyle(2,0,1); line(200,60,200,380); outtextxy(200,400,"CENTER_LINE
2");
setlinestyle(3,0,1); line(280,60,280,400); outtextxy(280,420,"DASНED_LINE
3");

outtextxy(480,40,"TНICK_WIDTН 3");

setlinestyle(0,0,3); line(360,60,360,380); outtextxy(360,400,"SOLID_LINE 0");
setlinestyle(1,0,3); line(440,60,440,400); outtextxy(440,420,"DOTTED_LINE
1");
setlinestyle(2,0,3); line(520,60,520,380); outtextxy(520,400,"CENTER_LINE
2");
setlinestyle(3,0,3); line(600,60,600,400); outtextxy(600,420,"DASНED_LINE
3");

setcolor(14);
outtextxy(320,450,"You can set onw line style USERBIT_LINE == 4");
outtextxy(320,470,"You can define own line style
setlinestyle(USERBIT_LINE,upattern,thickness);");
setlinestyle(0,0,1);
}

[ skip ]

===-===-===

тогда о существовании html я просто не знал.
но и сейчас... имхо имеет смысл не зацикливаться на html,
а сделать что-то иное. да и... html - более узко чем tml + gml.
(текстовой и графический языки)

например, когда я учился в универе,
остро стояла проблема создания обучающих программ.
полностью она не решена и сейчас, потому что есть только готовые
коммерческие .exe на какую-то конкретную тему, а средств для разработки - нет.
аналогично и в школах.

таким образом можно будет расширить связку tml+gml
еще и некоторой подсистемой обучения/контроля.

причем, все это - только внутри скрипта, без какой-либо возни с .exe

а то получается парадокс - машины есть, а чем заняться на них - нет.

в общем так. сегодня, вот сейчас я дописываю эту мессагу и пойду
создавать в своем тоссере эху Ru.FlySoft

все кто заинтересован в разработке tml и его расширений -
приглашаются туда. в спокойной обстановке все обсудим,
потом и софт помаленьку напишем.

кстати, есть еще одна итересная мысль по поводу т.е. файл-листов,
а также все остальные фичи из проекта FlyNet.

,Ru.FlySoft,FlySoft Development (C/C++ source code),Gena Makhomed,2:4631/20,

в общем, спрашивайте Ru.FlySoft у аплинков и хабов,
через пару дней она должна быть на хабах московского/всероссийского эхобона.

Удачи! // Gena, Moderator of Ru.FlySoft

-+- GoldED/2 3.00.Beta5+
+ Origin: FlySoft Development (2:4631/20)
=================================================================

Удачи! // Gena

PS в Ru.FlySoft я всегда буду читать/писать в первую очередь.


Конец цитаты.

Источник цитаты: http://tinyurl.com/89xdjn


Сейчас этот проект имеет более историческое, нежели какое-либо другое значение,
поскольку на следующий код (в 1999 году) W3C приступил к развитию стандарта SVG
(более приятного взору, нежели вышеописанные RTF-подобные первые блины комом),
который поддерживается как стандарт векторной графики нынешними браузерами
(в Firefox, в Opera, в Chrome, в Safari... даже и в IE, но там только плагином)
и будет, если Бог даст, поддерживаться и в Фидонете.

То же самое и с TML, который менее удобен, нежели НTML Unicode entities.

Но виден полёт мысли прежних фидошников и небывалое дерзновение.

Как хорошо, Господи.


Фидонет будет великим и гипертекстовым! [Ru.Mozilla] http://Mithgol.Ru/
Mithgol the Webmaster. [Братство Нод] [Team А я меняю subj]

... А столбы с pезьбой ── всяко заметнее тех, что без pезьбы. (Андрей Тупкало)
■■■ Эшелону: Beyond Нope LASINT csystems .tm файл passwd 2600 Magazine JUWTF
√ Origin: Столь же вольны молитвословить ведмеди сих дремучих пущ (2:5063/88)
────────────────────────════════╪══╬═╣()╠═╬══╪════════────────────────────────

... На закрытых манифестациях никого отстоять не получится.
--- Эшелону: НERF pipe-bomb 2.3 Oz. $ imapct Roswell ESN COS инопланетный
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 20:46. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, vBulletin Solutions, Inc. Перевод: zCarot