Форум: "Начинающим";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
Внизнечитабельные символы. Найти похожие ветки
← →
again (2006-11-09 17:34) [0]Как корректно проверить строку на нечитабельные символы? Интересует не сам процесс, я и сам догадаюсь: проверить в цикле все символы строки на наличие таких символов; но как проверить?
for... if myString[i] in ["a".."Z", "а".."Я", "0".."9"] -- но это же далеко не все значения читабельных символов, как быть с теми например которые физически отсутствуют на клавиатуре, но могут быть вставлены например через таблицу сиволов. Значит наверное нужно указать диапазон ascii таблицы читабельных символов, какой он?
Спасибо!
← →
Jeer © (2006-11-09 17:36) [1]#0..#31
А про это ты не в курсе ?
← →
Percent (2006-11-09 17:36) [2]Что значит "нечитабельные"?
Пробел - нечитабельный или где?
Или ты имеешь в виду контрольные символы, те, у которых коды от 0 до 31?
← →
Jeer © (2006-11-09 17:41) [3]Если человек не знает английский для него "нечитабельные" латинские символы, наверное так:)
← →
Desdechado © (2006-11-09 17:56) [4]араб китайца не услышит, индеец руса не поймет
← →
Ketmar © (2006-11-09 17:56) [5]а #127 -- это "читабельный"? а как "прочесть" #255 в CP866?
← →
again (2006-11-09 18:00) [6]нечитабельные - это те, которые не имеют собственного графического образа при выводе на экран (Например #10,#13). Пробел - читаем.
Вот такой код не пропускает вообще любые символы. Я идиот?for i := 0 to Length(FirstName.Text) - 1 do
if FirstName.Text[i] in [ #0..#31] then
begin
ShowMessage("Invalid!");
Exit;
end;
← →
Jeer © (2006-11-09 18:01) [7]Ketmar © (09.11.06 17:56) [5]
> а как "прочесть" #255 в CP866?
EOF
← →
Desdechado © (2006-11-09 18:02) [8]> Я идиот?
Ты Exit;)
← →
RWolf © (2006-11-09 18:02) [9]
> нечитабельные - это те, которые не имеют собственного графического
> образа при выводе на экран (Например #10,#13).
это смотря как выводить.
← →
again (2006-11-09 18:04) [10]выводить в TEdit, не многострочный. Вот тут уже увидел что и #127 тоже ничитаем, хотя и не входит в правило 0..31.
← →
again (2006-11-09 18:10) [11]Ну а есть другое правило, под которое можно собрать все такие символы 0..31, 127, ещё какие-то?
← →
Ketmar © (2006-11-09 18:17) [12]>[6] again 9-Nov-2006, 18:00
>нечитабельные - это те, которые не имеют собственного
>графического образа при выводе на экран (Например #10,#13).
>Пробел - читаем.
да? у пробела нет образа. он пустое место. а вот #10, #13 -- они, например, у меня в CDM выглядят как вполне себе с образом. один -- квадратик с кружком, второй -- нотка.
← →
again (2006-11-09 18:34) [13]Ну т.е. исходя из этого утверждения, можно сказать, что нечитабельных символов не существует. Так что ли получается?
← →
Anatoly Podgoretsky © (2006-11-09 18:44) [14]> again (09.11.2006 17:34:00) [0]
Диапазон Char
← →
Anatoly Podgoretsky © (2006-11-09 18:45) [15]> again (09.11.2006 18:00:06) [6]
В таком случае и #10,#13 читаемы.
Тебе придется делать кучу таблиц, по одной на кодовую таблицу и шрифт.
← →
Anatoly Podgoretsky © (2006-11-09 18:47) [16]> again (09.11.2006 18:34:13) [13]
Вывод неверный, точнее ложный, если ты понял про что
← →
Ketmar © (2006-11-09 18:53) [17]ты чётко определи диапазон "нечитабельных". кому, как не тебе лучше знать, что именно твоя программа должна таковыми считать?
← →
again (2006-11-09 18:54) [18]Хорошо, ограничу только эти символы: a..Z, 0..9, а..Я, *!"№;%..., но как быть с например #$%!&(_. Их в множество можно задать? ~..+
Каков числовой кодовый дипапазон только этих символов, что бы можно было сделать так?: if Ord(..[i]) > ? or ? < Ord(..[i])...
← →
guav © (2006-11-09 18:58) [19]> for i := 0 to Length(FirstName.Text) - 1 do
строки индексируются с единицы (и, соответственно, длина строки равна индексу последнего символа).
← →
Anatoly Podgoretsky © (2006-11-09 18:59) [20]
> Каков числовой кодовый дипапазон только этих символов,
Ты что не читатель? Диапазон Char
← →
again (2006-11-09 19:05) [21]
> Диапазон Char
Ну так можно сказать и вся таблица ascii. Char = может принимать 256 значений. Я же ограничил критерий нечитабельности.
← →
Ketmar © (2006-11-09 19:06) [22]>[18] again 9-Nov-2006, 18:54
>Хорошо, ограничу только эти символы: a..Z, 0..9, а..Я, *!"
>№;%..., но как быть с например #$%!&(_. Их в множество
>можно задать? ~..+
любой AnsiChar можно запихать в set. так и пихать, в кавычках, друг за дружкой. сами кавычки -- кодом (#39). в чём проблема-то?
← →
Percent (2006-11-09 19:08) [23]А как там дела обстоят с MBCS? Какие коды символов там считаются "нечитабельными"?
← →
again (2006-11-09 19:09) [24]Проблемы нет, можно конечно и запихать, но почему бы тогда вместо a..z, не запихать a, b, c, d, .. z. Если есть код символов отвечающий скажем с ! до & в диапазоне скажем 60-67 (пример). Зачем запихивать когда можно указать в условии этот диапазон.
← →
Percent (2006-11-09 19:11) [25]Лень-матушка обуяла.
Напиши один раз функцию и не парь мозги себе и форуму.
← →
Anatoly Podgoretsky © (2006-11-09 19:24) [26]> again (09.11.2006 19:09:24) [24]
F1 + Set
← →
Ketmar © (2006-11-09 19:54) [27]>[24] again 9-Nov-2006, 19:09
даю эксклюзивную подсказку:charmap.exe
.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.043 c