October 2025
|
|
|
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 |
|
2/23/18 10:38 pm
Текстовый редактор FOTON для DOS
Охрененная софтина была для 1989 года. Макросы, возможность компиляции программ, не выходя из бассейна из редактора и множество передовых фишек для того времени. А самое главное, в нем есть одна штука, которой до сей поры нет ни в одном более современном текстовом редакторе. Выделение прямоугольных блоков текста! Которые можно переносить, вставлять и т.д. Вот нет такого больше нигде и все, а надо иногда. Причем настолько надо, что периодически пользуюсь сим олдовым произведением программерского искусства. Хоть сам бери и пиши редактор с подобной функцией, блин.UPD. Есть, оказывается. Не знаю насчет vim и emacs, правда, но Notepad++ делает как надо. И Far (по Аlt+стрелки). А вот Студия делает, но не совсем так.
Его собственная внутренняя демка: https://youtu.be/vc5ONlBnPrgСкачатьЭто репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2018/02/23/tekstovyj-redaktor-foton-dlya-dos/
2/27/18, 11:28 pm
А что имеется в виду под кодовой таблицей в твоём случае? В моем случае имеется ввиду, что программа должна разобраться, какую кодировку вводит пользователь (в смысле пользователь вводит CodePage, которую принимает Encoding.GetEncoding, или выбирает из списка доступных) и отобразить все символы, которые только есть в виде таблицы, как я сделал в примере для однобайтовых. В принципе, начало положено. Однобайтовые можно отделить от других флагом IsSingleByte, с Юникодовскими я тоже примерно представляю как решить, взять диапазоны для чартов и каждый отображать отдельно.
Остается два вопроса 1. Как отделить варианты Юникода от других кодировок. Флага IsUnicode вроде нет, а как я понямаю, UTF-16, UTF-8, UTF-7 или UTF-32 кодируют одно и то же, только разными способами, посему набор символов один для всех. Можно эту самую страничку с charts прямо с сайта скачать и распарсить. На том же unicode.org вроде где-то был файлик в plaintext или csv с тем же содержимым. 2. Про многобайтовые CP для мунспиков. Или переложить на плечи студента пояснительную записку, по типу "а хз что это такое, спецификации на китайском", или как-то эффективно их "сбрутфорсить", отобразить все возможные комбинации. Получится что-то типа RAW-просмотра, но хоть что-то.
Да, препод ебнутый, студент тупой, мы случайно оказались "в ответе за того, кого приручили", к тому же желательно решить без лямбда-выражений, потому что и студент не дошел еще до них, и мы не сталкивались, и учебник у них столетний по .NET Framework 2.0
2/28/18, 06:51 pm
А вообще под виндой есть charmap, можешь там подсмотреть как сделано.
Студент хоть ебабельный? ;)
2/28/18, 10:03 pm
charmap немного не то, он выводит все символы заданного шрифта. По чармапам видел неплохие примеры на C#
К сожалению нет. Это пожилой и страшненький капитан какого-то второстепенного военного корыта. Он вроде даже на ЛЖР есть.
2/28/18, 10:37 pm
> он выводит все символы заданного шрифта Отнюдь нет. Если тыцнешь галочку advanced, то там как раз появится выпадающий список с кодовыми таблицами.
И, кстати, шрифт это весьма важный вопрос -- если у тебя есть символ, но нет отображающего его глифа, как ты его будешь показывать?
2/28/18, 11:39 pm
>Если тыцнешь галочку advanced Привязанный к данному шрифту. Если шрифт не может в Юникод, как Fixedsys, например, то комбобокс с выбором кодировки будет неактивен.
Важный, потому на этот случай должна быть возможность выбора шрифта (и уже сделана), а так же, какой-нибудь встроенный шрифт, умеющий в Юникод (т.к. Encoding все равно перекодирует все символы в Юникод, ЕМНИС UTF-16, и их уже использует в программе, в т.ч. и отображает).
|