im डेल्फी 7 पर काम कर रहा है और मैं एक तार पर काम कर रहा था, मैं डिफ़ॉल्ट लंबाई के एक स्ट्रिंग के लिए यहडेल्फी 'स्ट्रिंग' अक्षर 255 से अधिक कैसे हो सकता है?
delphi stringsमें आए, वह है, घोषित बस स्ट्रिंग के रूप में, अधिकतम आकार हमेशा 255 एक ShortString है 255 से अधिक वर्णों में कभी बढ़ने की अनुमति नहीं है।
एक बार मैं अपने डेल्फी कोड में इस तरह कुछ करने के लिए (जो एक बहुत बड़ा प्रश्न के लिए था)
var
sMyStringOF256characters : string;
ilength : integer;
begin
sMyStringOF256characters:='ThisStringisofLength256,ThisStringisofLength256,.....'
//length of sMyStringOF256characters is 256
end;
मैं इस त्रुटि मिलती थी पर
[त्रुटि] u_home.pas (38): स्ट्रिंग अक्षर में अधिकतम 255 तत्व हो सकते हैं।
लेकिन जब मैं इस
var
iCounter : integer;
myExtremlyLongString : string;
begin
myExtremlyLongString:='';
Label1.Caption:='';
for iCounter:=0 to 2500 do
begin
myExtremlyLongString:=myExtremlyLongString+inttostr(iCounter);
Label1.Caption:=myExtremlyLongString;
end;
Label2.Caption:=inttostr(length(myExtremlyLongString));
end;
कोशिश करते हैं और परिणाम
है आप देख सकते हैं myExtremlyLongString की लंबाई वर्ण है।
डेल्फी ने कोई त्रुटि क्यों नहीं दी कि लंबाई myExtremlyLongString के लिए 255 से अधिक है?
संपादित मैं
SetLength(sMyStringOF256characters,300);
थे, लेकिन यह does not काम।
शायद तुम सिर्फ गलत डॉक्स पढ़ रहे हैं। बीटीडब्ल्यू, यह वास्तव में अस्पष्ट है कि आप "गतिशील रूप से असाइन किए गए" के रूप में क्या मतलब है ... क्या? – OnTheFly
@ user539484: अर्थात् लूप के दौरान रन टाइम के दौरान स्ट्रवल हो सकता है: = mystring, जैसे लूप वैल्यू स्ट्रिंग वेरिएबल – PresleyDias
एएच को असाइन करने के लिए, फिर "गतिशील रूप से" स्क्रैच करें, इसके बारे में असाइनमेंट बनाम ** घोषणा **। आप ऊपर उद्धृत कर रहे हैं घोषणाओं के बारे में है, अधिक विशेष रूप से - चरित्र ** अक्षर ** पर संकलक सीमा के बारे में। यह केवल ऐतिहासिक साधनों से टर्बो पास्कल तारों से जुड़ा हुआ है। – OnTheFly