Тема: Как передать setTextString значение типа double?

Здравствуйте!

Подскажите пожалуйста, как передать параметру TextString атрибута значение типа double?

Фрагмент кода:

AcDbAttribute *pAtt = NULL ;

acdbOpenObject(pAtt, attrId, AcDb::kForWrite) ;

double rVal = 2.1 ;

pAtt->setTextString( rVal ) ;

pAtt->close() ;

Re: Как передать setTextString значение типа double?

Shraybicus пишет:

как передать параметру TextString атрибута значение типа double?

Никак. Преобразовать в строку любым из доступных способов (например, при помощи функции acdbRToS)

(изменено: Shraybicus, 25 мая 2012г. 16:10:03)

Re: Как передать setTextString значение типа double?

Спасибо за совет!

Попробовал функцию acdbRToS.

int stat ;
ads_real x = 17.50 ;
char fmtval[12] ; 
stat = acdbRToS(x, 2, 2, fmtval) ;

Выдает ошибку при компиляции:
error C2664: 'acdbRToS' : cannot convert parameter 4 from 'char [12]' to 'ACHAR *'

Пробовал

ACHAR * fmtval ;

, но тогда AutoCAD выдает ошибку и вываливается.

Re: Как передать setTextString значение типа double?

Вместо:

char fmtval[12] ; 

должно быть

ACHAR fmtval[12] ; 

Учи C++!

(изменено: Shraybicus, 25 мая 2012г. 16:15:02)

Re: Как передать setTextString значение типа double?

Александр Ривилис пишет:

Вместо:

char fmtval[12] ; 

должно быть

ACHAR fmtval[12] ; 

Учи C++!

Учу конечно :)

Только тип ACHAR для меня не понятен. И не нашел документирования по этому типу.

Re: Как передать setTextString значение типа double?

Shraybicus пишет:

Только тип ACHAR для меня не понятен. И не нашел документирования по этому типу.

Документация - это последнее дело... Посмотри содержимое файла AdAChar.h

Re: Как передать setTextString значение типа double?

Александр Ривилис пишет:
Shraybicus пишет:

Только тип ACHAR для меня не понятен. И не нашел документирования по этому типу.

Документация - это последнее дело... Посмотри содержимое файла AdAChar.h

Если бы он у меня был. В папке \ObjectArx_2008\inc такого нет.

Re: Как передать setTextString значение типа double?

Shraybicus пишет:

Если бы он у меня был. В папке \ObjectArx_2008\inc такого нет.

У тебя какой-то "кривой" ObjectARX 2008 или ты крайне невнимателен. Впрочем, если бы этого файла не было, то у тебя бы твой код не скомпилировался.

Re: Как передать setTextString значение типа double?

Александр Ривилис пишет:
Shraybicus пишет:

Если бы он у меня был. В папке \ObjectArx_2008\inc такого нет.

У тебя какой-то "кривой" ObjectARX 2008 или ты крайне невнимателен. Впрочем, если бы этого файла не было, то у тебя бы твой код не скомпилировался.

Скорее всего второе. :)