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
|
Не проходит см. вложение
Присоединить изображение
|
|