Лена |
Отправлено: 24.08.2005, 13:38 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
Как сравнить две переменные типа wchar_t?
CODE |
AnsiString id = "PK1";
String sid = String(id);
WideString wsid = WideString(sid);
if(Layer[i]->Name == wsid)//не выполняется, хотя в свойстве Layer[i]->Name гарантировано находиться PK1 типа wchar_t
{
Application->MessageBox("Проверка","Ошибка",MB_ICONEXCLAMATION);
}
| |
|
gvg |
Отправлено: 24.08.2005, 15:20 |
|
Машинист паровоза
Группа: Участник
Сообщений: 222
|
А если попробовать так?
if( AnsiString( Layer[i]->Name ) == id )
{
} |
|
xim |
Отправлено: 24.08.2005, 15:22 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 143
|
лучше
CODE |
WCHAR *wsid=L"PK1";
// если Layer[i]->Name точно wchar_t*
if(!wcscmp(Layer[i]->Name,wsid)){
// ...
}
|
а так можно
CODE |
AnsiString id = "PK1";
String sid = String(id);
WideString wsid = WideString(sid);
if(WideString(Layer[i]->Name) == wsid) {
Application->MessageBox("Проверка","Ошибка",MB_ICONEXCLAMATION);
}
| |
|
Лена |
Отправлено: 24.08.2005, 17:01 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
QUOTE (xim @ 24/08/2005, 15:22) | лучше
CODE |
WCHAR *wsid=L"PK1";
// если Layer[i]->Name точно wchar_t*
if(!wcscmp(Layer[i]->Name,wsid)){
// ...
}
|
а так можно
CODE |
AnsiString id = "PK1";
String sid = String(id);
WideString wsid = WideString(sid);
if(WideString(Layer[i]->Name) == wsid) {
Application->MessageBox("Проверка","Ошибка",MB_ICONEXCLAMATION);
}
|
|
Cпасибо, буду пробывать! |
|