Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1162787729
Shopot
2006-11-06 07:35
2006.11.26
Borland Delphi &amp; Borland C++ Builder.


15-1162475930
oldman
2006-11-02 16:58
2006.11.26
Латвийские шпроты - 50 лет на российском рынке пепельниц!


2-1163063007
Marat
2006-11-09 12:03
2006.11.26
Как проверить наличиетаблицы


15-1161475863
Flash3
2006-10-22 04:11
2006.11.26
Кто нибудь знает альтернативу FlashPlayer у ?


15-1162848112
ProgRAMmer Dimonych
2006-11-07 00:21
2006.11.26
С помощью какой книги Вы научились работать с сетями из Delphi?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский