View Full Version : تبدیل مقدار
saba32
یک شنبه 16 تیر 1392, 12:22 عصر
سلام به همگی
من با فست ریپورت کار می کنم. توی گزارشم از یه جدول اطلاعات رو واکشی می کنم و چاپ میشه. اما یه فیلد دارم به نام کتگوری که مقدارش 0 ، 1 ، 2، یا 3 هست.
میخوام در فست ریپورت در فیلد کتگوری ، به ازای 0 مثلا بنویسم پراید، 1 = پژو ، 2= بنز ...
کجا باید کدشو بنویسم ؟ در فست ریپورت ییا در فرم دلفی؟ و چجوری؟
sara.mahdavi
یک شنبه 16 تیر 1392, 12:44 عصر
سلام به همگی
من با فست ریپورت کار می کنم. توی گزارشم از یه جدول اطلاعات رو واکشی می کنم و چاپ میشه. اما یه فیلد دارم به نام کتگوری که مقدارش 0 ، 1 ، 2، یا 3 هست.
میخوام در فست ریپورت در فیلد کتگوری ، به ازای 0 مثلا بنویسم پراید، 1 = پژو ، 2= بنز ...
کجا باید کدشو بنویسم ؟ در فست ریپورت ییا در فرم دلفی؟ و چجوری؟
سلام saba32 جان:چشمک:
فکر میکنم این راه خوبی باشه
توی رویداد BeforePrint شی frxReport اینطوری عمل کن:
procedure TFrmProfile.frxReport1BeforePrint(Sender: TfrxReportComponent);
var
Memo: TfrxMemoView;
begin
if edit1.text='1' then begin
Memo:=Frxreport1.FindObject('نام متغییر در فست ریپورت')as TfrxMemoView;
Memo.Text:='پراید';
end
else if edit1.text='2' then begin
Memo:=Frxreport1.FindObject('نام متغییر در فست ریپورت')as TfrxMemoView;
Memo.Text:='پژو';
end
else
.
.
.
موفق باشی :قلب:
یوسف زالی
یک شنبه 16 تیر 1392, 13:10 عصر
راه خوبیه ولی کار اضافه داره.
این کد همون کار رو بهینه می کنه:
var
Memo: TfrxMemoView;
begin
Memo := Frxreport1.FindObject('نام متغيير در فست ريپورت')as TfrxMemoView;
Memo.Text := ComboBox1.Text; // behtare az combo estefade beshe
end;
می تونید از کمبو استفاده کنید. اگر آی دی هاتون از یک جدول گرفته می شه بهتره از شی DBLookupComboBox استفاده کنید.
در حالتی که از ادیت استفاده می شه بهتره پیدا کردن شی در فست، در خارج از شرط استفاده بشه. کد کمتری نوشته می شه و اصلاح و نگهداری ساده تری داره.
اما به نظر من این کار رو در دلفی کنید، اگر متصل به داده هست و ممکنه برای هر ردیف این عدد عوض بشه، بهتره براش از یک فیلد محاسباتی استفاده کنید و در رویداد OnCalcullate شی ADO این مقادیر رو کنترل کنید. با استفاده از GetText هم می تونید متن نمایشی رو تهیه کنید تا در چاپ فارسی چاپ شه ولی در استفاده از Value ها همون اعداد به کارتون بیاد.
موفق باشید.
saba32
یک شنبه 16 تیر 1392, 13:37 عصر
مرسی سارا جان. خیلی کمک کردی.:قلب:
یوسف زالی
یک شنبه 16 تیر 1392, 13:41 عصر
اینجا هم پارتی بازیه؟!
:لبخند:
موفق باشید!
sara.mahdavi
یک شنبه 16 تیر 1392, 14:46 عصر
مرسی سارا جان. خیلی کمک کردی.:قلب:
قربونت :قلب:
امیدوارم موفق باشی:چشمک:
آقای You-See (http://barnamenevis.org/member.php?70247-You-See)
خب روش من براش راحتتر بود دیگه :لبخندساده:
saba32
یک شنبه 16 تیر 1392, 17:31 عصر
اینجا هم پارتی بازیه؟!
:لبخند:
موفق باشید!
دست شما هم درد نکنه :چشمک: روش شما حرفه ای تر بود خیلی سر در نیاوردم.
به خاطر فارسی... از richedit استفاده کردم اما خطا میده:
کد من درسته؟
var
richview22: TfrxRichView ;
begin
richview22:=Frxreport4.FindObject('rich22')as TfrxRichView;
richview22.text:='پراید';
خطای undeclared identifier: text میده
یوسف زالی
یک شنبه 16 تیر 1392, 20:50 عصر
کد خطا رو الان دیدم!
فکر کنم این طوری درست باشه:
richview22.RichEdit.Text
saba32
دوشنبه 17 تیر 1392, 07:02 صبح
آره درسته . مرسی. :تشویق:
sara.mahdavi
دوشنبه 17 تیر 1392, 10:36 صبح
من اومدم اینو امتحان کنم
ولی برای منم اخطار داد
Undeclared identifier: TfrxRichView
فکر میکنم کتابخانه frxclass مشکل داشته باشه
لطفا راهنمایی کنید
باتشکر
یوسف زالی
دوشنبه 17 تیر 1392, 10:55 صبح
نه.
باید frxRich رو Use کنید.
sara.mahdavi
دوشنبه 17 تیر 1392, 18:25 عصر
آره درست شد :تشویق:
ممنون:لبخندساده:
راستی از کجا بفهمیم که هر شئ چه کتابخانه ای لازم داره؟
آیا سایتی هست ؟ یا Help خود دلفی؟
یوسف زالی
دوشنبه 17 تیر 1392, 19:01 عصر
در این مورد من هم مثل شما حدس زدم در frxClasses باشه، دیدم نیست، رفتم تو تب ها و یک شی frxRich گذاشتم رو فرم و کامپایل کردم دیدم چی یوز شد :بامزه:
اما برای این که بدونید کدوم دستور در چه یونیتی قرار داره، بهترین گزینه اینترنت هست. سایت StackOverFlow هم کمک شایانی محسوب می شه.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.