نمايش يک پارامتر که به صورت عدد يا رشته به پروسيجر داده شده
سلام عليکم
احتمالا عنوان گويا نيست.من يک کد در سورسهای نمونه آموزشي ديدم:
function ValToString(Value: Variant): String;
begin
case TVarData(Value).VType of
varSmallInt,
varInteger : Result := IntToStr(Value);
varSingle,
varDouble,
varCurrency : Result := FloatToStr(Value);
varDate : Result := FormatDateTime('dd.mm.yyyy', Value);
varBoolean : if Value then Result := 'T' else Result := 'F';
varString : Result := Value;
else Result := '';
end;
end;
از اين تابع براي نمايش رشته و عدد اعشار استفاده کردم اما نتونست عدد صحيح مثلا يک رو نشون بده.
من گاهي در برنامه هام براي اشکال زدايي مقدار يک متغير رو براي خودم نمايش ميدم. دوست داشتم بشه گاهي ترکيبي از عدد و رشته رو به صورت آرايه به يک پروسيجر بدم که نمايش بده.
ممنون ميشم راهنمايي کنيد
نقل قول: نمايش يک پارامتر که به صورت عدد يا رشته به پروسيجر داده شده
سلام. VarToStr
به جای Variant در پارامتر ورودی می تونید از Const هم استفاده کنید.
نقل قول: نمايش يک پارامتر که به صورت عدد يا رشته به پروسيجر داده شده
ممنون.VarToStr خوب بود
متوجه منظورتون از این جمله نشدم:
"به جای Variant در پارامتر ورودی می تونید از Const هم استفاده کنید."
نقل قول: نمايش يک پارامتر که به صورت عدد يا رشته به پروسيجر داده شده
یه مدل پاس دادن پارامتره شبیه به پاس دادن اشاره گر.
procedure Proc(const x);
untyped parameter in delphi
نقل قول: نمايش يک پارامتر که به صورت عدد يا رشته به پروسيجر داده شده
تشکر فراوان
استفاده از Pointer رو بلد نیستم. فکر کنم سخت تر باشه. چون باید نوع داده رو هم بدونیم.
این کد کار نکرد:
procedure ShowX(Const X);
Begin
ShowMessage(VarToStr(X^));
End;
فعلا به این کد رسیدم:
procedure ShowXStr(X:Array of Variant);
Var
I:Byte;
S:String;
begin
For I:=0 to high(X) Do
S:=S+VarToStr(X[I])+#13;
ShowMessage(S);
end;
نقل قول: نمايش يک پارامتر که به صورت عدد يا رشته به پروسيجر داده شده
وقتی از high استفاده می کنی دیگه به جای 0 باید از low شروع کنی.
وقتی از 0 شروع می کنی باید از Length منهای یک استفاده کنی.
array of const هم می تونی استفاده کنی که شرایط خودش رو داره، برای کاری که انجام می دی معمولا همین روش خوبه.
نقل قول: نمايش يک پارامتر که به صورت عدد يا رشته به پروسيجر داده شده
ببخشید مدتی مریض بودم... من قبلا امتحان کرده بودم اگر یه ارایه رو مثلا از یک تا فلان تعریف کنیم و به عنوان پارامتر به پروسیجر بدیم، اندیس شماره یک در پروسیجر معادل صفر میشه!
در مورد کار نکردن:
procedure ShowX(Const X);
Begin
ShowMessage(VarToStr(X^));
End;
میتونید توضیح بدید؟ ممکنه امکانات دلفی نسخه بالاتر باشه؟
مگه Const در مقابل Var نیست ؟ میشه پارامتر بدون نوع برای پروسیجر تعریف کرد؟
نقل قول: نمايش يک پارامتر که به صورت عدد يا رشته به پروسيجر داده شده
سلام. امیدوارم بهتر شده باشید
پارامتر بدون نوع در دلفی های XE (اگر اشتباه نکنم) اضافه شدند. نوع اونها می شه TVarRec و Variant نمی شه
نقل قول: نمايش يک پارامتر که به صورت عدد يا رشته به پروسيجر داده شده
علیکم السلام و رحمة الله و برکاته .
بهترم.خدا شما رو حفظ کنه و بر توفیقات شما اضافه کنه و در دنیا و آخرت سعادتمند باشید. تشکر می کنم