wxAny to wxString

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
User avatar
cutecode
I live to help wx-kind
I live to help wx-kind
Posts: 185
Joined: Fri Dec 09, 2016 7:28 am
Contact:

wxAny to wxString

Postby cutecode » Wed Aug 30, 2017 7:43 pm

Есть ли универсальная функция для преобразования wxAny в строку?

этот код ни всегда устраивает

Code: Select all

   szRezult = any.As<wxString>();


например, для типов bool она возвращает "true"/"false" всместо 1/0.
А для wxDateTime возвращает пустую строку
regards,
Alexander Saprykin
www.wxwidgets.ru

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 2785
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: wxAny to wxString

Postby ONEEYEMAN » Wed Aug 30, 2017 8:49 pm

Dobrogo vremeni sutok,
cutecode wrote:Есть ли универсальная функция для преобразования wxAny в строку?

этот код ни всегда устраивает

Code: Select all

   szRezult = any.As<wxString>();


например, для типов bool она возвращает "true"/"false" всместо 1/0.


I chto? Eto standartnye bulevskie znachenija. Ochen udobno - srazu zapisyvaetsja v "if()".

cutecode wrote:А для wxDateTime возвращает пустую строку


A kakoe wxDateTime imeet otnoshenie k wxString?
I esli vozvraschaet pustuju stroku to eto bug. "Test suite" zapuskat probovali? Kakaja OS/versija? Kakaja versija biblioteki? Kakoj kompiljator?

Sudja po dokumentacii drugoj variant otsutstvuet.
Mogno pravda poprobovat tak:

Code: Select all

bool res = any.GetAs( szResult );
if( res )
// success
else
// conversion failed


Spasibo.

User avatar
cutecode
I live to help wx-kind
I live to help wx-kind
Posts: 185
Joined: Fri Dec 09, 2016 7:28 am
Contact:

Re: wxAny to wxString

Postby cutecode » Wed Aug 30, 2017 9:32 pm

wx 3.1.1
работаю в винде, пробовал и в mingw и в VS2013

Code: Select all

_ttol("true") и _ttol("false") - всегда возвращают 0

Code: Select all

any.GetAs( szResult ); - Синтаксическа ошибка




я работаю с COM-Объектом,

Code: Select all

wxAutomationObject::GetProperty()


возвращает wxAny

а там может быть все что угодно, и мне все это надо представить в виде строки.
regards,
Alexander Saprykin
www.wxwidgets.ru

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 2785
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: wxAny to wxString

Postby ONEEYEMAN » Wed Aug 30, 2017 10:12 pm

Добрый день/вечер,
cutecode wrote:wx 3.1.1
работаю в винде, пробовал и в mingw и в VS2013

Code: Select all

_ttol("true") и _ttol("false") - всегда возвращают 0



0/1 и true/false взаимозаменяемы.

cutecode wrote:

Code: Select all

any.GetAs( szResult ); - Синтаксическа ошибка



Интересно.
Судя по http://docs.wxwidgets.org/3.1.0/classwx ... 12316454d8 фуекция сузествует.
Какая ошибка?

cutecode wrote:я работаю с COM-Объектом,

Code: Select all

wxAutomationObject::GetProperty()


возвращает wxAny

а там может быть все что угодно, и мне все это надо представить в виде строки.


Если может быть все что угодно может проще проверить через http://docs.wxwidgets.org/3.1.0/classwx ... 05d6c5e1da.

Спасибо.

User avatar
cutecode
I live to help wx-kind
I live to help wx-kind
Posts: 185
Joined: Fri Dec 09, 2016 7:28 am
Contact:

Re: wxAny to wxString

Postby cutecode » Wed Aug 30, 2017 10:47 pm

Thanks for a hint. I've found a solution

Code: Select all

   wxVariant v;
   if (value.GetAs(&v))
    szRezult1 = v.GetString();
   else
   {
      write_message(wxString::Format(L"Неизвестный тип данных wxAny"));
      wxASSERT(0);
   }
regards,
Alexander Saprykin
www.wxwidgets.ru

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 2785
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: wxAny to wxString

Postby ONEEYEMAN » Wed Aug 30, 2017 11:24 pm

Hi,
cutecode wrote:Thanks for a hint. I've found a solution

Code: Select all

   wxVariant v;
   if (value.GetAs(&v))
    szRezult1 = v.GetString();
   else
   {
      write_message(wxString::Format(L"Неизвестный тип данных wxAny"));
      wxASSERT(0);
   }



wxAny should be a straight replacement for wxVariant.
So I'm curious - how cone one works and the other doesn't.

Can you run the test suite and see if there is any failure?

Thank you.


Return to “wxWidgets Development (Russian)”

Who is online

Users browsing this forum: No registered users and 3 guests