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

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

Перехожу на юникод и возник вопрос, чем заменить string[250]?


EgorovAlex ©   (2005-09-17 13:56:00) 

Ничего кроме array[0..249] of WideChar в голову не приходит. Может есть более красивое решение?


Anatoly Podgoretsky   (2005-09-17 23:00:00) [1]

EgorovAlex ©   (17.09.05 22:52) [7]
Только увеличь размерность до 0..250 - одна позиция нужна для нуля и ты должет будешь сам беспокоиться от этом, но это не вызывает особых проблем. Если даже не знаешь об этом, то быстро увидишь ошибку и исправишь ее.


EgorovAlex   (2005-09-17 22:52:00) [2]

Спасибо Anatoly! Я так и думал, но надеялся, что есть решение попроще, чтобы потом в программе без дополнительных действий читать это значение как я делаю это с string[250].
Меня всегда поражала Ваша производительность - и на этом форуме, и в swrus-programming. Ещё раз спасибо за уделённое внимание.


Anatoly Podgoretsky   (2005-09-17 22:34:00) [3]

EgorovAlex ©   (17.09.05 22:17) [5]
Проблема состоит в том, что этот тип участвует в записи, для примера:

type
TRec=record
Name: string[250];
end;


Точно также нормальная запись
type
  TRec=record
     Name: array[0..249] of WideChar
  end;


EgorovAlex   (2005-09-17 22:17:00) [4]

Проблема состоит в том, что этот тип участвует в записи, для примера:

type
TRec=record
 Name: string[250];
end;

и эта запись пишется в файл. Тут и возникает, как это лучше переписать для юникода. Понятно, что все старые записи нужно будет переформатить, но как лучше описать запись? SetLength тут не поможет


Anatoly Podgoretsky   (2005-09-17 19:22:00) [5]

palva ©   (17.09.05 17:55) [2]
По-моему автор хочет статический тип. WideString[250] ведь не будет работать.

А в чем существенная разница, если SetLength и больше его не трогать?
А  вариант array[0..249] of WideChar тоже не плох, является близким аналогом, нет только байта длины. Но его по определению и быть не должно, зато должен быть заключительный ноль. Аналогом для WideString[250] является PAnsiChar тип array[0..249] of Char
Помоему проблема высосана из пальца, из-за непонимания.


guav   (2005-09-17 19:17:00) [6]

palva ©   (17.09.05 17:55) [2]

> По-моему автор хочет статический тип.


http://www.delphimaster.ru/cgi-bin/forum.pl?id=1126895306&n=3


palva   (2005-09-17 17:55:00) [7]

По-моему автор хочет статический тип. WideString[250] ведь не будет работать.


Anatoly Podgoretsky   (2005-09-17 14:05:00) [8]

WideString естественно


Наверх

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