Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Тип Char в множествах  [new]
logone
Member

Откуда:
Сообщений: 33
procedure TForm1.FormCreate(Sender: TObject);
var
  Symbol: char;
begin
  Symbol := 'я';

  if Symbol = char('я') then showMessage('Это напишется');

  if Symbol in [char('я')] then showMessage('А почему это не напишется?');
end;
5 апр 19, 12:43    [21853910]     Ответить | Цитировать Сообщить модератору
 Re: Почему  [new]
asviridenkov
Member

Откуда:
Сообщений: 3948
logone,

Потому что нужно warning-и читать
5 апр 19, 12:49    [21853917]     Ответить | Цитировать Сообщить модератору
 Re: Почему  [new]
logone
Member

Откуда:
Сообщений: 33
asviridenkov,

Дебильный бред какой-то, но спасибо
5 апр 19, 12:51    [21853926]     Ответить | Цитировать Сообщить модератору
 Re: Почему  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 5213
logone,

и документацию читать, тынц

автор
The base type can have no more than 256 possible values,
5 апр 19, 13:02    [21853943]     Ответить | Цитировать Сообщить модератору
 Re: Почему  [new]
logone
Member

Откуда:
Сообщений: 33
kealon(Ruslan),

Спасибо
5 апр 19, 13:20    [21853963]     Ответить | Цитировать Сообщить модератору
 Re: Тип Char в множествах  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 60245
Хоть бы кто-то упомянул, что это только для юникода. Ну так, для истории галочки. :)

Posted via ActualForum NNTP Server 1.5

5 апр 19, 22:01    [21854454]     Ответить | Цитировать Сообщить модератору
 Re: Тип Char в множествах  [new]
Foxpc
Member

Откуда:
Сообщений: 162
Используй case, самый лучший вариант
6 апр 19, 01:03    [21854521]     Ответить | Цитировать Сообщить модератору
 Re: Тип Char в множествах  [new]
Gator
Member

Откуда: Москва
Сообщений: 14978
Гаджимурадов Рустам> Хоть бы кто-то упомянул, что это только для юникода. Ну так, для истории галочки.

Будь здрав, Модератор! А что для юникода?
6 апр 19, 01:12    [21854523]     Ответить | Цитировать Сообщить модератору
 Re: Тип Char в множествах  [new]
Foxpc
Member

Откуда:
Сообщений: 162
Gator,

case
6 апр 19, 10:07    [21854570]     Ответить | Цитировать Сообщить модератору
 Re: Тип Char в множествах  [new]
bk0010
Member

Откуда:
Сообщений: 4841
Пока символы были однобайтовые,
(ch in ['0'..'9','a'..'z'])
вполне работало (до D2007, ЕМНИП).
6 апр 19, 22:39    [21854872]     Ответить | Цитировать Сообщить модератору
 Re: Тип Char в множествах  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 60245
О чём и речь. :)

P.S. Да и щас можно AnsiChar вместо Char использовать.

Posted via ActualForum NNTP Server 1.5

6 апр 19, 22:48    [21854875]     Ответить | Цитировать Сообщить модератору
 Re: Тип Char в множествах  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 60245
bk0010> вполне работало (до D2007, ЕМНИП).

До 2009

Posted via ActualForum NNTP Server 1.5

6 апр 19, 22:48    [21854876]     Ответить | Цитировать Сообщить модератору
 Re: Тип Char в множествах  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1579
bk0010
Пока символы были однобайтовые,
(ch in ['0'..'9','a'..'z'])
вполне работало (до D2007, ЕМНИП).


uses
  System.Character;

begin
  if ch.IsLetterOrDigit() then ;
  if ch.IsInArray([]) then ; 
end;


http://docwiki.embarcadero.com/RADStudio/Rio/en/Character_Manipulation_Routines
6 апр 19, 22:49    [21854878]     Ответить | Цитировать Сообщить модератору
 Re: Тип Char в множествах  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1579
Гаджимурадов Рустам
О чём и речь. :)

P.S. Да и щас можно AnsiChar вместо Char использовать.

не нужно.. тип множество, который реализован как встроенный тип, какое-то недоразумение, ему давно пора в deprecated, а вместо него более удобная обертка типа record TSet<T> = record end; с методами
6 апр 19, 22:54    [21854882]     Ответить | Цитировать Сообщить модератору
 Re: Тип Char в множествах  [new]
Cobalt747
Member

Откуда:
Сообщений: 2122
X-Cite,

вполне удобный тип для многих задач
в том числе и потому. что не требует явного управления временем жизни

А если тебе надо что-то большее - используй этот TSet<T>
7 апр 19, 09:16    [21854977]     Ответить | Цитировать Сообщить модератору
 Re: Тип Char в множествах  [new]
defecator
Member

Откуда:
Сообщений: 39351
X-Cite
Гаджимурадов Рустам
О чём и речь. :)

P.S. Да и щас можно AnsiChar вместо Char использовать.

не нужно.. тип множество, который реализован как встроенный тип, какое-то недоразумение, ему давно пора в deprecated, а вместо него более удобная обертка типа record TSet<T> = record end; с методами

ага, да щаз
7 апр 19, 09:28    [21854981]     Ответить | Цитировать Сообщить модератору
 Re: Тип Char в множествах  [new]
Василий 2
Member

Откуда:
Сообщений: 757
X-Cite
не нужно.. тип множество, который реализован как встроенный тип, какое-то недоразумение, ему давно пора в deprecated, а вместо него более удобная обертка типа record TSet<T> = record end; с методами

Быстрейшие битовые операции заменить на гирлянду методов? Нет, спасибо.
8 апр 19, 11:12    [21855627]     Ответить | Цитировать Сообщить модератору
 Re: Тип Char в множествах  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 3370
Василий 2,

программисты сейчас даже на минуту не задумываются над тем, во что выливаются все их красивости. в результате повсеместно имеем тормозные до нельзя и раздутые до невозможности программы. нет, я не за то, что 640 кб должно хватить всем, а за то, что бы не делать монстров. малая, угасающая надежда на то, что монстры когда-то под собственной тяжестью сдохнут как динозавры в своё время есть. но её всё меньше.
8 апр 19, 13:29    [21855841]     Ответить | Цитировать Сообщить модератору
 Re: Тип Char в множествах  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 11196
Про CharInSet() никто не вспомнил?
8 апр 19, 17:07    [21856237]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить