Форум: "Основная";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];
ВнизПроверка буквы на строчность Найти похожие ветки
← →
seregka (2005-05-21 22:36) [0]Как проверить является ли первая буква в слове (как первую букву определять я знаю) строчной (заглавной).
← →
default © (2005-05-21 22:37) [1]с помощью головы
← →
KilkennyCat © (2005-05-21 22:37) [2]1. сделать ее строчной и сравнить с саиой собой.
2. проверить ее на вхождение в массив строчных.
← →
seregka (2005-05-21 22:47) [3]вопрос снимается. Спасибо
if q1[1]=uppercase(q1[1]) ...
← →
Anatoly Podgoretsky © (2005-05-21 22:48) [4]Ну-ну
← →
default © (2005-05-21 22:48) [5]а буквы какие: и латинские и наши или нет?
← →
seregka (2005-05-21 22:51) [6]А какая разница? Буквы наши - кириллицеские
← →
default © (2005-05-21 22:55) [7]seregka (21.05.05 22:51) [6]
у тебя заведомо есть инфа что это буква, а не более обще - символ
так что достаточно одного сравнения Заглавность=Ord(KirSymbol)<Ord("а") ("а" тут наша)
← →
Ученик (2005-05-21 23:24) [8]>Anatoly Podgoretsky © (21.05.05 22:48) [4]
А какой Ващ вариант ?
← →
KilkennyCat © (2005-05-21 23:37) [9]if "A" in ["A".."Я"] дзен...
← →
Anatoly Podgoretsky © (2005-05-21 23:38) [10]Ученик (21.05.05 23:24) [8]
У меня много вариантов, uppercase в их число не входит. Более всего мне нравится классический вариант с множеством.
← →
Anatoly Podgoretsky © (2005-05-21 23:39) [11]KilkennyCat © (21.05.05 23:37) [9]
Хоть и множество, но вариант не верный, почто не навидишь английские буквы?
← →
KilkennyCat © (2005-05-21 23:41) [12]
> [11] Anatoly Podgoretsky © (21.05.05 23:39)
Да как-то автоматом на русские переключил мысли, где-то тут что-то промелькивало, вот и подумал, что нужны только русские.
← →
Ученик (2005-05-21 23:46) [13]>Anatoly Podgoretsky © (21.05.05 23:38) [10]
А подумал, что IsCharUpper.
← →
Anatoly Podgoretsky © (2005-05-21 23:51) [14]Ученик (21.05.05 23:46) [13]
Такая функция в АПИ есть, ее можно использовать, с учетом ее ограничений. Что именно использовать зависит от автора, но я бы не стал использовать АПИ и не из-за ограничений, а из-за возможности перехода на .NET, на другую платформу, например на Линукс. Классический вариант будет работать и в этих случаях. Что касается быстродействия, то это не существенно, но вроде и в этом случае оно выше.
← →
seregka (2005-05-21 23:53) [15]Anatoly Podgoretsky
А чем UpperCase не устраивает?
← →
Просто Джо © (2005-05-21 23:55) [16]
> [15] seregka (21.05.05 23:53)
> Anatoly Podgoretsky
> А чем UpperCase не устраивает?
Подгорецкого устроит, тебя, боюсь, нет.
Запусти
ShowMessage (UpperCase("à"));
а потом
ShowMessage (ANSIUpperCase("à"));
← →
Ученик (2005-05-21 23:58) [17]>seregka (21.05.05 23:53) [15]
{ sysutils.pas }
function UpperCase(const S: string): string;
var
Ch: Char;
L: Integer;
Source, Dest: PChar;
begin
L := Length(S);
SetLength(Result, L);
Source := Pointer(S);
Dest := Pointer(Result);
while L <> 0 do
begin
Ch := Source^;
if (Ch >= "a") and (Ch <= "z") then Dec(Ch, 32);
Dest^ := Ch;
Inc(Source);
Inc(Dest);
Dec(L);
end;
end;
← →
KilkennyCat © (2005-05-21 23:58) [18]if pos("A", "QWERTYUIOPASDFGHJKLZXCVBNMЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮЁ") > 0 then
← →
seregka (2005-05-22 00:00) [19]Просто Джо
Оба дали "А".
Или Вы хотите сказать, что uppercase только с латиницей нормально работает?
← →
Anatoly Podgoretsky © (2005-05-22 00:03) [20]KilkennyCat © (21.05.05 23:58) [18]
Ой ну зачем нам разные варианты придумывать, я же сказал их много, есть смысл использовать классические, ясные варианты.
← →
Просто Джо © (2005-05-22 00:04) [21]
>
> [19] seregka (22.05.05 00:00)
> Просто Джо
> Оба дали "А".
> Или Вы хотите сказать, что uppercase только с латиницей
> нормально работает?
Да. И в Delphi6 и в Delph2005. Подозреваю, что и в 7-ке тоже.
← →
Anatoly Podgoretsky © (2005-05-22 00:07) [22]UpperCase returns a copy of the string S, with the same text but with all 7-bit ASCII characters between "a" and "z" converted to uppercase. To convert 8-bit international characters, use AnsiUpperCase instead.
← →
default © (2005-05-22 02:46) [23]если брать только русские буквы(исключая обособленное "ё")вариант [7] на треть времени быстрее чем со множеством
← →
KilkennyCat © (2005-05-22 02:50) [24]
> [23] default © (22.05.05 02:46)
если.
← →
default © (2005-05-22 02:56) [25]KilkennyCat © (22.05.05 02:50) [24]
[6]
← →
KilkennyCat © (2005-05-22 03:00) [26]
> [25] default © (22.05.05 02:56)
угу. а завтра он об этом забудет, или изменит ТЗ, или еще-что-нибудь-что-не-ждали-но-вероятность-прихода-высокая случится. И начнет здесь спрашивать "Почему у меня там-то там-то не работает, хотя вчера все работало".
________________________________________________
← →
Просто Джо © (2005-05-22 03:05) [27]
> Проверка буквы на строчность
Стоп! Приехали.
Человеку, оказывается, нужна строчная, а не заглавная.
← →
default © (2005-05-22 03:12) [28]Просто Джо © (22.05.05 03:05) [27]
а разница?
← →
Просто Джо © (2005-05-22 03:15) [29]
> [28] default © (22.05.05 03:12)
> Просто Джо © (22.05.05 03:05) [27]
> а разница?
Возможно это придирка, но название ветки не соответствует ответам в ней. А так ничего, даже весело, особенно реплики seregk"и :)
← →
KilkennyCat © (2005-05-22 03:18) [30]
> Просто Джо © (22.05.05 03:15)
последнее слово в скобках - заглавные. так что все путем.
← →
seregka (2005-05-22 03:21) [31]ну описался - ПРОПИСНЫЕ, а не строчные.
← →
default © (2005-05-22 03:27) [32]seregka (22.05.05 03:21) [31]
"ну описался - ПРОПИСНЫЕ, а не строчные."
надеюсь, памперс спас?:)
P.S. шучу
← →
Просто Джо © (2005-05-22 03:28) [33][30] KilkennyCat © (22.05.05 03:18)
> последнее слово в скобках - заглавные
имеем 2 варианта прочтения
(1) Строчные - это заглавные;
(2) Строчные/заглавные.
Авторский пост [31] подтверждает мое предположение о подразумеваемом варианте (1).
---
П.С.
Мелочные придирки и подозрительность -- в моем характере, впрочем это соответствует и стилистике форума. Что делать.
← →
Игорь Шевченко © (2005-05-23 12:47) [34]if IsCharUpper(....) then
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.014 c