View Full Version : اشکالات برنامه نویسی من( rahro)
rahro
دوشنبه 16 خرداد 1384, 21:51 عصر
سلام اساتید محترم
آیا روشی در ویژوال فاکس وجود دارد که بشود از روی فرم جاری پرینت گرفت0!؟
من نمیخواهم از Report برای اینکار استفاده کنم . و دقیقا میخواهم شمای فرم را پرینت بگیرم0
منتظرم محبت دوباره دوستان هستم 0
rezaTavak
دوشنبه 16 خرداد 1384, 23:47 عصر
سلام
خب شما باید اول با PrintScreen اون را به حافظه ببرید سپس آن را چاپ کنید. که این در فاکس فکر نکنم پیش بینی شده باشد!
البته ممکن است توابعی وجود داشته باشد که صفحه را به فرم چاپی تبدیل کند اما آنها هم مطمئنم منظور شما نیست.
binyaz2003
سه شنبه 17 خرداد 1384, 00:23 صبح
آقا یک جستجو کار را درست می کند
آدرس یک کلاس رو نوشته بودم که از هر کدام از اشیا روی فرم می تونید یک فایل bmp ذخیره و چاپ کنید
اگر هم پیدا نکردی تو قسمت دانلود سایت www.foxite.com هست
rahro
سه شنبه 17 خرداد 1384, 05:13 صبح
سلام
خب شما باید اول با PrintScreen اون را به حافظه ببرید سپس آن را چاپ کنید. که این در فاکس فکر نکنم پیش بینی شده باشد!
البته ممکن است توابعی وجود داشته باشد که صفحه را به فرم چاپی تبدیل کند اما آنها هم مطمئنم منظور شما نیست.
سلام علیکم
آقا رضا از قضا من هم توابعی را میخواهم که از داخل برنامه بتوانم چنین کاری را انجام دهد0 اگر میشه لطفا نام اون توابع و چگونگی اجرا انرا اگر زحمت نیست توضیح بدین 0
متشکرم
rezaTavak
سه شنبه 17 خرداد 1384, 07:30 صبح
سلام
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]
آن را به یک جدول اطلاعاتی که دارای فیلد جنرال است برده و یک گزارش از این جدول و فیلد جنرالش بسازید.
binyaz2003
سه شنبه 17 خرداد 1384, 09:39 صبح
آقا رضا از قضا من هم توابعی را میخواهم که از داخل برنامه بتوانم چنین کاری را انجام دهد0 اگر میشه لطفا نام اون توابع و چگونگی اجرا انرا اگر زحمت نیست توضیح بدین 0
:sad2: :sad2: :sad2: :sad2: :sad2: :sad2:
تو این آدرس محل فایل scx2bmp هست
http://www.barnamenevis.org/forum/viewtopic.php?t=14381&postdays=0&postorder=asc&sta rt=30
و در صفحه بعد آدرس یک سایت فرانسوی که با API این کار و کرده
rahro
شنبه 21 خرداد 1384, 04:41 صبح
با سلام
متشکرم از جناب استاد بی نیاز و آقا رضا تاوک بخاطر زحماتشان .
آیا ممکن است به این دو سوال نیز جواب دهید؟
1- در یک پروژه اطلاعات بانک user خود را برای امنیت بیشتر با یک تابع udf کد کرده ام حال میخواهم در هنگام استفاده از grid اطلاعات بعد از ریکد به نمایش در آیند ولی نمی دانم تابع udf ی که برای ریکد نواشتم را در کجا قرار دهم ؟
2- چگونه میتوان اطلاعات یک فیلد memo را در انتهای یک repot چاپ کرد؟
با تشکر
binyaz2003
شنبه 21 خرداد 1384, 11:54 صبح
1-در متد load فرم قرار بدین
2- فرقی بایک فیلد کاراکتری نداره یک کنترل field بزارید رو گزارش و اسم فیلد رو بدین
rahro
شنبه 21 خرداد 1384, 19:21 عصر
1-در متد load فرم قرار بدین
2- فرقی بایک فیلد کاراکتری نداره یک کنترل field بزارید رو گزارش و اسم فیلد رو بدین
سلام
ببخشید چی در متد LOAD قرار بدهم ؟ خود تابع FUNCTION را قبول نمیکند و دستور مورد نظر را هم نمی شناسد ؟ :cry:
binyaz2003
شنبه 21 خرداد 1384, 20:01 عصر
خوب تابع رو در متد لود فرم ایجاد کنید اگر یا int
Master_mobtaker
یک شنبه 22 خرداد 1384, 03:54 صبح
1-در متد load فرم قرار بدین
2- فرقی بایک فیلد کاراکتری نداره یک کنترل field بزارید رو گزارش و اسم فیلد رو بدین
سلام
ببخشید چی در متد LOAD قرار بدهم ؟ خود تابع FUNCTION را قبول نمیکند و دستور مورد نظر را هم نمی شناسد ؟ :cry:
سلام
خیلی ساده است!
به نظر من ابتدا تمامی توابع udf خود را در یک program ذخیره کن که با دستور
Set proc to filename بشود به ان ارجاع کرد و اگر داخل یک فرم تنها میخواهی
روش خود را اجرا کنی دستور فوق را در load تایپ کن . حال بر روی grid خود
راست کلیک کن قسمت edit را انتخاب کن و بر روی فیلد مندرج مذکور راست
کلیک کن و در قسمت properties قسمت data – controlsourse فیلد خود بین
تابع udf خود قرار بده .
:wink: موفق باشی :موفق:
rezaTavak
یک شنبه 22 خرداد 1384, 08:38 صبح
سلام
لطفا بفرمائید اطلاعات کد شده را فقط می خواهید نمایش دهید یا قابل ویرایش هم باشد؟ چون خیلی با هم فرق دارد. اگر فقط برای نمایش است کار ساده است! اما برای ویرایش کار خیلی سخت میشود.
در ضمن برای نمایش یک فیلد در انتهای گزارش از summery استفاده کنید. البته برای فیلدهای عددی من کار کرده و جمع چند رکورد را می زنم.
rahro
پنج شنبه 26 خرداد 1384, 04:34 صبح
با عرض سلام
جناب آقا رضا تاوک
منظور من فقط مشاهده بود که با توجه به توضیحات دوستان حل شد و متشکرم :موفق:
************************************************** **************
دوستان جداولی که از طریق data environment فرم باز میشوند در کدام ناحیه کاری فعال میباشند .؟ من جداول خود را در ابتدای برنامه توسط دستور select در ناحیه های مختلف باز نموده ام حال در یک فرم به هنگام ایجاد grid یک بانک اطلاعاتی که عناوین grid مرا تشکیل میدهد باز شده است ولی در هیچ کجا ندیدم که از من سوال کند در کدام ناحیه این بانک اطلاعاتی باز شود ؟ نمی دانم توانستم سوال خود را روشن بیان کنم یا خیر . البته به هنگام اجرای برنامه با هیچ مشکلی که عنوان شود که فایل بانک اطلاعاتی من قبلا use شده باشد برخورد نکردم! ولی به هر حال دلهر این موضوع هنوز در من وجود دارد.
2- چگونه میشود اطلاعات یک list box را به یک فیلد memo منتقل کرد؟ و یا بر عکس !؟؟
متشکر میشوم که دوستان بزرگوار جواب سوالات مرا بدهند.
rezaTavak
پنج شنبه 26 خرداد 1384, 08:14 صبح
سلام
مانند فاکس داس نیست بلکه هر فرم خودش می تواند DataSession داشته باشد. DataSession که به اسم Default است همانی است که در داس با آن آشناییم.
اطلاعات هر سطر ListBox را بخوانید و بعد از هر سطر ;\ سپس این را به داخل فیلد بریزید. هنگامی که این فیلد را با ADDITEM اضافه کنید تمام لیست اضافه میشود.
rahro
پنج شنبه 26 خرداد 1384, 12:11 عصر
سلام
مانند فاکس داس نیست بلکه هر فرم خودش می تواند DataSession داشته باشد. DataSession که به اسم Default است همانی است که در داس با آن آشناییم.
اطلاعات هر سطر ListBox را بخوانید و بعد از هر سطر ;\ سپس این را به داخل فیلد بریزید. هنگامی که این فیلد را با ADDITEM اضافه کنید تمام لیست اضافه میشود.
سلام
میشه لطف کنید در مورد دوم بیشتر راهنمایی کنید! :cry:
در ضمن در فاکس dos برای جستجوی یک عبارت فارسی در یک فیلد میبایست یک فیلد از عبارت مورد نظر بصورت معکوس رشته مورد نظر ایجاد کنیم آیا در ویژوال این کار لازم است و ایا مثلا با درج گوشه ای از یک اسم این امکان وجود دارد که تمامی اسامی که با ان اغاز میشود را جستجو و سرچ کرد؟ ایا تابع و دستور خاصی را باید بکار برد ؟ در ضمن اگر بخواهم با درج هر حرف در یک گرید بلافاصله عبارت نزدیک به ان را نمایش دهم چکار باید بکنم ؟
:cry: :cry:
با تشکر
rezaTavak
پنج شنبه 26 خرداد 1384, 12:38 عصر
سلام
ببینید شما اگر یک text که در آن یکسری کاراکتر است را به لیست اضافه کنید اول آن بررسی می شود اگر به کاراکتر ;\ برسد به ردیف بعد می رود. به این کد نگاه کنید :
#DEFINE C_OPERATORS_LOC "ãÓÇæí\;ã& Icirc;ÇáÝ\;Èí&O circ;ÊÑ ÇÒ\;ßãÊ&Ntilde ; ÇÒ\;Êåí\;Î& auml;Ëí\;ÔÇã&aacut e;\;ÏÑ\;Èíä\;"
*"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 استفاده کنید.
این بسته به برنامه نویسی شما دارد. گرید خودش همچین چیزی ندارد که سرچ انجام دهد.
rahro
یک شنبه 29 خرداد 1384, 04:27 صبح
با سلام و تشکر از همه دوستان که وقت گذاشته وجواب سوالات مرا میدهند
در یک پروژه که فرم اصلی با دستورات _screeen طرح ریزی شده میخواهم در صورت کلیک بر روی دکمه close بالای صفحه اول یک فرم برای کاربر نمایش داده شده و خروج وی را تائید و بعد در صورت تائید خارج شود . چگونه اینکار را انجام دهم ؟
rezaTavak
یک شنبه 29 خرداد 1384, 07:20 صبح
سلام
on shut down .....
rahro
سه شنبه 31 خرداد 1384, 12:58 عصر
متشکرم آقا رضا :موفق: خودشه
ببخشید در یک grid اگر بخواهم مکان نما در یک فیلد فقط حرکت کند و از انتقال ان به سایر فیلدها جلوگیری کنم چکار باید کرد؟
و همچنین اگر بخواهم در صورتی که کاربر کلید enter را فشار داد و یا در صورتی که کاربر روی فیلد مورد نظر کلیک کرد اتفاق خاصی رخ دهد چه باید کرد ؟
با تشکر
binyaz2003
سه شنبه 31 خرداد 1384, 14:47 عصر
با سلام
در مورد سوال اول شما می تونید column مورد نظر رو غیر فعال کنید thisform.grid1.column1.enabled=.f.
در مورد سوال دوم شما راه های زیادی دارید یکی اینکه از وقایع keypress و click تکست باکس مورد نظر استفاده کنید همچنین در وقایع beforrowcolchange و after rowcolchange شما nColIndex شماره ستون جاری رو خواهید داشت
rahro
چهارشنبه 01 تیر 1384, 04:24 صبح
با سلام
در مورد سوال اول شما می تونید column مورد نظر رو غیر فعال کنید thisform.grid1.column1.enabled=.f.
در مورد سوال دوم شما راه های زیادی دارید یکی اینکه از وقایع keypress و click تکست باکس مورد نظر استفاده کنید همچنین در وقایع beforrowcolchange و after rowcolchange شما nColIndex شماره ستون جاری رو خواهید داشت
استاد عزیز جناب بینیاز : سلام
در مورد سوال دوم منظورم باز در grid بود نه تکست باکس .
binyaz2003
چهارشنبه 01 تیر 1384, 08:08 صبح
منم منظورم گرید هست
منتها شما در هر گرید اول چند ستون دارید هر ستون از دو بخش تشکیل شده یک header و textbox که مقادیر فیلد شما رو textbox نمایش میده :sunglass:
rahro
چهارشنبه 01 تیر 1384, 16:48 عصر
منم منظورم گرید هست
منتها شما در هر گرید اول چند ستون دارید هر ستون از دو بخش تشکیل شده یک header و textbox که مقادیر فیلد شما رو textbox نمایش میده :sunglass:
سلام
آخه چرا وقایع keypress و click در grid کار نمیکنن :mad:
من هر کار کردم نتوانستم. من میخواهم در grid هر گاه کاربر روی هر رکورد اینتر کرد مقادیر ان رکورد به یک فرم دیگر ارسال شود اخه این کجاش سخته که فاکس اینقدر گیر میده :mad:
binyaz2003
شنبه 04 تیر 1384, 18:56 عصر
Recno()
rahro
دوشنبه 06 تیر 1384, 04:07 صبح
Recno()
سلام استاد
آخه با این دستور نمیشه گرید رو بست . شاید من منظورم رو درست نگفتم من میخواهم با کلید اینتر گرید من بسته و رکورد جاری به فرم مورد نظر من منتقل شود!؟؟؟
:cry:
rezaTavak
دوشنبه 06 تیر 1384, 07:31 صبح
سلام
دوست عزیز گرید یک Object است و بسته نمیشه باید اون را Hide کرد یعنی شما باید بعد از اینکه کاربر ENter را زد در گزینه KeyPress چک کنید که اگر این اتفاق افتاد یک فرم دیگر باز شود و در آن فرم اطلاعات گرفته شود. یا همین فرمی که دارید با آن کار میکنید را با Visible کردن کنترلها تغییر دهید.
rahro
شنبه 11 تیر 1384, 18:14 عصر
سلام دوستان
کسی تابعی داره که بتونه دو تاریخ شمسی رو از هم تفریق یا جمع کنه؟ مهم این موضوع تشخیص سال کبیسه و خبیصه است!!
rezaTavak
شنبه 11 تیر 1384, 19:26 عصر
سلام
من یکسری تابع تاریخ در این بخش قرار داده ام اول تاریخ را به روز ژولیوسی تبدیل کن و بعد هم تفریق.
rahro
شنبه 11 تیر 1384, 23:00 عصر
سلام
من یکسری تابع تاریخ در این بخش قرار داده ام اول تاریخ را به روز ژولیوسی تبدیل کن و بعد هم تفریق.
سلام : کلمه ژولیوسی رو سرچ کردم چیز زیادی عایدم نشد خودم دو نمنونه تابع دارم ولی مشکوکم که صحیح کارکنند اگر شما در دسترس دارید میشه یه ادرس سر راست بدین .
قلبا" !! از زحمتتون متشکرم ؟!
rezaTavak
یک شنبه 12 تیر 1384, 07:07 صبح
سلام
http://www.barnamenevis.org/forum/viewtopic.php?t=9539&postdays=0&postorder=asc&star t=10
توی این قسمت است.
تمام توابع.
با تابع
persian_jdn(lnYear, lnMonth, lnDay)
برای تبدیل تاریخ به روز ژولیوسی.
rahro
یک شنبه 12 تیر 1384, 16:28 عصر
سلام
http://www.barnamenevis.org/forum/viewtopic.php?t=9539&postdays=0&postorder=asc&star t=10
توی این قسمت است.
تمام توابع.
با تابع
persian_jdn(lnYear, lnMonth, lnDay)
برای تبدیل تاریخ به روز ژولیوسی.
سلام ببخشید آقا رضا - این رو دیدم ولی با توجه به اینکه گفته بودید بازم روی این توابع کار میکنید گفتم شاید کامل تر از این هم جایی گذاشته باشید بحر حال از لطف شما سپاسگذارم :موفق:
rezaTavak
یک شنبه 12 تیر 1384, 22:51 عصر
سلام
من گذاشتم اما نمی دانم چرا پاک شده!
rahro
دوشنبه 13 تیر 1384, 04:55 صبح
سلام
من گذاشتم اما نمی دانم چرا پاک شده!
سلام بی نهایت شرمنده شما میشم اگر یکبار دیگه روی سایت بذاری یا به ادرس من ایمیل کنی rahro_ali@yahoo.com
rezaTavak
دوشنبه 13 تیر 1384, 07:23 صبح
چشم باید اول اونها را آماده کنم و به صورت یک فایل در آرم.
rahro
شنبه 18 تیر 1384, 04:26 صبح
سلام
در تکست باکسی که من در فرم خود گذاشتم inputmask انرا ده تا 9 گذاشتم ولی برای ورود عدد اگر اعداد بزرگتر از 1111111111 بشود در یک گزینه این پیغام به کابر ارسال میشود
namric Overflow چطور میتونم این مشکل رو حل کنم
rezaTavak
شنبه 18 تیر 1384, 07:16 صبح
سلام
دوست عزیز محدوده اعداد شما در چه رنجی است؟ و شما از چه نوعی استفاده کرده ای؟
به این نگاه کن:
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:
rahro
یک شنبه 19 تیر 1384, 04:16 صبح
سلام
فکرشو میکردم باید این مشکلو داشته باشه!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
rezaTavak
یک شنبه 19 تیر 1384, 20:49 عصر
سلام
از نوع currency استفاده کن.
تابع TYpe نوع داده را می گوید از چه نوعی است.
rahro
دوشنبه 20 تیر 1384, 04:15 صبح
سلام دوست عزیز
من در پروپرتیس خاصیت strictDateEntry رو برابر با O-loose کردم مشکل حل شد آیا از نظر شما مورد قبول است ؟
rezaTavak
دوشنبه 20 تیر 1384, 09:47 صبح
سلام
نه. حتما یه موردی هست که خطا میده. به نظر من نوع داده را تغییر بدی بهتره.
rahro
پنج شنبه 23 تیر 1384, 05:36 صبح
اقا رضا سلام
توابع تاریخ رو در برنامه استفاده کردم ولی خطاهای زیر را در کامپایل میده !
#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.
ممکنه خواهش کنم اصل اون رو ی سایت بذاری یا برایم ایمیل کنید. متشکرم
rahro
شنبه 25 تیر 1384, 04:52 صبح
سلام
چی شد آقا رضا!؟
rezaTavak
شنبه 25 تیر 1384, 22:53 عصر
سلام
ماموریتم فعلا.
rahro
جمعه 31 تیر 1384, 04:16 صبح
سلام
چطور میتوان در grid رکورد های خاصی را نمایش داد . همانند دستور for در brows را چگونه میتوان در grid انجام داد0
javad_hosseiny
جمعه 31 تیر 1384, 19:04 عصر
یکی از راه ها می تونه استفاده از دستور set filter to در قسمت init مربوط به خود فرم فعال یا خود grid باشه
(معمولا عمل فیلتر کردن زمانی انجام می شود که کاربر کلیدی را جهت تایید عملیات جستجو و باز شدن فرم جدید به عنوان نتیجه جستجو و... انجام می شود مناسبت ترین راه قرار دادن دستور set filter to در آن قسمت می باشد) (مثلا در برنامه ها من فرمی طراحی کردم جهت گزارش که تمامی فیلدها جدول موردنظر را نمایش می دهد و در مقابل محلی جهت ورود اطلاعات (مثلا مقدار از ... تا ... یا کلمه ای از عبارت جستجو و...) و در پایان باتومی جهت فعال کردن عملیات جستجو که در این باتوم ابتدا تمامی تغییرات فرم را چک کرده و همگی بصورت یک رشته جستجو درآمده و توسط دستور set filter to &var کنترل شده و گراید مربوطه نمایش داده می شود)
rahro
شنبه 01 مرداد 1384, 05:07 صبح
یکی از راه ها می تونه استفاده از دستور set filter to در قسمت init مربوط به خود فرم فعال یا خود grid باشه
(معمولا عمل فیلتر کردن زمانی انجام می شود که کاربر کلیدی را جهت تایید عملیات جستجو و باز شدن فرم جدید به عنوان نتیجه جستجو و... انجام می شود مناسبت ترین راه قرار دادن دستور set filter to در آن قسمت می باشد) (مثلا در برنامه ها من فرمی طراحی کردم جهت گزارش که تمامی فیلدها جدول موردنظر را نمایش می دهد و در مقابل محلی جهت ورود اطلاعات (مثلا مقدار از ... تا ... یا کلمه ای از عبارت جستجو و...) و در پایان باتومی جهت فعال کردن عملیات جستجو که در این باتوم ابتدا تمامی تغییرات فرم را چک کرده و همگی بصورت یک رشته جستجو درآمده و توسط دستور set filter to &var کنترل شده و گراید مربوطه نمایش داده می شود)
سلام من از این دستور استفاده کردم ! دستور filter شاید برای فلیتر کردن یک فیلد مناسب باشد ( یا چند فیلد برای رکوردهای کم) ولی هنگامی که شما بخواهید از شرطی که دارای چند گزینه ( مثلا بین یک تاریخ خاص رکوردهایی که مبلغ انها معادل عددی خاص و مربوط به شخص خاص باشد) در رکوردهای بالای 50000 باشد کاربر چند ثانیه ای (10 به بالا بستگی به سرعت سیستم) معطل میشود بدون اینکه بتوان برای کاربر جدول پردازش طراحی کرد !! در فاکس 2.6 میشد روی یک فیلد فیلتر کرد و با دستور for در brows رکوردهای خاصی را نمایش داد با سرعتی مناسب !
در ضمن دستور brows در ویژوال و در برنامه های کاربردی چی بر سرش آمده ؟؟ ایا به کلی منسوخ شده !
آیا راهی دیگر در گرید به غیر از به فیلتر کردن هست ؟؟
آیا دوستان برنامه ای طراحی کرده اند که به هنگام پردازش اطلاعات یک جدول زمانبدی شده را برای کاربر نمایش دهد؟؟
__________________
بهترین استاد تجربه است!
rezaTavak
شنبه 01 مرداد 1384, 08:06 صبح
سلام
فکر نکنم برای 50000 رکورد فاکس اینقدر معطل کنه. من ظرف نیم ثانیه این کار را برایم انجام میده.
بعدش Fetch را کم کنید شاید درست بشه. یعنی با این عنوان دنبالش در Help بگردید: Speeding Up Data Retrieval
و همچنین در مورد ایندکسی که فیلتر بر روی آن است درست عمل کنید تا تکنولوژی فاکس به کار بیافتد.
javad_hosseiny
شنبه 01 مرداد 1384, 11:49 صبح
من از filter در جداول سنگین نیز استفاده کردم نمی گوییم سرعت مناسبی دارد ولی 10 ثانیه هم نبود البته بستگی به نوع تعریف شرط و شروط توی عبارت فیلتر دارد (همان طور که گفتم فرم من قابلیت پر کردن تمامی فیلدها ورودی را به عنوان پارامتر سرچ دارد و تاکنون مشکل کندی سرعت در حجم بالا را نیز نداشتم) (والبته رابطه مستقیم و بسیار تاثیرپذیری نیز بر روی فایل های ایندکس تان دارد) (همانطور که دوستم گفتم تکنولوژی rushmore فاکس کمی مطالعه کنید)
و در رابطه با معادل brows فکر کنم واقعا grid جایگزین مناسبی باشد
و نهایتا در صورت نیاز به سرعت بالاتر (معمولا در حالت شبکه ای و در حالت حجم بسیار بالا) پیشنهاد استفاده از دستورات sql جهت جستجو مناسبت تر است
rahro
چهارشنبه 05 مرداد 1384, 04:49 صبح
سلام
جناب حسینی : من مرجع کافی برای مطالعه تکنولوژی rushmore فاکس را ندارم یکجا خواندم که دستوری که با ان میشه از این تکنولوژی استفاده کرد SELECT SQL است که برایم گنگ و نامفهوم است اگر ممکنه در موردش برایم توضیح بدین0
و اما به تازگی در ایندکس فایل بانک اطلاعاتی مشخصات که بر روی فامیل اشخاص ایندکس ان مرتب شده بود
متوجه شدم ایندکس درست عمل نمیکند خیلی دنبال علتش رفتم تا اینکه فهمیدم حروفی که با ک گ پ شروع شده اند در بانگ اطلاعاتی حروف انها دیده نمیشود؟!! و فقط فقط با این حروف مشکل دارد البته در برنامه این مشکل وجود ندارد فقط در هنگام brow کردن مشخصه که این حروف چاپ نشده اند!!؟؟
ویندوز من xp است و فونت که من استفاده میکنم تاهاما است 0 این مشکلو چگونه حل کنم
متشکر م ره رو
rahro
جمعه 07 مرداد 1384, 04:29 صبح
سلام :چی شد پس!؟؟
javad_hosseiny
شنبه 08 مرداد 1384, 08:41 صبح
با عرض پوزش از دیرکرد جواب
در رابطه با بحث sql باید عرض کنم همانطور که مستحضرید زبان پرس و جو هست (select quary languange) و در بسیاری از زبانها مورداستفاده قرار گرفته است (از دیتابیس اینجنین های معروفی همچون ms-sql , mysql, ... تا زبانهای برنامه نویسی همچون دلفی ... در دیتابیس اینجنین داخلی خود نیز از آن استفاده می کنند (البته با توجه به نیاز کاربر) ) و فکر کنم اگر در همین سایت جستجو بزنید موردمثال بسیاری پیدا می کنید . (اگر help همون فاکس رو هم مطالعه کنید مثالهای خوبی داره)
در حقیقت همون کاری که ما با فیلتر در مورد یک جدول می کنیم select sql با چندین جدول و با قابلیت سرعت بسیار بالاتر انجام می دهد و خروجیش محدود به همون جدول نیست و توسط کاربر قابل کنترل است (کرسر - جدول بروز و....) و خلاصه هر امکانی که بخواهید در این sql است (خیلی وقت پیش من ترجمه ای کتابی به زبان sql از آقای جعفرنژاد قمی دیده بودم خوب بود اگر تونستی پیدا کنی می تونه کمکت بکنه)
در رابطه با مشکل شما (البته نه فقط شما بلکه خیلی ها) با حروف فقط فارسی (پژگچ) باید عرض کنم به علت درست نبودن مکان این حروف (کد اسکی) این مشکل بوجود می آید (یعنی اینکه کد اسکی حرف گ بعد از ک نیست و همانطور که می دانید دستور ایندکس یا سورت نیز براساس کداسکی حروف آنها سورت می کند) برای حل مشکل یا باید از فونتی استفاده کنید که ترتیب آرایش این حروف در آن صحیح باشد (یعنی هر حرف سر جای خودش باشد) و یا با استفاده از chrt حروف موردنظر را به حرف نزدیک خودش تبدیل کنید (مثل گ به ک - پ به ب و ....) (البته منظور به هنگام ایجاد ایندکس است یعنی اینکه ایندکس خود را براساس تابعی تنظیم کنید که این عملیات در داخل آن تابع انجام شود)
rahro
یک شنبه 09 مرداد 1384, 04:53 صبح
از راهنمایی شما متشکرم 0 من سعی کردم ولی نتوانتستم تابعی برای این کار طراحی کنم؟!!
در ضمن من در بانک خود برای اشخاص مجرد .f. و برای اشخاص متاهل .t. درنظر گرفتم آیا روشی وجود دارد که در گرید بجای نمایش .t. یا .f. نمایش مجرد و یا متاهل انجام بشه ؟؟؟؟
javad_hosseiny
یک شنبه 09 مرداد 1384, 07:27 صبح
در رابطه با بحث اول (که نتونستید تابعی طراحی کنید)
index on conv_s(name) to main.idx
&&and conv_s functions is:
function conv_s
parameter _var_
_var_ = chrt(_var,'بزکج','پژگچ')
return _var_
و در رابطه با مطلب دوم هم بله شما می تونید خروجی نمایش جدول grid (هر ستونش) را به مقدار دلخواه خود تغییر دهید و یا داخل آن از توابع استفاده کنید. بطور مثال در مورد سوال شما در قسمت controlsource مربوط به ستون موردنظر (column) از کد زیر استفاده کنید
iif(main.taahol=1, 'متاهل', iif(main.taahol=2,'مجرد',''))
البته در کد بالا فرض بر نام جدول main و نام فیلد موردنظر taahol بوده است
rahro
دوشنبه 10 مرداد 1384, 05:27 صبح
سلام علیکم: واقعا متشکرم جناب حسینی چه کمک بزرگی
rahro
پنج شنبه 13 مرداد 1384, 05:12 صبح
سلام
قبلا این سوال رو کردم و سعی کردم بکار برم نظر دوست بزرگم ولی نتوانستم.؟ چطور میتوانم یک آرایه چند بعدی رو بدون انکه انرا به متغیر public تبدیل کنم در ریپورت ارسال کنم خواهش میکنم شفاف توضیح بدین و اگر ممکنه مثال بزنید.
rahro
سه شنبه 18 مرداد 1384, 04:47 صبح
آقا کسی نبود جواب این سوال ما رو بده ؟؟؟
rahro
سه شنبه 25 مرداد 1384, 21:09 عصر
سلام
اگر ویژوال فاکس این قابلیت رو نداره که از یک ارایه چند بعدی ریپورت بگیریم بگوئید خواهش میکنم
binyaz2003
چهارشنبه 26 مرداد 1384, 13:52 عصر
شما مشکلتون با public چیه؟
اگر زیاد حافظه می گیره می تونید بعد از گزارش از حافظه پاکش کنید
Release
rahro
شنبه 29 مرداد 1384, 20:07 عصر
استاد عزیز سلام
حرف شما منطقیه ! ولی من میخواهم بدونم چه جوری میشه در ریپورت گیری از اون استفاده کرد 0
فرض کنید ارایه من arrk (4,64) باشد و باید 64 سطر ارایه را گزارش بگیرم من چه جوری میتوانم در ریپورت گیری بگویم به جای فایل dbf از ارایه استفاده کن؟!!؟؟؟
kia1349
چهارشنبه 23 شهریور 1384, 16:20 عصر
دوست من
در بسیاری از استعلاماتی که از سایتهای خارجی در مورد طراحی گزارش با آرایه ها داشته ام همگی توصیه کرده اند که آرایه را داخل یک جدول ریخته و بصورت استاندارد ریپورت را از جدول تهیه نمائیم
شاگرد آرام
دوشنبه 04 مهر 1384, 15:30 عصر
سلام جناب رهرو
شما برای ریکد کردن و نمایش دادن چندین را دارید
1-با دستور select و تابع مورد نظر اطلاعات را ریکد کنید و به یک cursor به حافظه بفرستید و سپس control source کنترل grid را cursor مورد نظر قرار دهید
2-اگر صرفا برای نمایش اطلاعات نه ورود ریکد می کنید می توانید مستقیم نام تابع و ورودی ان را در property control source هر کالومن از grid قرار دهید
rahro
یک شنبه 10 مهر 1384, 17:43 عصر
سلام
شاگرد آرام : اصلا منظورتون را نفهمیدم شما در مورد چی صحبت میکنین!!؟
دوستان:
پروژه ام امروز به فایل pjt.? خطا میده مثلی که این فایل پروژه من معیوب شده و نمی توانم پروژ ه ام رو باز کنم!؟
آیا راهی برای اصلاح و بازسازی آن وجود دارد!؟
البته فکر میکنم میشه پروژه رو حذف و دومرتبه تمام فایلها رو به اون اضافه کرد ولی این خیلی سخته و نمی دانم عملی هست یا نه
دوستان راه کار چیه ؟!
rezaTavak
چهارشنبه 13 مهر 1384, 21:59 عصر
سلام
پرژه را حذف و دوباره ایجاد کنید و فقط اصلی ترین فایل در پروژه باشه. هنگام کمپایل فاکس خودش تمام فایلهای لازم را اضافه میکند. فقط در مورد فایلهای بانک و جداول باید دستی عمل کنید.
یک مواردی استثنا دارد که فاکس نمی تواند درست تشخیص دهد. مثلا به کد زیر نگاه کنید:
c="do a"
&c
یا در موقعی که شما در هر جدول شرط خاصی وجود دارد. مثلا اگر در حدول Defalut دارای یک شرط باشد هم دچار مشکل میشود.
rahro
یک شنبه 17 مهر 1384, 15:17 عصر
متشکرم جناب تاوک
دوستان کی میدونه معنی این خط از برنامه چیه !؟
thisformset.form1..caption=!thisformset.form1.capt ion
یعنی چی
binyaz2003
یک شنبه 17 مهر 1384, 22:10 عصر
در کل این دستور خطا میگیره چون thisformset.form1.capt ion یک عبارت شرطی نیست شما باید جلوی =! یک عبارت درست یا غلط بزارید برای مثلا enable
rahro
یک شنبه 01 آبان 1384, 19:41 عصر
سلام
چطور میتونم توی ریپورت گیری (ویزارد) از رکوردهای خاصی گزارش تهیه کنم
javad_hosseiny
یک شنبه 01 آبان 1384, 23:45 عصر
در خود ریپورت گیری گزارش بصورت ویزارد امکان جستجوی (فیلتر) خاصی نیست
می تونید ابتدا از یک query (بصورت ویزارد و یا معمولی) استفاده کنید و در تنظیمات خروجی آن , نام فایل ریپورت خود را صدا بزنید و یا بعد از تهیه گزارش از پارامترهای محدوده کننده مانند: for و while جهت شرط گذاشتن برای اطلاعات موردنیاز برای گزارش چاپی استفاده کنید (و یا اینکه قبل از فراخوانی گزارش چاپی از filter کردن جدول نیز استفاده کنید)
مثل:
REPORT FORM tablename PREVIEW FOR code<1100
و یا قبل از فراخوانی گزارش از دستور filter استفاده کنید
set filter to code<1100
rahro
چهارشنبه 25 آبان 1384, 05:34 صبح
سلام
متشکرم از دوستان بخاطر راهنمایهایشان
دوست چگونه میتونم فایلهای sql رو به دیتابیس فاکس تبدیل کنم!!!
rezaTavak
چهارشنبه 25 آبان 1384, 09:38 صبح
سلام
منظور از فایل SQL چیه؟
منظور چیزی است که از SELECT ساخته میشه؟
یا MySQL و از این دست؟
در مورد اولی خب Into table در دستور می آید و نام فایلی که می خواهید.
در مورد دوم هم با Remote View جداول بانکهای دیگر را بخوانید و سپس با Copy to می توانید به هر فرمت دلخواه تبدیل کنید.
rahro
پنج شنبه 26 آبان 1384, 05:37 صبح
پسوند فایل من mdb است
و اما مورد دوم شما را متوجه نشدم
rezaTavak
پنج شنبه 26 آبان 1384, 08:50 صبح
سلام
خب شما باید با ساخت یک Connection سپس RemoteView فایل را مانند جداول فاکس در آورید.
سپس با استفاده از دستور Copy to اطلاعاتش را به یک فایل جدید بفرستید. مشابه ان کاری که با MySQL یا هر چیز دیگر می کنید. اگر اطلاعات بیشتر خواستید به نحوه ارتباط بین فاکس و MySQL که نوشته ام توجه کنید. اگر راهنمایی بیشتر هم خواستید بگید کمکتون کنم.
یک راه ساده: یک پروژه بسازید- یک بانک ایجاد کنید و در پروژه قرار دهید- برروی Connections کلیک کنید و Newرا انتخاب کنید- از جعبه گفتگوی ظاهر شده Connection String را انتخاب کنید و بر روی دکمه ... کلیلک کنید- بانکتان را انتخاب کنید- و سپس جعبه گفتگو را ببندید و آن را با یک نام ذخیره کنید- حالا روی RemoteVeiws کلیک کرده New را انتخاب کنید Connection نشان داده شده را انتخاب کنید و View را بسازید. خب مانند یک پرس و جو ویو را ساخته آن را ذخیره و خارج شوید. خب حالا اگر روی آن Viewکلیک کنید Browse را انتخاب کنید مانند یک جدول فاکس باز می شود.- حالا با دستور Copy to cFileName آنرا به یک جدول جدید در فاکس بریزید.
rahro
جمعه 27 آبان 1384, 07:43 صبح
متشکرم جناب تاوک . هم اکنون تست میکنم
rahro
جمعه 04 آذر 1384, 04:49 صبح
اساتید عزیز سلام
من در خصوص تهیه نرم افزار حسابداری در ابتدای کار دچار مشکل شدم خواهشمند است در صورت امکان مرا راهنمایی کنید
من بعد از تهیه فرم ثبت کدینگ حسابداری به سراغ فرم ثبت سند رفتم در اینجا با تهیه اصل فرم میخواستم به توابع مخصوص که در activ فرم نوشته ام یک بانک با فیلدهای مخصوص و نام تصادفی به وجود بیاورم و این بانک را به فرم اتصال کنم ولی به مشکل برخوردم و این کار عملی نشد دومرتبه یک بانک در دیتابیس مربوطه درست کردم و باز هم در اتصال بانک مربوطه به فرم ناکام ماندم علیهذا اصل پروژه را خدمت شما ارسال کردم امید است مرا در رفع مشکل مربوطه یاری رسانید
rezaTavak
جمعه 04 آذر 1384, 08:45 صبح
سلام
دوست عزیز باید سراغ کدام فرم بروم؟
بگید دقیقا چکار می خواهید بکنید یعنی به صورت آلگوریتم بگویید.
rahro
شنبه 05 آذر 1384, 05:41 صبح
سلام
دوست عزیز باید سراغ کدام فرم بروم؟
بگید دقیقا چکار می خواهید بکنید یعنی به صورت آلگوریتم بگویید.
جناب rezaTavak سلام
در پروژه تنها دو فرم وجود دارد فرم sbt_koding مربوط به ثبت کدینک و فرم sbt_sanad مربوط به ثبت سند.
من در فرم ثبت سند نمای ظاهری یک فرم دریافت اطلاعات را ترسیم نموده ام . در نمای ظاهری یک گرید وجود دارد که من میخواستم کاربر به محض باز نمودن این فرم این موارد انجام شد
1- با استفاده از دستور sys(2005 یک نام فایل به صورت تصادفی به وجود بیاورم و به این وسیله
SELECT 0
CREATE TABLE &new_file
یک تیبل ایجاد کنم و بعد این تیبل را به گرید مربوطه اتصال دهم تا بعد از ثبت تک تک اسناد - اسناد همان هنگا م در تیبل مربوطه ثبت و در گرید نمایش داده شود در انتها نیز این تیبل به بانک اصلی افزوده شده و بانک تصادفی حذف شود.
نمی دانم شاید راه کار من کلی اشتباه باشد ولی در کل منتظر راهنمایی کلی شما و دوستان هستم
متشکرم
ره رو
rezaTavak
شنبه 05 آذر 1384, 07:08 صبح
سلام
من الان چون با لینوکسم نمیتونم تست کنم. جوابشو بعدا میدم. ولی خیلی ساده است:
با تابع Sys(3) یک نام درست کن به عنوان temp
مواظب باش که اول باید شماره محیط جاری ثبت بشه:
lnPreAreaWork = select()
سپس محیط جدید را باز کنید با Select 0
بعدش برای ایجاد جدول باید فیلدها هم ذکر بشه مثلاْ
create table (lcFileName) (a c(10))
نمی دونم چقدر تونستم کمک کنم. اما توی ویندوز نگاه میکنم و تست که کردم جواب میدم.
rahro
یک شنبه 06 آذر 1384, 04:14 صبح
سلام
من الان چون با لینوکسم نمیتونم تست کنم. جوابشو بعدا میدم. ولی خیلی ساده است:
با تابع Sys(3) یک نام درست کن به عنوان temp
مواظب باش که اول باید شماره محیط جاری ثبت بشه:
lnPreAreaWork = select()
سپس محیط جدید را باز کنید با Select 0
بعدش برای ایجاد جدول باید فیلدها هم ذکر بشه مثلاْ
create table (lcFileName) (a c(10))
نمی دونم چقدر تونستم کمک کنم. اما توی ویندوز نگاه میکنم و تست که کردم جواب میدم.
اوه خدا نه! آخه منم همین کار رو کردم و جواب نداده خواهشا" یک نگاه به برنامه بکن
rahro
دوشنبه 07 آذر 1384, 05:38 صبح
سلام
دوستان کسی نیست به داد من برسه!!
binyaz2003
دوشنبه 07 آذر 1384, 12:27 عصر
دستور شما مشکلی نداره فقط باید متغیر فایل مقدار دهی بشه مثلا :
_FILE='sample'
من خودم امتحان کردم و مشکلی نداشت
rahro
جمعه 11 آذر 1384, 04:44 صبح
سلام دوستان وقت همگی شما بخیر
میشه یه خواهش کوچلو بکنم و ان اینکه اگر ممکنه اینقدر در جواب راهنمائیها صرفه جویی نکنید!! آقا باور کنید من هنوز روی این موضوع بالا مشکل دارم و حل نمیشه!!!
binyaz2003
جمعه 11 آذر 1384, 11:49 صبح
خوب مشکلتون رو بگید اسن خطا یا شماره اش یه چیزی همینطوری که نمیشه منم بگم مشکل دارم حل کنید یک عکسی چیزی از خطایی که میده یا اصلا نمیده!
javad_hosseiny
شنبه 12 آذر 1384, 11:27 صبح
با توجه به توضیحی که شما در فرضیه سوالتون مطرح کردید به طرق مختلف می تونید به جواب برسید
یکی راه حل دوستان بود البته پیشنهاد می کنم بجای sys(2005) از تابع sys(2023) که مسیر temp ویندوز را برمی گرداند استفاده کنید و به عنوان نام فایل از یک تابع که یک عدد تصادفی خروجی دارد استفاده کنید (مثال زیر)
FUNCTION R_RAND
PARAMETE SIZE_RAND
START_RAND = INT(VAL('1'+REPL('0',SIZE_RAND-1)))
END_RAND = INT(VAL(REPL('9',SIZE_RAND)))
RETURN allt(str(int( (END_RAND - START_RAND +1) * rand() + START_RAND )))
و آن را به عنوان نام فایل به دستور CREATE TABLE بدهید و نام آلیز (SELECT) انتخابی را به عنوان RECODRD SORUCE دیتاگراید خود معرفی کنید)
و یا راه حل دیگر که من خودم بیشتر از آن استفاده می کنم استفاده از CURSOR هست
CREATE CURSOR TEMP (....( و بعد نام ناحیه انتخابی را به گراید موردنظر اشاره دهید) و در انتهای فرم (موقع خروج و یا ...) اطلاعات جدول موردنظر را پردازش کرده و اطلاعات دلخواه خود را به جدول اصلی (مثلا به بایگانی ریزاسناد حسابداری اضافه کنید)
(بنده از همین روش در صدور اسناد حسابداری و ریزفاکتور و .... در برنامه هایم استفاده کرده ام)
rahro
شنبه 01 بهمن 1384, 12:01 عصر
سلام
من یک فرم دارم که از تعداد حدود 100 - textbox دارد میخواهم فرمولی که در همه این textbox ها مشترک است را در رخ داد های آن کپی کنم چطور میتوانم به یکباره این کار را بکنم و هر دفعه مجبور نباشم تک تک تکست باکسها رو برای کپی رخداد بازکنم
متشکرم
رهرو
binyaz2003
شنبه 01 بهمن 1384, 20:07 عصر
با ساختن یک کلاس بر اساس textbox
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.