Форум: "Основная";
Текущий архив: 2002.08.26;
Скачать: [xml.tar.bz2];
ВнизЕсть задача из ул.ленина сделать ул.Ленина, я использую Найти похожие ветки
← →
dimanew (2002-08-15 05:52) [0]процедуры Copy,Delete, Insert
как сделать тоже, но через указатели?
← →
Leran2002 (2002-08-15 07:15) [1]Вот когдато нашел в ФАКАХ такую функцию мож тебе и подойдет:
function UpCaseRus( ch : Char ) : Char;
asm
CMP AL,"a"
JB @@exit
CMP AL,"z"
JA @@Rus
SUB AL,"a" - "A"
RET
@@Rus:
CMP AL,"я"
JA @@Exit
CMP AL,"а"
JB @@yo
SUB AL,"я" - "Я"
RET
@@yo:
CMP AL,"ё"
JNE @@exit
MOV AL,"Ё"
@@exit:
end;
...
for i:=1 to Length(S)-1 do
if S[i]="." then S[i+1]:=UpCaseRus(S[i+1]);
...
← →
Skfi (2002-08-15 07:16) [2]Напиши по подробнее, что тебе требуется.
← →
Alx2 (2002-08-15 08:40) [3]>dimanew (15.08.02 05:52)
S - строка. S[k] - k-я буква в строке.
S[k] := UpCase(S[k]) - перевести S[k] в верхний регистр (для лат. варианта).
для русского надо переписать UpCase или использовать AnsiUpperCase, но это внесколько раз медленее.
S[k] := AnsiUpperCase(S[k])[1];
PS.
Написал, как сам интерпретировал вопрос. Но вообще-то он расплывчато сформулирован.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.08.26;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.01 c