سلام اساتید محترم
آیا روشی در ویژوال فاکس وجود دارد که بشود از روی فرم جاری پرینت گرفت0!؟
من نمیخواهم از Report برای اینکار استفاده کنم . و دقیقا میخواهم شمای فرم را پرینت بگیرم0
منتظرم محبت دوباره دوستان هستم 0
Printable View
سلام اساتید محترم
آیا روشی در ویژوال فاکس وجود دارد که بشود از روی فرم جاری پرینت گرفت0!؟
من نمیخواهم از Report برای اینکار استفاده کنم . و دقیقا میخواهم شمای فرم را پرینت بگیرم0
منتظرم محبت دوباره دوستان هستم 0
سلام
خب شما باید اول با PrintScreen اون را به حافظه ببرید سپس آن را چاپ کنید. که این در فاکس فکر نکنم پیش بینی شده باشد!
البته ممکن است توابعی وجود داشته باشد که صفحه را به فرم چاپی تبدیل کند اما آنها هم مطمئنم منظور شما نیست.
آقا یک جستجو کار را درست می کند
آدرس یک کلاس رو نوشته بودم که از هر کدام از اشیا روی فرم می تونید یک فایل bmp ذخیره و چاپ کنید
اگر هم پیدا نکردی تو قسمت دانلود سایت www.foxite.com هست
سلام علیکمنقل قول:
نوشته شده توسط rezaTavak
آقا رضا از قضا من هم توابعی را میخواهم که از داخل برنامه بتوانم چنین کاری را انجام دهد0 اگر میشه لطفا نام اون توابع و چگونگی اجرا انرا اگر زحمت نیست توضیح بدین 0
متشکرم
سلام
http://www.xs4all.nl/~foxite/downloads/foxform.zip
این چیزی است که آقای بینیاز عزیز فرمودند.
وقتی دانلودش کردید با دستورات زیر در فاکس پرو رجیسترش کنید:
DECLARE LONG DllRegisterServer IN foxform.dll
IF DllRegisterServer() = 0
* OK
ELSE
* Not OK
ENDIF
سپس از آن استفاده کرده یک شکل صفحه نمایش را به صورت BMP ذخیره کنید.
سپس با :
APPEND GENERAL GeneralFieldName [FROM FileName]
[DATA cExpression] [LINK] [CLASS OLEClassName]
آن را به یک جدول اطلاعاتی که دارای فیلد جنرال است برده و یک گزارش از این جدول و فیلد جنرالش بسازید.
:sad2: :sad2: :sad2: :sad2: :sad2: :sad2:نقل قول:
آقا رضا از قضا من هم توابعی را میخواهم که از داخل برنامه بتوانم چنین کاری را انجام دهد0 اگر میشه لطفا نام اون توابع و چگونگی اجرا انرا اگر زحمت نیست توضیح بدین 0
تو این آدرس محل فایل scx2bmp هست
http://www.barnamenevis.org/vi...c&start=30
و در صفحه بعد آدرس یک سایت فرانسوی که با API این کار و کرده
با سلام
متشکرم از جناب استاد بی نیاز و آقا رضا تاوک بخاطر زحماتشان .
آیا ممکن است به این دو سوال نیز جواب دهید؟
1- در یک پروژه اطلاعات بانک user خود را برای امنیت بیشتر با یک تابع udf کد کرده ام حال میخواهم در هنگام استفاده از grid اطلاعات بعد از ریکد به نمایش در آیند ولی نمی دانم تابع udf ی که برای ریکد نواشتم را در کجا قرار دهم ؟
2- چگونه میتوان اطلاعات یک فیلد memo را در انتهای یک repot چاپ کرد؟
با تشکر
1-در متد load فرم قرار بدین
2- فرقی بایک فیلد کاراکتری نداره یک کنترل field بزارید رو گزارش و اسم فیلد رو بدین
سلامنقل قول:
نوشته شده توسط binyaz2003
ببخشید چی در متد LOAD قرار بدهم ؟ خود تابع FUNCTION را قبول نمیکند و دستور مورد نظر را هم نمی شناسد ؟ :cry:
خوب تابع رو در متد لود فرم ایجاد کنید اگر یا int
سلامنقل قول:
نوشته شده توسط rahro
خیلی ساده است!
به نظر من ابتدا تمامی توابع udf خود را در یک program ذخیره کن که با دستور
Set proc to filename بشود به ان ارجاع کرد و اگر داخل یک فرم تنها میخواهی
روش خود را اجرا کنی دستور فوق را در load تایپ کن . حال بر روی grid خود
راست کلیک کن قسمت edit را انتخاب کن و بر روی فیلد مندرج مذکور راست
کلیک کن و در قسمت properties قسمت data – controlsourse فیلد خود بین
تابع udf خود قرار بده .
:wink: موفق باشی :موفق:
سلام
لطفا بفرمائید اطلاعات کد شده را فقط می خواهید نمایش دهید یا قابل ویرایش هم باشد؟ چون خیلی با هم فرق دارد. اگر فقط برای نمایش است کار ساده است! اما برای ویرایش کار خیلی سخت میشود.
در ضمن برای نمایش یک فیلد در انتهای گزارش از summery استفاده کنید. البته برای فیلدهای عددی من کار کرده و جمع چند رکورد را می زنم.
با عرض سلام
جناب آقا رضا تاوک
منظور من فقط مشاهده بود که با توجه به توضیحات دوستان حل شد و متشکرم :موفق:
************************************************** **************
دوستان جداولی که از طریق data environment فرم باز میشوند در کدام ناحیه کاری فعال میباشند .؟ من جداول خود را در ابتدای برنامه توسط دستور select در ناحیه های مختلف باز نموده ام حال در یک فرم به هنگام ایجاد grid یک بانک اطلاعاتی که عناوین grid مرا تشکیل میدهد باز شده است ولی در هیچ کجا ندیدم که از من سوال کند در کدام ناحیه این بانک اطلاعاتی باز شود ؟ نمی دانم توانستم سوال خود را روشن بیان کنم یا خیر . البته به هنگام اجرای برنامه با هیچ مشکلی که عنوان شود که فایل بانک اطلاعاتی من قبلا use شده باشد برخورد نکردم! ولی به هر حال دلهر این موضوع هنوز در من وجود دارد.
2- چگونه میشود اطلاعات یک list box را به یک فیلد memo منتقل کرد؟ و یا بر عکس !؟؟
متشکر میشوم که دوستان بزرگوار جواب سوالات مرا بدهند.
سلام
مانند فاکس داس نیست بلکه هر فرم خودش می تواند DataSession داشته باشد. DataSession که به اسم Default است همانی است که در داس با آن آشناییم.
اطلاعات هر سطر ListBox را بخوانید و بعد از هر سطر ;\ سپس این را به داخل فیلد بریزید. هنگامی که این فیلد را با ADDITEM اضافه کنید تمام لیست اضافه میشود.
سلامنقل قول:
نوشته شده توسط rezaTavak
میشه لطف کنید در مورد دوم بیشتر راهنمایی کنید! :cry:
در ضمن در فاکس dos برای جستجوی یک عبارت فارسی در یک فیلد میبایست یک فیلد از عبارت مورد نظر بصورت معکوس رشته مورد نظر ایجاد کنیم آیا در ویژوال این کار لازم است و ایا مثلا با درج گوشه ای از یک اسم این امکان وجود دارد که تمامی اسامی که با ان اغاز میشود را جستجو و سرچ کرد؟ ایا تابع و دستور خاصی را باید بکار برد ؟ در ضمن اگر بخواهم با درج هر حرف در یک گرید بلافاصله عبارت نزدیک به ان را نمایش دهم چکار باید بکنم ؟
:cry: :cry:
با تشکر
سلام
ببینید شما اگر یک text که در آن یکسری کاراکتر است را به لیست اضافه کنید اول آن بررسی می شود اگر به کاراکتر ;\ برسد به ردیف بعد می رود. به این کد نگاه کنید :
#DEFINE C_OPERATORS_LOC "ãÓÇæ&a mp;iacute;\;ãÎÇ&am p;aacute;Ý\;Èí&am p;Ocirc;ÊÑ ÇÒ\;ßã& amp;Ecirc;Ñ ÇÒ\;Êå&a mp;iacute;\;ÎäË&ia cute;\;ÔÇã&aac ute;\;ÏÑ\;È&iac ute;ä\;"
*"equals\;not equals\;more than\;less than\;is blank\;is NULL\;contains\;in\;between"
THIS.ADDITEM(C_OPERATORS_LOC)
THIS.VALUE = THIS.LIST[1]
برای خواندن لیست هم به تعداد listcount یک حلقه که تمام ردیفها را بخواند و در یک text قرار دهد و آخر هر ردیف هم \; قرار دهد درست کنید. مقدارها را هم از آرایه list و با توجه به listindex بخوانید.
البته بهتر است در حجم بالا از فیلد استفاده کنید تا کارتان راحت باشد.
نه لازم نیست که رشته برعکس بررسی شود خود ویندوز راست به چپ را پشتیبانی میکند.
بسته به تنظیمات شما در set دارد. مثلا SET EXACT ON اگر باشد رشته باید دقیقا همانند باشند و اگر off لازم نیست همانند باشند. همچنین set ansi. یک کار که راحت هم هست این است که از تابع AT استفاده کنید.
این بسته به برنامه نویسی شما دارد. گرید خودش همچین چیزی ندارد که سرچ انجام دهد.
با سلام و تشکر از همه دوستان که وقت گذاشته وجواب سوالات مرا میدهند
در یک پروژه که فرم اصلی با دستورات _screeen طرح ریزی شده میخواهم در صورت کلیک بر روی دکمه close بالای صفحه اول یک فرم برای کاربر نمایش داده شده و خروج وی را تائید و بعد در صورت تائید خارج شود . چگونه اینکار را انجام دهم ؟
سلام
on shut down .....
متشکرم آقا رضا :موفق: خودشه
ببخشید در یک grid اگر بخواهم مکان نما در یک فیلد فقط حرکت کند و از انتقال ان به سایر فیلدها جلوگیری کنم چکار باید کرد؟
و همچنین اگر بخواهم در صورتی که کاربر کلید enter را فشار داد و یا در صورتی که کاربر روی فیلد مورد نظر کلیک کرد اتفاق خاصی رخ دهد چه باید کرد ؟
با تشکر
با سلام
در مورد سوال اول شما می تونید column مورد نظر رو غیر فعال کنید thisform.grid1.column1.enabled=.f.
در مورد سوال دوم شما راه های زیادی دارید یکی اینکه از وقایع keypress و click تکست باکس مورد نظر استفاده کنید همچنین در وقایع beforrowcolchange و after rowcolchange شما nColIndex شماره ستون جاری رو خواهید داشت
استاد عزیز جناب بینیاز : سلامنقل قول:
نوشته شده توسط binyaz2003
در مورد سوال دوم منظورم باز در grid بود نه تکست باکس .
منم منظورم گرید هست
منتها شما در هر گرید اول چند ستون دارید هر ستون از دو بخش تشکیل شده یک header و textbox که مقادیر فیلد شما رو textbox نمایش میده :sunglass:
سلامنقل قول:
نوشته شده توسط binyaz2003
آخه چرا وقایع keypress و click در grid کار نمیکنن :mad:
من هر کار کردم نتوانستم. من میخواهم در grid هر گاه کاربر روی هر رکورد اینتر کرد مقادیر ان رکورد به یک فرم دیگر ارسال شود اخه این کجاش سخته که فاکس اینقدر گیر میده :mad:
Recno()
سلام استادنقل قول:
نوشته شده توسط binyaz2003
آخه با این دستور نمیشه گرید رو بست . شاید من منظورم رو درست نگفتم من میخواهم با کلید اینتر گرید من بسته و رکورد جاری به فرم مورد نظر من منتقل شود!؟؟؟
:cry:
سلام
دوست عزیز گرید یک Object است و بسته نمیشه باید اون را Hide کرد یعنی شما باید بعد از اینکه کاربر ENter را زد در گزینه KeyPress چک کنید که اگر این اتفاق افتاد یک فرم دیگر باز شود و در آن فرم اطلاعات گرفته شود. یا همین فرمی که دارید با آن کار میکنید را با Visible کردن کنترلها تغییر دهید.
سلام دوستان
کسی تابعی داره که بتونه دو تاریخ شمسی رو از هم تفریق یا جمع کنه؟ مهم این موضوع تشخیص سال کبیسه و خبیصه است!!
سلام
من یکسری تابع تاریخ در این بخش قرار داده ام اول تاریخ را به روز ژولیوسی تبدیل کن و بعد هم تفریق.
سلام : کلمه ژولیوسی رو سرچ کردم چیز زیادی عایدم نشد خودم دو نمنونه تابع دارم ولی مشکوکم که صحیح کارکنند اگر شما در دسترس دارید میشه یه ادرس سر راست بدین .نقل قول:
نوشته شده توسط rezaTavak
قلبا" !! از زحمتتون متشکرم ؟!
سلام
http://www.barnamenevis.org/vi...c&start=10
توی این قسمت است.
تمام توابع.
با تابع
persian_jdn(lnYear, lnMonth, lnDay)
برای تبدیل تاریخ به روز ژولیوسی.
سلام ببخشید آقا رضا - این رو دیدم ولی با توجه به اینکه گفته بودید بازم روی این توابع کار میکنید گفتم شاید کامل تر از این هم جایی گذاشته باشید بحر حال از لطف شما سپاسگذارم :موفق:نقل قول:
نوشته شده توسط rezaTavak
سلام
من گذاشتم اما نمی دانم چرا پاک شده!
سلام بی نهایت شرمنده شما میشم اگر یکبار دیگه روی سایت بذاری یا به ادرس من ایمیل کنی rahro_ali@yahoo.comنقل قول:
نوشته شده توسط rezaTavak
چشم باید اول اونها را آماده کنم و به صورت یک فایل در آرم.
سلام
در تکست باکسی که من در فرم خود گذاشتم inputmask انرا ده تا 9 گذاشتم ولی برای ورود عدد اگر اعداد بزرگتر از 1111111111 بشود در یک گزینه این پیغام به کابر ارسال میشود
namric Overflow چطور میتونم این مشکل رو حل کنم
سلام
دوست عزیز محدوده اعداد شما در چه رنجی است؟ و شما از چه نوعی استفاده کرده ای؟
به این نگاه کن:
Data and Field Types
See Also
ALTER TABLE - SQL Command | Character Data Type | CREATE TABLE - SQL Command | Currency Data Type | Date Data Type | DateTime Data Type | Double Field Type | Float Field Type | General Field Type | Logical Data Type | Memo Field Type | Numeric Data Type | Overview of the Language
All Visual FoxPro data has a type — a description of the permissible values and range and size of those values. Once you specify the type of data you are using, Visual FoxPro can efficiently store and manipulate the data.
Variables and arrays hold a subset of the available Visual FoxPro data types. Additional data types are available only for fields in a table. To add a field of a specific type to a table programmatically, specify the field type with a letter abbreviation. For more information, see the description for FieldType in CREATE TABLE - SQL.
You specify the type of data to be stored in each field of a table when you create the table. The type of data in a variable or array element is determined by the value you store in the variable or array element. The following table lists the data types in Visual FoxPro.
Visual FoxPro Data Types
Data type Description Size Range
Character Any text 1 byte per character to 254 Any characters
Currency Monetary amounts 8 bytes - 922337203685477.5807 to 922337203685477.5807
Date Chronological data consisting of month, year, and day 8 bytes When using strict date formats, {^0001-01-01}, January 1st, 1 A.D to {^9999-12-31}, December 31st, 9999 A.D.
DateTime Chronological data consisting of month, year, day, and time 8 bytes When using strict date formats, {^0001-01-01}, January 1st, 1 A.D to {^9999-12-31}, December 31st, 9999 A.D., plus 00:00:00 a.m. to 11:59:59 p.m.
Logical Boolean value of true or false 1 byte True (.T.) or False (.F.)
Numeric Integers or fractions 8 bytes in memory;
1 to 20 bytes in table - .9999999999E+19 to .9999999999E+20
Variant A variant can contain any of the Visual FoxPro data types and the null value. Once a value is stored to a variant, the variant assumes the data type of the data it contains.
Variants are designated with an e prefix in language syntax.
See data types above. See data types above.
In addition, Visual FoxPro provides data types that apply only to fields in tables.
Visual FoxPro Field Types
Field type Description Size Range
Double A double-precision floating-point number 8 bytes +/-4.94065645841247E-324 to +/-8.9884656743115E307
Float Same as Numeric 8 bytes in memory;
1 to 20 bytes in table - .9999999999E+19 to .9999999999E+20
General Reference to an OLE object 4 bytes in table Limited by available memory
Integer Integer values 4 bytes -2147483647 to 2147483647
Memo Reference to a block of data 4 bytes in table Limited by available memory
Character (Binary) Any character data you want to maintain without change across code pages 1 byte per character to 254 Any characters
Memo (Binary) Any memo field data you want to maintain without change across code pages 4 bytes in table Limited by available memory
Tip You can use the TYPE( ) function to determine the type of data stored in a variable, array element, or field.
Each data type has its own characteristics, including storage size:
سلام
فکرشو میکردم باید این مشکلو داشته باشه!Integer Integer values 4 bytes -2147483647 to 2147483647
ببخشید حالا در کجا میتونم این مشکلو حل کنم ؟ منظور این خط چیه؟؟ میشه راهنمایم کنید
Tip You can use the TYPE( ) function to determine the type of data stored in a variable, array element, or field.
Each data type has its own characteristics, including storage size
سلام
از نوع currency استفاده کن.
تابع TYpe نوع داده را می گوید از چه نوعی است.
سلام دوست عزیز
من در پروپرتیس خاصیت strictDateEntry رو برابر با O-loose کردم مشکل حل شد آیا از نظر شما مورد قبول است ؟
سلام
نه. حتما یه موردی هست که خطا میده. به نظر من نوع داده را تغییر بدی بهتره.
اقا رضا سلام
توابع تاریخ رو در برنامه استفاده کردم ولی خطاهای زیر را در کامپایل میده !
#DEFINE JAN14NWEEK1 2
Error in line 37: Constant is already created with #DEFINE.
IF ((MOD1((7 * iYear) + 1), 19) < 7) THEN
Error in line 188: Function name is missing ).
End If
Error in line 224: Command contains unrecognized phrase/keyword.
iMonth = 3 + INT((l + 40) 44)
Error in line 227: Function name is missing ).
Error in line 230: An IF | ELSE | ENDIF statement is missing.
ENDIF
Error in line 245: An IF | ELSE | ENDIF statement is missing.
ENDIF
Error in line 259: An IF | ELSE | ENDIF statement is missing.
ENDIF
Error in line 273: An IF | ELSE | ENDIF statement is missing.
ENDIF
Error in line 287: An IF | ELSE | ENDIF statement is missing.
DO pascha WITH @iYear, @iMonth, @iDay, @CalendarType
Error in line 795: Syntax error.
DO civil_normDate WITH @iYear, @iMonth, @iDay, @CalendarType
Error in line 797: Syntax error.
RETURN (civil_jdn(iYear, iMonth, iDay, CalendarStyle) - civil_jdn(iYear, 1, 1, CalendarStyle) + dayOfWeek(civil_jdn(iYear, 1, 1, CalendarStyle), DaynumStyle) + 6) \ 7
Error in line 867: Syntax error.
RETURN (markday - firstmarkday) \ 7 + 1
Error in line 890: Syntax error.
iMonth = iMonth Mod 12
Error in line 919: Syntax error.
End If
Error in line 945: Command contains unrecognized phrase/keyword.
ENDDO
Error in line 947: Nesting error.
Error in line 949: An IF | ELSE | ENDIF statement is missing.
OTHERWISE
Error in line 1243: There is a missing keyword in the FOR...ENDFOR or DO CASE...ENDCASE command structure.
ENDCASE
Error in line 1251: There is a missing keyword in the FOR...ENDFOR or DO CASE...ENDCASE command structure.
Error in line 1269: An IF | ELSE | ENDIF statement is missing.
ممکنه خواهش کنم اصل اون رو ی سایت بذاری یا برایم ایمیل کنید. متشکرم
سلام
چی شد آقا رضا!؟
سلام
ماموریتم فعلا.
سلام
چطور میتوان در grid رکورد های خاصی را نمایش داد . همانند دستور for در brows را چگونه میتوان در grid انجام داد0
یکی از راه ها می تونه استفاده از دستور set filter to در قسمت init مربوط به خود فرم فعال یا خود grid باشه
(معمولا عمل فیلتر کردن زمانی انجام می شود که کاربر کلیدی را جهت تایید عملیات جستجو و باز شدن فرم جدید به عنوان نتیجه جستجو و... انجام می شود مناسبت ترین راه قرار دادن دستور set filter to در آن قسمت می باشد) (مثلا در برنامه ها من فرمی طراحی کردم جهت گزارش که تمامی فیلدها جدول موردنظر را نمایش می دهد و در مقابل محلی جهت ورود اطلاعات (مثلا مقدار از ... تا ... یا کلمه ای از عبارت جستجو و...) و در پایان باتومی جهت فعال کردن عملیات جستجو که در این باتوم ابتدا تمامی تغییرات فرم را چک کرده و همگی بصورت یک رشته جستجو درآمده و توسط دستور set filter to &var کنترل شده و گراید مربوطه نمایش داده می شود)
سلام من از این دستور استفاده کردم ! دستور filter شاید برای فلیتر کردن یک فیلد مناسب باشد ( یا چند فیلد برای رکوردهای کم) ولی هنگامی که شما بخواهید از شرطی که دارای چند گزینه ( مثلا بین یک تاریخ خاص رکوردهایی که مبلغ انها معادل عددی خاص و مربوط به شخص خاص باشد) در رکوردهای بالای 50000 باشد کاربر چند ثانیه ای (10 به بالا بستگی به سرعت سیستم) معطل میشود بدون اینکه بتوان برای کاربر جدول پردازش طراحی کرد !! در فاکس 2.6 میشد روی یک فیلد فیلتر کرد و با دستور for در brows رکوردهای خاصی را نمایش داد با سرعتی مناسب !نقل قول:
نوشته شده توسط javad_hosseiny
در ضمن دستور brows در ویژوال و در برنامه های کاربردی چی بر سرش آمده ؟؟ ایا به کلی منسوخ شده !
آیا راهی دیگر در گرید به غیر از به فیلتر کردن هست ؟؟
آیا دوستان برنامه ای طراحی کرده اند که به هنگام پردازش اطلاعات یک جدول زمانبدی شده را برای کاربر نمایش دهد؟؟
__________________
بهترین استاد تجربه است!
سلام
فکر نکنم برای 50000 رکورد فاکس اینقدر معطل کنه. من ظرف نیم ثانیه این کار را برایم انجام میده.
بعدش Fetch را کم کنید شاید درست بشه. یعنی با این عنوان دنبالش در Help بگردید: Speeding Up Data Retrieval
و همچنین در مورد ایندکسی که فیلتر بر روی آن است درست عمل کنید تا تکنولوژی فاکس به کار بیافتد.
من از filter در جداول سنگین نیز استفاده کردم نمی گوییم سرعت مناسبی دارد ولی 10 ثانیه هم نبود البته بستگی به نوع تعریف شرط و شروط توی عبارت فیلتر دارد (همان طور که گفتم فرم من قابلیت پر کردن تمامی فیلدها ورودی را به عنوان پارامتر سرچ دارد و تاکنون مشکل کندی سرعت در حجم بالا را نیز نداشتم) (والبته رابطه مستقیم و بسیار تاثیرپذیری نیز بر روی فایل های ایندکس تان دارد) (همانطور که دوستم گفتم تکنولوژی rushmore فاکس کمی مطالعه کنید)
و در رابطه با معادل brows فکر کنم واقعا grid جایگزین مناسبی باشد
و نهایتا در صورت نیاز به سرعت بالاتر (معمولا در حالت شبکه ای و در حالت حجم بسیار بالا) پیشنهاد استفاده از دستورات sql جهت جستجو مناسبت تر است
سلام
جناب حسینی : من مرجع کافی برای مطالعه تکنولوژی rushmore فاکس را ندارم یکجا خواندم که دستوری که با ان میشه از این تکنولوژی استفاده کرد SELECT SQL است که برایم گنگ و نامفهوم است اگر ممکنه در موردش برایم توضیح بدین0
و اما به تازگی در ایندکس فایل بانک اطلاعاتی مشخصات که بر روی فامیل اشخاص ایندکس ان مرتب شده بود
متوجه شدم ایندکس درست عمل نمیکند خیلی دنبال علتش رفتم تا اینکه فهمیدم حروفی که با ک گ پ شروع شده اند در بانگ اطلاعاتی حروف انها دیده نمیشود؟!! و فقط فقط با این حروف مشکل دارد البته در برنامه این مشکل وجود ندارد فقط در هنگام brow کردن مشخصه که این حروف چاپ نشده اند!!؟؟
ویندوز من xp است و فونت که من استفاده میکنم تاهاما است 0 این مشکلو چگونه حل کنم
متشکر م ره رو
سلام :چی شد پس!؟؟