Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Вниз

String   Найти похожие ветки [256]

 
Ш-К   (2004-04-12 13:11) [0]

Как мне задать длину стринга на уровне определения типов. Что-то типа:
TString800 = String[800];

Другими словами, мне надо, чтобы поля были фиксированной длины больше 255. И мог обращаться к этим полям через стринговые функции.
SetLength в конструкторах не подходит.


 
Digitman ©   (2004-04-12 13:15) [1]


> SetLength в конструкторах не подходит


почему ?


 
Ш-К   (2004-04-12 13:29) [2]

Очень большой код, очень много полей и функций.
Чтобы меньше писать, простое изменение в типах решило бы проблему.
Уже на крайний случай SetLength.


 
VMcL ©   (2004-04-12 13:32) [3]

>>Ш-К  (12.04.04 13:11)

TString800 = array [0 .. 799] of Char;


 
Amoeba ©   (2004-04-12 13:32) [4]

TString800 = String[800];
Бред полнейший. Матчасть надо учить!

> Уже на крайний случай SetLength

Не на крайний случай, а только и именно через SetLength


 
VMcL ©   (2004-04-12 13:33) [5]

Sorry.
TString800 = array [0 .. 800] of Char;


 
default ©   (2004-04-12 13:34) [6]

Ш-К   (12.04.04 13:29) [2]
так код увеличится только на SetLength-и в констр-ре
или ещё надо чтобы при присв-ии такой перем-ой строки длинной большей заданной она "обрезалась" вместо выделения дополнительной памяти?


 
Digitman ©   (2004-04-12 13:36) [7]


> Ш-К   (12.04.04 13:29) [2]


ничего не понял ...

ты по каким-то причинам переделываешь какой-то существующий код ? или с нуля пишешь ?


 
Johnmen ©   (2004-04-12 13:43) [8]

>VMcL ©   (12.04.04 13:33) [5]
>Sorry.
>TString800 = array [0 .. 800] of Char;

Надеешься длину в один байт запихнуть ? :)
Первый твой ответ правильней...


 
Ш-К   (2004-04-12 13:48) [9]

Digitman ©   (12.04.04 13:36) [7]
Переделываю чужой код


 
Anatoly Podgoretsky ©   (2004-04-12 13:50) [10]

Ты хочешь скачать, что в чужом коде было String[800]


 
Ш-К   (2004-04-12 13:54) [11]

VMcL ©  

> И мог обращаться к этим полям через стринговые функции

Anatoly Podgoretsky ©   (12.04.04 13:50) [10]

String[255]


 
Anatoly Podgoretsky ©   (2004-04-12 14:04) [12]

Вот в том коде сделано правильно. Это предельная длина для string, для больших длин надо отказыаться от string


 
PVOzerski ©   (2004-04-12 14:07) [13]

>Вот в том коде сделано правильно. Это предельная длина для string, для больших длин надо

Точнее, предельная длина для ShortString, структуры, которая может быть статической. Если больше 255 символов, надо пользоваться либо длинными строками (т.е. тогда SetLength не избежать), либо массивами символов.


 
Ш-К   (2004-04-12 14:13) [14]

Хреново, что в Delphi нельзя рулить длиной стрига больше 255 на уровне определения типов. Будем делать руками. (геморойно)

Всем спасибо.


 
Anatoly Podgoretsky ©   (2004-04-12 14:28) [15]

Нельзя поскольку это динамическая структура. Через SetLength пожалуйства.


 
VMcL ©   (2004-04-13 14:59) [16]

>>Johnmen ©  (12.04.04 13:43) [8]

Нет. Человеку нужна строка на 800 символов, значит буфер на 800+1 символ, если учесть терминирующий нуль.



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

Форум: "Основная";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.038 c
7-1077518181
SDW-syscoder
2004-02-23 09:36
2004.05.02
Нулевое кольцо защиты (Ring0)


1-1082096797
Litva
2004-04-16 10:26
2004.05.02
помогите новенкой...


1-1081861359
BOA_KAA
2004-04-13 17:02
2004.05.02
Регистрация редактора свойств в D7


1-1081781502
Mishenka
2004-04-12 18:51
2004.05.02
Где взять Help для RXLIb?


3-1081277285
neVIP
2004-04-06 22:48
2004.05.02
Как лечить Cannot modify





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский