Форум: "Основная";
Текущий архив: 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