![Старый](images/statusicon/post_old.gif)
23.08.2012, 15:21
|
![Аватар для poli-smen](image.php?s=70792dcee60002d9a4449d4f750bd68a&u=22175&dateline=1344281790) |
Профессионал
|
|
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
|
|
Цитата:
Сообщение от R_smile
Ок, я скопировала в папку проекта, а что это мне даст?
Если пытаюсь добавить, например, в текущий dpk, то выскакивает сообщение, что данный pas-файл уже есть в Search path.
Этот dpk, который использует исправленный pas-файл, компилила раз 100.
Не пойму... вроде все просто, а у меня не выходит... ![Смущение](images/smilies/redface.gif)
|
Вобщем я разобрался. Больше времени потратил на то, чтобы найти, скачать и установить этот самый ExpressSpreadSheet.
Как я и говорил вы меняете совершенно не в том месте. Менять нужно в методе cxSSUtils.TcxSSUtils.FormatText. Вот вырезка:
Код:
class function TcxSSUtils.FormatText(const AValue: Double; AFormat: TxlsDataFormat;
APrecision: Byte; var ATextColor: Word): string;
...
begin
ARoundMode := SetRoundMode(0);
APrecisionMode := SetPrecisionMode(2);
if APrecision > 8 then APrecision := 8;
case Integer(AFormat) of
$00:
Result := FloatToStrF(AValue, ffGeneral, 8, APrecision);
...
$0F, $10, $11, $14:
Result := 'ЭТО ФОРМАТЫ $0F, $10, $11, $14';//FormatDateTime(ADateFormat[AFormat - $0F], AValue);
$12, $13:
Result := AnsiUpperCase(FormatDateTime(ADateFormat[AFormat - $0F], AValue));
$15:
Result := 'ЭТО ФОРМАТ $15';//TimeToStr(AValue);
...
$A5:
Result := FormatDateTime(AnsiUpperCase('dd.mmmm.yy'), AValue);
else
Result := FloatToStr(AValue);
end;
if (AFormat in [$6, $8, $26, $28]) and (AValue < 0) then
ATextColor := 2;
SetPrecisionMode(APrecisionMode);
SetRoundMode(ARoundMode);
end;
|