frofis |
Отправлено: 17.03.2004, 16:48 |
|
Не зарегистрирован

|
в Delphi
hex = ['0'..'9', 'A'..'F'];
if not (str[i] in hex) then..
как это написать в CBuilder |
 |
Gedeon |
Отправлено: 17.03.2004, 17:15 |
|

Ветеран
Группа: Модератор
Сообщений: 1742

|
Можно вот так, правда это не ответ на ваш вопрос, но будет работать, если условие не будет меняться.
CODE |
AnsiString Simbols = "0123456789ABCDEF";
if(Simbols.AnsiPos("A")!=0){ /*тут в кавычках текст для сравнения не обязательно один символ*/
Beep(); // выполняется, если попадает в строку
} |
Отредактировано Gedeon — 17/03/2004, 18:19
|
 |
frofis |
Отправлено: 17.03.2004, 17:20 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9

|
Дело в том что pos работаем очень медленно, а работа с множествами вроде бы на порядок быстрее |
 |
Doga |
Отправлено: 17.03.2004, 17:45 |
|

Мастер участка
Группа: Участник
Сообщений: 575

|
#include
if (!isxdigit((int)str[i]))
{
...
}
|
 |
frofis |
Отправлено: 17.03.2004, 17:49 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9

|
Спасибо, но 16 числа я привел для примера, а нужно просто любое перечисление |
 |
Doga |
Отправлено: 17.03.2004, 18:05 |
|

Мастер участка
Группа: Участник
Сообщений: 575

|
Так сразу бы так и говорил бы!
enum Hex
{
h0 = '0',
h1 = '1',
h2 = '2',
h3 = '3',
h4 = '4',
h5 = '5',
h6 = '6',
h7 = '7',
h8 = '8',
h9 = '9',
ha = 'a',
hb = 'b',
hc = 'c',
hd = 'd',
he = 'e',
hf = 'f',
hA = 'A',
hB = 'B',
hC = 'C',
hD = 'D',
hE = 'E',
hF = 'F'
};
typedef Set THex;
THex AHex;
AHex << h0 ... << hF;
if (!AHex.Contains((int)str[i]))
{
...
}
|
 |
Doga |
Отправлено: 17.03.2004, 18:08 |
|

Мастер участка
Группа: Участник
Сообщений: 575

|
Блин! Вместо
"typedef Set THex;"
должно быть
"typedef Set THex;"
|
 |
Doga |
Отправлено: 17.03.2004, 18:35 |
|

Мастер участка
Группа: Участник
Сообщений: 575

|
Да елы-палы!
Кароче:
typedef Set<> THex; ток знаки больше и меньше в одном экземпляре
|
 |
Doga |
Отправлено: 17.03.2004, 18:39 |
|

Мастер участка
Группа: Участник
Сообщений: 575

|
Где Админ?!!! Блин!!! Е....Ь!!!! Сюды его!!!! Шоб сам посмотрел!!!
typedef
Set
<
Hex,
h0,
hF
>
THex;
|
 |
frofis |
Отправлено: 17.03.2004, 20:41 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9

|
enum VaType {
h0 = '0',
h1 = '1',
h2 = '2',
h3 = '3',
h4 = '4',
h5 = '5',
h6 = '6',
h7 = '7',
h8 = '8',
h9 = '9',
ha = 'a',
hb = 'b',
hc = 'c',
hd = 'd',
he = 'e',
hf = 'f',
hA = 'A',
hB = 'B',
hC = 'C',
hD = 'D',
hE = 'E',
hF = 'F'
} VaVar ;
typedef Set TVa;
Не проходит — говорит
[C++ Error] Unit1.cpp(48): E2299 Cannot generate template specialization from 'Set'
[C++ Error] Unit1.cpp(48): E2040 Declaration terminated incorrectly
если вместо VaType поставить char, то работает |
 |
frofis |
Отправлено: 17.03.2004, 20:44 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9

|
typedef Set\TVa |
 |
frofis |
Отправлено: 17.03.2004, 20:48 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9

|
typedef
Set
<
VaType,
h0,
hF
>
TVa |
 |
Doga |
Отправлено: 17.03.2004, 21:04 |
|

Мастер участка
Группа: Участник
Сообщений: 575

|
typedef Set{VaType,h0,hF}TVa
всё должно быть написано в одной строке типа как тут, ток фигурые скобочки замени на знаки "меньше" и "больше" .
По другому я написать не смог — тут какая то ###### с редактором <<проглотит>> ((
|
 |
Удивлённый |
Отправлено: 18.03.2004, 03:28 |
|
Не зарегистрирован

|
QUOTE |
По другому я написать не смог — тут какая то ###### с редактором <<проглотит>> (( |
А почему нельзя воспользоваться тегом [ Code ] (без пробелов между открывающейся и закрывающейся скобкой)?
Например
CODE |
typedef Set<VaType,h0,hF>TVa
|
Специально для этого же сделан. |
 |
frofis |
Отправлено: 18.03.2004, 13:05 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9

|
Не проходит см. вложение
Присоединить изображение
|
 |