Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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("&#224;"));
а потом
 ShowMessage (ANSIUpperCase("&#224;"));


 
Ученик   (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.012 c
1-1116646618
Vi
2005-05-21 07:36
2005.06.06
Запись/чтение динамического массива в/из файла - как?


1-1116789532
ALL
2005-05-22 23:18
2005.06.06
Текстовый редактор Memo


4-1113393264
Dmitry
2005-04-13 15:54
2005.06.06
Shell: при замене explorer система "висит" на приветствии 45 сек


14-1116485934
Иван Шихалев
2005-05-19 10:58
2005.06.06
Идеолог антиолигархической кампании начинает антипутинскую?


4-1113407396
Klopan
2005-04-13 19:49
2005.06.06
Как поймать WM_SYSCOMMAND в системе?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский