با سلام به اساتید گرامی
آقا من یه فرم دارم که مجموع اقلام یک فاکتور رو نشون میده حالا میخوام این عدد تو یه فرم دیگه نمایش داده بشه و بتونم چاپش کنم لطفا راهنمایی بفرمایید
سپاس
با سلام به اساتید گرامی
آقا من یه فرم دارم که مجموع اقلام یک فاکتور رو نشون میده حالا میخوام این عدد تو یه فرم دیگه نمایش داده بشه و بتونم چاپش کنم لطفا راهنمایی بفرمایید
سپاس
اگراین عدد را در زمان اجرا تو فرم اولی که گفتید می سازید که خوب کافی که در فرم اول یک خصیصه ایجاد کنید و در زمان جمع کردن عدد اون را در اون خصیصه قرار بدید و بعد در زمان اجرا از فرم اول یک آبجکت بسازید و در فرم دوم از اون خصیصه استفاده کنید البته این روش شی گرائی بود.
اگر نه که فکر کنم میتونید یک متغیر سراسری تعریف کنید و بهش دسترسی پیدا کنید!
البته اگر منظورتون را درست متوجه شده باشم..
سلام ممنون از پاسخ شما
یه مشکل عمده اینه من به فاکس تسلطی ندارم
شما درست متوجه شدین
امکان این نیست مقدار تکس باکس رو به فرم جدید پاس کنم فقط مقدار تکس باکس رو میخوام
با سلام
آقا همانطور که دستور داده بودین من متغیر ها رو تعریف کردم و اطلاعات رو از فرم اصلی به فرم مورد نظر منتقل کردم و اطلاعات کامل و درست هستش ولی وقتی تو چاپ میگم این متغییر رو چاپ کن متاسفانه درست چاپ نمیکنه و یه عدد خیلی بزرگتری رو چاپ میکنه که نمیدونم از کجاست
خب کدهای که نوشتم به این صورت هست
ابتدا کدی که در فرم اصلی هست و هیچ ایرادی نداره و میخوایم چاپ کنیم
PUBLIC a,b,c
SELECT baste_h_ser
IF .NOT. EOF() .AND. .NOT. BOF()
r = RECNO()
COUNT FOR ser<>0 .AND. b_o_no<>0 TO sw
thisform.text13.value = sw
a=thisform.text13.Value
SUM baste_h_ser.met TO sw FOR ser<>0 .AND. b_o_no<>0
thisform.text7.value = sw
b=thisform.text7.Value
SUM baste_h_ser.wight TO sw FOR ser<>0 .AND. b_o_no<>0
thisform.text8.value = sw
c=thisform.text8.Value
SUM baste_h_ser.arz TO sw FOR ser<>0 .AND. b_o_no<>0
thisform.text6.value = sw
GOTO r
ENDIF
متغیر های که من تعریف کردم و به فرم مورد نظر انتقال دادم a,b,c که تو فرم جدید درست چاپ میشن
حالا کدهای که تو فرم مورد نظر فراخونی کردم به اینورت هست
PUBLIC metra
metra = 0
thisform.text1.Value=a
thisform.text2.Value=b
metra=thisform.text2.Value
thisform.text3.Value=c
خوب با این روش a,b,c دقیق نمایش داده میشه ولی متغیر metra که مقدار تکس باکس 2 هست و میخوام چاپ بشه درست عمل نمیکنه
لطفا یه بررسی بفرمایید راهنمایی کنید
ممنون و سپاس از لطفتون
ممنون میشم به این کد ها یه نگاه بندازید و ایرادش و بفرمایید مشکل من برطرف شه
PUBLIC metra
metra = 0
thisform.text1.Value=a
thisform.text2.Value=b
metra=thisform.text2.Value
thisform.text3.Value=c
بهتره مقدار متغیر b را مستقیم در مقدار metra ذخیره کنید واز این متغیر استفاده کنیدالبته اگر به مقدار متغیر b که در این بلاک تعریف شده اطمینان دارید که صحیح هست. یعنی اینطوری ...
PUBLIC metra
thisform.text1.Value=a
thisform.text2.Value=b
metra=b
thisform.text3.Value=c
حالا اگر مقدار این متغیر metra را چاپ میکنید و عدد دیگه ای چاپ میشه پس یکجا دیگه دارید مقدار متغیر b را تغییر میدید و اگر هم که بازهم درست نشد حتما از خروجی تون یک اسکرین شات بذارید ببینم.
البته اینطوری هم فکر کنم بتونید استفاده کنید البته ببخشید من الان محیط وی فاکس ندارم همینطوری از http://learnvfp.mihanblog.com/ این وبلاگ جناب حسین زاده کپی کردم
DEFINE CLASS Writer AS custom
public a = 0
public b = 0
public c = 0
procedure write
SELECT baste_h_ser
IF .NOT. EOF() .AND. .NOT. BOF()
r = RECNO()
COUNT FOR ser<>0 .AND. b_o_no<>0 TO sw
thisform.text13.value = sw
this->a=thisform.text13.Value
SUM baste_h_ser.met TO sw FOR ser<>0 .AND. b_o_no<>0
thisform.text7.value = sw
this->b=thisform.text7.Value
SUM baste_h_ser.wight TO sw FOR ser<>0 .AND. b_o_no<>0
thisform.text8.value = sw
this->c=thisform.text8.Value
SUM baste_h_ser.arz TO sw FOR ser<>0 .AND. b_o_no<>0
thisform.text6.value = sw
GOTO r
ENDIF
endproc
ENDDEFINE
DEFINE CLASS Consumer AS custom
public mWriter AS Writer
procedure reader
mWriter.write()
thisform.text1.Value=mWriter.a
thisform.text2.Value=mWriter.b
metra=write.b
thisform.text3.Value=write.c
endproc
ENDDEFINE
عزیز دل برادر خود دستور تعریف کلاس را بردی توی متد refresh یک کلاس کپی کردی؟!!!
اگر میخواهی توی کلاس به صورت ویژوالی استفاده کنی می تونی از مثالی که درست کردم استفاده کنید
یک فرم درست کردم که یک آبجکت از یک کلاس را داره توی کلاس متد منطق استفاده شده و توی فرم هم متد استفاده کننده اگر سوالی بود در خدمتم
test.rar
فقط حواست باشه که برای اجرای منطق خودتون باید بانکهای اطلاعاتی که لازم هست باز کرده باشید