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

Вниз

длинна 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
1-68735
zam2000
2002-10-10 15:25
2002.10.21
как загрузить в Richedit dos текст, чтобы осталась псевдографика


7-69043
IvanSoft
2002-08-15 08:13
2002.10.21
Как изменить скорость


1-68690
AL2002
2002-10-10 19:17
2002.10.21
SendMessage? A kak?


4-69059
Василий2
2002-09-06 17:43
2002.10.21
Как заблокировать файл?


14-68930
Delph
2002-10-01 12:11
2002.10.21
Надо преобразовать исходники Java в Delphi.