Вниз
Скачать: CL | DM;

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

← →
EgorovAlex ©   (2005-09-17 13:56) [0]

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


← →
Anatoly Podgoretsky ©   (2005-09-17 14:05) [1]

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


← →
palva ©   (2005-09-17 17:55) [2]

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


← →
guav ©   (2005-09-17 19:17) [3]

palva ©   (17.09.05 17:55) [2]

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


http://delphimaster.net/view/15-1126895306/


← →
Anatoly Podgoretsky ©   (2005-09-17 19:22) [4]

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

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


← →
EgorovAlex ©   (2005-09-17 22:17) [5]

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

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

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


← →
Anatoly Podgoretsky ©   (2005-09-17 22:34) [6]

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:52) [7]

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


← →
Anatoly Podgoretsky ©   (2005-09-17 23:00) [8]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
11-1106395918
dimaxx
2005-01-22 15:11
2005.10.09
Объект в DLL и использование его методов в главном модуле


1-1127117974
kull
2005-09-19 12:19
2005.10.09
Найти все вызовы функции с нулевым параметром...


1-1126852933
tes
2005-09-16 10:42
2005.10.09
не удаляются элементы


2-1125376577
злобная танька
2005-08-30 08:36
2005.10.09
StringGrid


2-1125316634
Nox
2005-08-29 15:57
2005.10.09
Как извлеч корень N-ой степени?




   Наверх