Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.06;
Скачать: CL | DM;

Вниз

Проверка буквы на строчность   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.03 c
14-1116438116
pkm
2005-05-18 21:41
2005.06.06
Скачать Help для delphi.


1-1116508485
-=SSS=-
2005-05-19 17:14
2005.06.06
Диспатч контрола


3-1114701922
Alex77777
2005-04-28 19:25
2005.06.06
Как организовать загрузку в Stringgrid из текстового файла


14-1116321471
SNHD
2005-05-17 13:17
2005.06.06
Ищу Базы данных на Delphi 6


1-1116867632
DenisWW
2005-05-23 21:00
2005.06.06
Как работать с буфером обмена