Форум: "Начинающим";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];
ВнизКак организовать работу case Найти похожие ветки
← →
ambhtr (2007-05-18 15:08) [0]Из строки выбираются поочередно символы и должны проверятся на разрешенные символы. Пытаюсь отработать это таким кодом:
var
valChar : Char;
...
for I:=1 to lenS do
begin
valChar := Char(copy(S,I,1));
case valChar of
"0".."9",
"a".."z",
"A".."Z",
"|",";" : ; //Допустимые символы.
else
lst_ErrTXT.Add("В файле " + nmFile +
" на линии "+ IntToStr(nnRec) +
" в колонке под номером " + IntToStr(I) +
" имеется недопустимый символ");
end;
Но не получается в строке:
valChar := Char(copy(S,I,1));
перевести string -> Char.
Или если можно проверять отдельный строковые символы по другому, подскажите, пожалуйста.
← →
Сергей М. © (2007-05-18 15:10) [1]valChar := S[I];
← →
ambhtr (2007-05-18 15:40) [2]Спасибо :о)! Все сработало. Только теперь другая "проблема":
В "допустимые" символы надо добавить и русские буквы.
case valChar of
"0".."9",
"a".."z",
"A".."Z",
"а".."я",
"А".."Я",
А текст ДОСовский, и кодировка ДОСовская. Как сделать, чтобы учитывать русские "ДОСовские" буквы?
← →
clickmaker © (2007-05-18 15:46) [3]
> Как сделать, чтобы учитывать русские "ДОСовские" буквы?
OemToChar()
← →
Сергей М. © (2007-05-18 15:48) [4]Тогда сначала приведи оригинальную кодировку символов с строке к ANSI-стандарту:
OEMToChar(PChar(s), PChar(s));
А далее все точно так же как сейчас
← →
ambhtr (2007-05-18 16:58) [5]Вставил строчку:
OEMToChar(PChar(s), PChar(s));
но теперь на какой-то строчке выдает ошибку:
"Access violation at address 77D5ED16 in module "user32.dll". Write of address ..."
И никак не могу пока ни выловить на какой линии, ни почему появляется эта ошибка.
Подскажите, что может быть.
← →
clickmaker © (2007-05-18 16:59) [6]терзают смутные сомнения, а выделил ли ты память под s?
← →
ambhtr (2007-05-18 17:06) [7]Спасибо всем! Удалось выловить пустую строку на которой и происходила ошибка.
Поставил:
if S<>"" then OEMToChar(PChar(S), PChar(S));
и все пошло.
Еще раз всем СПАСИБО!!! :о)))
← →
Anatoly Podgoretsky © (2007-05-18 21:01) [8]if Char in [..] then else
← →
Anatoly Podgoretsky © (2007-05-18 21:02) [9]
> ambhtr (18.05.07 17:06) [7]
Про это много писали большевики.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.046 c