Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Хранить String и Widestring в одном поле записи. [D7, XP]


AlexanderMS ©   (2006-10-27 19:46:00) 

Я объявил массив записей (структур). В структуре есть одно поле, в котором должна храниться строка. Но строка может быть как типа String, так и WideString. Я хочу использовать одно и то же поле для хранения данных разного типа. И, насколько мне известно, Stringи WideString- схожи, значит, такая возможность должна быть. Но как это реализовать? Я слышал про запись с вариантами. У меня также была идея объявить поле как WideString, и хранить здесь же и обычные строки. Как сделать лучше, не расходуя лишней памяти и не снижая удобства и производительности?


Ketmar   (2006-10-27 22:24:00) [1]

>[4] DiamondShark(c) 27-Oct-2006, 22:01
>> храни всё в WideString
>не удовлетворяет условию
ой, право, это не те расходы, ради которых стоит вводить логику выяснения "а какой там, собственно, стринг?". имо.


DiamondShark   (2006-10-27 22:01:00) [2]


> храни всё в WideString

не удовлетворяет условию

> не расходуя лишней памяти и не снижая
> удобства и производительности?


type
 TMyCoolRecord = record
   MyAnsiString: AnsiString;
   MyWideString: WideString;
 end;
по памяти и производительности явный выигрыш, а удобоство однотакственно.


Ketmar   (2006-10-27 20:08:00) [3]

>[2] AlexanderMS(c) 27-Oct-2006, 19:50
>Прямо со скоростью звука! Спасибо.
а что мне? всё равно читаю. %-)


AlexanderMS   (2006-10-27 19:50:00) [4]

Ketmar ©   (27.10.06 19:48) [1]

Прямо со скоростью звука! Спасибо.


Ketmar   (2006-10-27 19:48:00) [5]

варианты не распространяются на строки. храни всё в WideString. AnsiString просто туда преобразовывай.


Наверх

Титульная страница Поиск, карта сайта Написать письмо