Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> string' to 'AnsiString', Переход с Д2007 на Д2009 
V
    Опции темы
de_Nis
Дата 12.3.2011, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старательный
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 19.10.2006
Где: Молдова

Репутация: нет
Всего: 6



При компиляции исходников Д2007 в Д2009 в следующем участке кода:

Код

var
fName: AnsiString;

begin
TimeSeparator := '-';  //разделитель вместо сивола ":"
ShortDateFormat := 'yyyy_mm_dd';  
fName := 'Результат '+DateToStr(Now)+'_'+TimeToStr(Now)+'.txt';
...


получаю  Warning 
[DCC Warning] ..........: W1058 Implicit string cast with potential data loss from 'string' to 'AnsiString'
на строчку
fName := 'Результат '+DateToStr(Now)+'_'+TimeToStr(Now)+'.txt';

Я перевел как "потенциальная потеря данных при неявном переходе от 'string' к 'AnsiString'
Думаю, это как-то связано с DateToStr(Now) или с TimeToStr(Now), или с тем и другим.
Как изменить код, чтобы не было этого предупреждения?
--------------------
Несчастлив не тот, у кого ничего нет, а тот, кто ничего не хочет…
PM   Вверх
CODeRUS
Дата 12.3.2011, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 25.7.2007

Репутация: нет
Всего: нет



используйте просто string, зачем вам Ansi?
PM MAIL   Вверх
БелАмор
Дата 12.3.2011, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 10.6.2010
Где: Россия

Репутация: 7
Всего: 17



О формировании строки...

Цитата(de_Nis @  12.3.2011,  16:04 Найти цитируемый пост)
TimeSeparator := '-';  //разделитель вместо сивола ":"
ShortDateFormat := 'yyyy_mm_dd';  
fName := 'Результат '+DateToStr(Now)+'_'+TimeToStr(Now)+'.txt';

Неудачное решение.
Всё можно сделать в одну строку, причём без переназначения форматов:

Код
  fName := FormatDateTime('yyyy_mm_dd__hh-nn-ss-zzz".txt"', Now);

PM   Вверх
de_Nis
Дата 14.3.2011, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старательный
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 19.10.2006
Где: Молдова

Репутация: нет
Всего: 6



Цитата(CODeRUS @  12.3.2011,  15:46 Найти цитируемый пост)
используйте просто string, зачем вам Ansi? 

Сделал, как рекомендовано. Помогло, Warning болше нет.

Цитата(БелАмор @  12.3.2011,  20:38 Найти цитируемый пост)
код Pascal/Delphi
1:  fName := FormatDateTime('yyyy_mm_dd__hh-nn-ss-zzz".txt"', Now);

Буду пробовать.
Всем спасибо. Закрываю тему.
--------------------
Несчастлив не тот, у кого ничего нет, а тот, кто ничего не хочет…
PM   Вверх
Alexeis
Дата 14.3.2011, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



AnsiString все же следует использовать в старом коде, где производиться побайтовое копирование или другие прямые операции с памятью строки в обход стандартных функций. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0973 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.