AnsiString Tmp = "Строка с которой сравниваешь";
switch(Tmp.SubStr(StrSravnenia)){
case(1):
//...
case(0):
//...
}
switch (AnsiString) ругается
после php удивительно, что оператор switch() не работает со строками((( может я что-нибудь не правильно делаю и передавать в switch нужно вместо AnsiString что-нибудь типа const char...? или действительно в bcb6 switch со строками не дружит?
Цитата:
Originally posted by zja
это нормально или как?
после php удивительно, что оператор switch() не работает со строками((( может я что-нибудь не правильно делаю и передавать в switch нужно вместо AnsiString что-нибудь типа const char...? или действительно в bcb6 switch со строками не дружит?
это нормально или как?
после php удивительно, что оператор switch() не работает со строками((( может я что-нибудь не правильно делаю и передавать в switch нужно вместо AnsiString что-нибудь типа const char...? или действительно в bcb6 switch со строками не дружит?
А ты как хотел??? Выражение в switch должно иметь порядковый тип, например int. Строки там использовать нельзя. В билдере AnsiString это вроде вообще класс.
Цитата:
Originally posted by zja
это нормально или как?
после php удивительно, что оператор switch() не работает со строками((( может я что-нибудь не правильно делаю и передавать в switch нужно вместо AnsiString что-нибудь типа const char...? или действительно в bcb6 switch со строками не дружит?
это нормально или как?
после php удивительно, что оператор switch() не работает со строками((( может я что-нибудь не правильно делаю и передавать в switch нужно вместо AnsiString что-нибудь типа const char...? или действительно в bcb6 switch со строками не дружит?
Оператор switch может работать со стороками если ты будешь использовать его так:
Код:
Не самое элегантное решение, но если хочется...:D
Единственно необходимо учитывать особенности работы функции поиска подстроки. Можно при желании на этой базе написать подобие РНР-функции