Форум: "Прочее";
Текущий архив: 2009.04.05;
Скачать: [xml.tar.bz2];
ВнизString[xx] в Delphi 2009 Найти похожие ветки
← →
Stan (2009-02-06 18:24) [0]Раньше в структурах можно было написать String[255], и сохранить эту структуру со строкой куда-нибудь. Теперь же написав то же самое в D2009, строка становиться ANSI (ShortString), а не юникод. Приходиться возиться с массивом of char, и Move.
Так вот, возможно ли использовать String[xx] но чтобы в строке был юникод? Возможно я не дочитал чего то?
← →
Плохиш © (2009-02-06 18:36) [1]
> Раньше в структурах можно было написать String[255], и сохранить
> эту структуру со строкой куда-нибудь. Теперь же написав
> то же самое в D2009, строка становиться ANSI (ShortString),
> а не юникод.
Она всегда была ShortString, об этом во всех справках и документациях написано.
← →
PEAKTOP © (2009-02-06 18:47) [2]array[0..254]of Char ?
← →
Anatoly Podgoretsky © (2009-02-06 18:48) [3]> Stan (06.02.2009 18:24:00) [0]
ANSI она не становится.
Юникод это когда string или WideString
← →
vuk © (2009-02-06 18:50) [4]Delphi6 Help:
ShortString
Maximum length: 255 characters
Memory required: 2 to 256 bytes
Used for: backward compatibility
То есть если сделали структуры с такими строками, то это не проблема CodeGear и D2009, а того, кто пользуется устаревшими конструкциями. Да и сама идея писать структуры целиком вне зависимости отдлины строки - не фонтан. Оно, конечно да, быстро, тупо, но ни разу не эффективно.
← →
Stan (2009-02-06 19:12) [5]Да я в курсе.
> Оно, конечно да, быстро, тупо, но ни разу не эффективно
Ну не эффективно только в плане размера структуры.
Собственно и для массива я также использую array [0..254] - т.е. делать динамические структуры, и соотвественно усложнять в разы код - неохота.
А по вашему так эффективнее? В плане чего?
Кстати, есть ли какие вариант, чтобы вернуть то удобство для работы с юникод строками в структурах?
>
>>Anatoly Podgoretsky © (06.02.09 18:48) [3]
>
> ANSI она не становится.
Нет, она становиться ANSI. Если string - это юникод, string[xx] - это ANSI (shortstring) - rtfm.
← →
Anatoly Podgoretsky © (2009-02-06 19:30) [6]> Stan (06.02.2009 19:12:05) [5]
Не становится, что ты сам и доказываешь данной фразой ANSI (shortstring) - ANSI это не shortstring, а динамическая строка, в то время как shortstring статическая, с префиксом длины.
← →
Stan (2009-02-06 19:41) [7]
> Не становится, что ты сам и доказываешь данной фразой ANSI
> (shortstring) - ANSI это не shortstring, а динамическая
> строка, в то время как shortstring статическая, с префиксом
> длины.
Не придирайтесь к словам, не будьте буквоедом.
Если вам полегчает, пусть будет - shortstring - ansi..
Суть сабжа в другом.
← →
Sapersky (2009-02-06 21:05) [8]Кстати, есть ли какие вариант, чтобы вернуть то удобство для работы с юникод строками в структурах?
Если имеется в виду "сохранить эту структуру со строкой куда-нибудь", то есть полухакерский метод, позволяющий корректно сохранять в поток структуры с любыми строками:
http://sapersky.narod.ru/files/TypInfoEx.rar
Ну то есть почти любыми... новые юникодовские строки BDS2009 (UnicodeString они вроде называются?) как раз не поддерживаются, но можно использовать старые WideString.
Или можешь попробовать дописать сам, по аналогии со старыми (знаю, что TypInfo.Kind у новых строк должен быть tkUString, но не в курсе, в каком виде там хранится длина - в байтах или в символах).
← →
ketmar © (2009-02-06 22:39) [9]>[7] Stan (2009-02-06 19:41:00)
>Не придирайтесь к словам, не будьте буквоедом.
если человек говорит бред — возникает обоснованное сомнение в том, что его вопрос содержит здравое зерно.
---
All Your Base Are Belong to Us
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2009.04.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c