Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.26;
Скачать: CL | DM;

Вниз

Преобразовать текст в Unucode   Найти похожие ветки 

 
имя   (2007-08-05 13:34) [40]

Удалено модератором


 
Dib@zol ©   (2007-08-05 13:38) [41]

Удалено модератором


 
Anatoly Podgoretsky ©   (2007-08-05 13:38) [42]

> Инс  (05.08.2007 13:21:38)  [38]

Я не отвечал на [18] а отвечал по поводу фундаментальных и производных типов, про перенос кода на другую RAD, другой компилятор.
И эти простейшие правила, на уровне генокода, делают этот процесс менее болезненым. Многие проекты переносятся без малейшей переделки, а переделки требуют части которые сильно зависят от платформы, и это не размер типа. Переносятся даже с .VCL на .NET, а не то что на 32 бита.
Борланд много сделал для этого, это и автоматический расчет размера в зависимости от типа и предупреждения о платфомозависимых функциях и многое другое.
Но указание SizeOf(Type) это уровень генотипа.


 
Инс ©   (2007-08-05 13:44) [43]


> Я не отвечал на [18]

Видимо у меня что-то с глазами тогда. Ну да ладно, все, кто видит это обсуждение, также заметят, ответом на какое сообщение было [20] и разберется кто прав, а кто - нет.


> а отвечал по поводу фундаментальных и производных типов,
> про перенос кода на другую RAD, другой компилятор.

Не надо мне это так подробно пытаться объяснить, я прекрасно это понимаю, не спорю. Тут вы правы. Переносимость будет только на уровне исходного кода. На этом можно и остановиться.


 
MetalFan ©   (2007-08-05 16:53) [44]

а еще правильнее, имхо, написать вот так: Length(lWStr) * SizeOf(lWStr[1])


 
{RASkov} ©   (2007-08-05 17:00) [45]

> [44] MetalFan ©   (05.08.07 16:53)

Тогда уж так:
Length(lWStr) * SizeOf(lWStr[0])
С нуля нумерация идет.... у тех у кого #нулем заканчивается...


 
Инс ©   (2007-08-05 17:05) [46]


> [45] {RASkov} ©   (05.08.07 17:00)


Неа ;)


 
{RASkov} ©   (2007-08-05 17:05) [47]

Кстати,.... вроде вот так правильно должно быть.
(Length(lWStr)+1) * SizeOf(WideChar)
Если это нужно для выделения памяти под PWideChar....
Т.е.:
L:=Length(S)+1;
GetMem(P, L*SizeOf(WideChar));
где S: String, P: PWideChar, L: Int..


 
MetalFan ©   (2007-08-05 17:05) [48]


> Неа ;)

+1 !


 
{RASkov} ©   (2007-08-05 17:05) [49]

> [46] Инс ©   (05.08.07 17:05)

Как так??


 
Инс ©   (2007-08-05 17:09) [50]


> [47] {RASkov} ©   (05.08.07 17:05)

Для выделения памяти под длинные строки, динмассивы нужно использовать SetLength а не GetMem


 
{RASkov} ©   (2007-08-05 17:20) [51]

> [50] Инс ©   (05.08.07 17:09)
> Для выделения памяти под длинные строки, динмассивы нужно
> использовать SetLength а не GetMem

Я не об этом :)
Ну первый символ в PWideChar все равно будет иметь 0 индекс, а не 1.... или не так???
Или что имелось ввиду в [46] Неа ;) ??


 
Инс ©   (2007-08-05 17:27) [52]


> Ну первый символ в PWideChar все равно будет иметь 0 индекс,
> а не 1.... или не так???

Нет :)


 
MetalFan ©   (2007-08-05 17:29) [53]

причем тут PWideChar?
у WideString, как и у AnsiString, нумерация идет с 1...


 
{RASkov} ©   (2007-08-05 17:40) [54]

> [53] MetalFan ©   (05.08.07 17:29)
> причем тут PWideChar?
> у WideString, как и у AnsiString, нумерация идет с 1...

Все верно.... это я что-то загнался про PWideChar...

> [52] Инс ©   (05.08.07 17:27)

Ни нет, а Да :)

В [53] все встало на свои места.... )


 
Anatoly Podgoretsky ©   (2007-08-05 19:08) [55]

> {RASkov}  (05.08.2007 17:40:54)  [54]

Тебе поможет следующая таблица

Char/WideChar
PChar/PWideChar
AnsiString/WideString



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

Текущий архив: 2007.08.26;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.074 c
15-1185698792
IMHO
2007-07-29 12:46
2007.08.26
Слово о Blackberry


2-1186294194
>>DEATH<<
2007-08-05 10:09
2007.08.26
Как реализовать


11-1168409798
Don
2007-01-10 09:16
2007.08.26
Ошибка при уничтожении ProgressBar


15-1185274519
Kerk
2007-07-24 14:55
2007.08.26
2800 квадратных метров ткани


15-1185207715
Aleksandre
2007-07-23 20:21
2007.08.26
Требуется программист на работу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский