![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Хранить 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 просто туда преобразовывай.