PDA

View Full Version : سوال: مشکل در ایجاد متغیر رشته ای بزرگ



loo30fer
سه شنبه 19 مهر 1390, 00:20 صبح
سلام دوستان
راستش من میخوام توی متغیر رشته ای بیش از 255 کارکتر بریزم حدودا 2 تا 5 کیلوبایت اومدم از راهنمای {$H+} مانند کدی که قرار دادم استفاده کردم ولی باز خطا گرفته میشه که مقداری که داخل متغیر ریخته میشه بیشتر از 255 کارکتر هست هرچی جستجو کردم و بررسی کردم نفهمیدم مشکل کجاست؟
ضمنا به دلایلی نمیتونم از آرایه استفاده کنم. ممنون میشم راهنمایی کنید. با تشکر

var
{$H+}
LongString: string;
begin
LongString:= 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAA';
end;

سعید صابری
سه شنبه 19 مهر 1390, 00:49 صبح
TSTRINGLIST استفاده کن

Mahmood_M
سه شنبه 19 مهر 1390, 02:24 صبح
متغیر String می تونه به تعداد نامحدود ( تا جایی که حافظه ی سیستم اجازه بده ) کارکتر در خودش ذخیره کنه و محدودیتی نداره ، اون Directive ای که نوشتید ( H+ ) مربوط میشه به اینکه کامپایلر داده های String رو از نوع ShortString ( با محدودیت 255 کارکتر ) در نظر بگیره یا از نوع AnsiString ( در نسخه های قبل از 2009 ) یا UnicodeString ( در نسخه های 2009 به بالا ) ، در حالت پیش فرض ، اون Directive فعال هست و نوع های String بدون محدودیت در نظر گرفته میشن ولی این محدودیت در زمان طراحی همچنان وجود داره ، درواقع محدودیت در رشته ای هست که شما در Editor دلفی می نویسید ، وگرنه ، در زمان اجرا می تونید به تعداد نامحدود ( البته تا 32 بیت ! ) کارکتر درون متغیر String قرار بدید

دلیل این محدودیت رو نمی دونم ، فقط می دونم که این محدودیت در زمان اجرا وجود نداره !

موفق باشید ...