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

Вниз

длинна String   Найти похожие ветки 

 
jgu   (2002-10-10 23:51) [0]

как объявить переменную типа string чтоб была > 255 симвлов? Если как AnsiString или WideString компилятор все равно ругается что > 255


 
ultrasuper_asd   (2002-10-11 00:17) [1]

странный вопрос...
не надо указывать длину стринга вообще... и он спокойно > 255
будет брать...


 
Dr_Mike   (2002-10-11 00:20) [2]

В Делфи тип String уже давно (не помню точно с какой версии - с 2.0, наверное) лишился этого ограничения по длине :-)))
А проблема у тебя скорее всего в том, что где-то в тексте прописана директива компилятора (или указано в настройках параметров компилятора) трактовать все объявления переменных типа String как ShortString - старый до боли знакомый еще с Паскаля тип с ограничением длины в 255 символов.


 
ultrasuper_asd   (2002-10-11 00:22) [3]

это директива не влияет на обьявление AnsiString. по крайней мере мне так кажется... просто не надо писать AnsiString[257]...


 
Dmk   (2002-10-11 00:41) [4]

По умолчанию String приравнивается к AnsiString, и никаких скобок с цифрами писать не надо. Если хочешь использовать ограничение, то пиши так:

var
MyString: array[0..x] of char;
NotMyString: string;

begin
FillChar(MyString,SizeOf(MyString),"X");
NotMyString := MyString;
Caption := NotMyString;
end;


 
ultrasuper_asd   (2002-10-11 00:44) [5]

не
я думаю, для него это слишкком сложно... он запарится копаться в этом коде...


 
Dr_Mike   (2002-10-11 00:53) [6]

> Dmk © (11.10.02 00:41)

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


 
Dmk   (2002-10-11 00:55) [7]

:)


 
ultrasuper_asd   (2002-10-11 00:57) [8]

ну вы совсем
хватит над пацаном прикалываться... ну тормознул он.. с кем не бывает...
короче забудь про фиксированные длины строк и пиши всё как ни в чём не бывало... всё проканает... без проблем...


 
Gayrus   (2002-10-11 03:26) [9]

var S:String; - Теперь в переменную S можно записать до 2Gb !


 
Rouse_   (2002-10-11 03:34) [10]

Оффтопик но:
> var
> MyString: array[0..x] of char;

Не проще будет MyString: String[Размер];

Желаю успехов


 
Dr_Mike   (2002-10-11 04:15) [11]

ладно, тут уже большинство мессаг - оффтопик, так что еще и моя одна не испортит общую картину :-))

>Rouse_ © (11.10.02 03:34)
- все дело ведь только в том, для чего эта строка потом будет нужна, и как с ней предполагается работать, а насчет совместимости разных строковых типов и символьных массивов в хелпе немало написано, так что тут особо и сказать нечего да и не нужно...


 
McSimm   (2002-10-11 09:49) [12]

Осмелюсь предположить, что проблема возникает в конструкции вроде

S := "строка длиною больше 255 символов.....";

Если так, то проблема не в описании переменной, а в константе.
Надо разбить ее на подстроки, меньшие 255 символов, объединив их "+".


 
Dr_Mike   (2002-10-11 10:17) [13]

..или описать константу, как типизированную, и не делать лишних присвоений


 
han_malign   (2002-10-11 10:41) [14]

//off topic :^)
var
s: string;
len: DWORD;
begin
if(s="")then len:=0 //pointer(s)=nil
else len:=DWORD(pointer(DWORD(s)-4)^);//s[0]



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

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

Наверх





Память: 0.47 MB
Время: 0.008 c
1-68815
Sabor
2002-10-09 20:31
2002.10.21
Stringgrid?


7-69050
TU-154
2002-08-13 13:58
2002.10.21
Передача команд на принтер


1-68811
wer1
2002-10-10 03:55
2002.10.21
Мастера подскажите! Нужно запретить повторный запуск программы?


1-68838
Gaber
2002-10-10 12:29
2002.10.21
Создать файл, имя файла


7-69040
Maxim Zemskov
2002-08-08 21:48
2002.10.21
Модем





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