علی محمد‌ حسین‌ زاده چهارشنبه 3 اردیبهشت 1393 06:32 بعد از ظهر نظرات ()


FoxTools


فاکس‌تولز (FoxTools) یک فایل کتابخانه‌ای ویژوال فاکس پرو است که به شما کمک می‌کند تا اطلاعاتی مانند دریافت یا تغییر اطلاعات یک فایل، کار با اسامی فایل‌ها و مسیرها و... دریافت و پردازش نمائید.

 

توجه : توابع FT توسط PSS (Microsoft Product Support Service) پشتیبانی نمی‌شوند. بسیاری از این توابع جهت پشتیبانی از نسخه های قدیمی 2.6 و دیگر توابع بسته به نوع پلتفرم نتایج خاص خود را دارند.



متاسفانه به دلیل خنده دار محدود بودن حجم متن ارسالی در این سرویس وبلاگ، مجبورم این مقاله رو به چند قسمت تقسیم کنم.

توابع جدید


بسیاری از توابع کاربردی کار با فایل‌ها اضافه شده‌اند. جهت فراخوانی این توابع نیازی به اجرای دستور Set Library To FoxTools ندارید و مانند توابع داخلی می‌توانید با آن‌ها کار کنید.


  • AddBS()
  • AGetFileVersion() (GetFileVersion() in FoxTools)
  • DefaultExt()
  • DriveType()
  • ForceExt() 
  • ForcePath()
  • JustDrive() 
  • JustExt()
  • JustFName()
  • JustPath()
  • JustStem()


کجا نصب می شود؟

زمانی که شما ویژوال فاکس پرو را نصب میکنید FoxTools.fll در پوشه اصلی برنامه نصب می‌شود. جهت دستیابی به توابع FT دستور زیر را اجرا کنید:

Set Library To FoxTools

توجه:

سورس توابع در راهنمای مرجع حرفه‌ای در قسمت API Library Construction موجود می‌باشد. شما می‌توانید با استفاده از برنامه نویسی C قابلیتهای ویژوال فاکس پرو را افزایش دهید.


توابع FT به برنامه‌های VFP قابلیت اجرای هر تابع DLL ویندوزی را میدهند اگر:

  • انواع داده‌ای روبرو را بگیرد:  integer, long, float, double, string/buffer این پارامترها می‌توانند با مقدار یا با آدرس فرستاده شوند.
  • انواع داده ای روبرو را برگردانند: integer, long, float, double, string/buffer این مقادیر فقط به عنوان مقدار (Value) برگردانده می‌شوند.

 RegFn(), RegFn32(), and CallFn()

توابع RegFn() و RegFn32() یک تابع و پارامترهایش را ثبت می‌کنند و تابع CallFn() یک تابع ثبت شده را اجرا می‌کند.

تمامی توابعDLL  ویندوز در کتابی که همراه SDK (Software Development Kit) است، می‌باشند. همچنین همراه نرم افزار های Microsoft C/C++ 7.0 و Visual C++


لیست توابع FoxTools


 AddBs()

CallFn()

CleanPath()

CloseClip()

CountClipF()

DefaultExt()

DriveType()

EmptyClip()

EnumClipFm()

ForceExt()

ForcePath()

FoxToolVer()

GetClipDat()

GetClipFmt()

GetFileVersion()

GetProStrg()

IsClipFmt()

JustDrive()

JustExt()

JustFname()

JustPath()

JustStem()

MainHwnd()

MkDir()

MessageBox()

NextWord()

OpenClip()

PutProStrg()

Reduce()

RegClipFmt()

RGBComp()

RmDir()

SetClipDat()

StrFilter()

ValidPath()

WordNum()

Words()


AddBS()

          کاربرد

اگر نیاز باشد یک بک اسلش (BackSlash) به یک عبارت آدرس فیزیکی اضافه میکند.

نحوه استفاده

AddBS(cPath)

پارامترها

cPath: مسیر و یامتغیری که حاوی آدرس است.

نوع داده برگشتی

کاراکتر Character


CallFn()

کاربرد

یک تابع ثبت شده را فراخوانی می‌کند و مقداری را که تابع برمی‌گرداند را برمی‌گرداند.

نحوه استفاده

CallFN(nFunctionHandle, Arg1[, Arg2[, ...]])

پارامترها

nFunctionHandle: هندل یا دستگیره ای است که از یکی از توابع RegFn() یا RegFn32() بدست می آید.

Arg1, Arg2, ....: پارامترهایی مورد نیاز تابع می باشند. توجه کنید که حتما بایستی تمامی پارامترهایی را که در زمان ثبت تابع تعریف کرده اید را بفرستید در غیر اینصورت با پیغام خطایی مواجه می‌شوید.

همه پارامترها بایستی مطابق نوع تعریف شده باشند:

F,D : بایستی از نوع اعشاری باشد

I,L  : بایستی از نوع اعداد صحیح باشد

  C : بایستی از نوع رشته و با مقدار فرستاده شود یا مقدار 0 (صفر). اگر صفر فرستاده شود یک اشاره‌گر NULL فرستاده خواهد شد.

نوع داده برگشتی

نوع برگشتی همان نوع داده تعریفی در یکی از توابع RegFn()   یا  RegFn32()  خواهد بود.


CleanPath()

کاربرد

نام فایلی صحیح را بازمی‌گرداند. در صورت صحیح نبودن تمامی موارد را حذف کرده و نام صحیح را برمی‌گرداند. مانند دو بک اسلش یا حذف فاصله ها و کاراکترهای غیر مجاز

نحوه استفاده

CleanPath(cFilename)

پارامترها

cFilename: نام فایلی که باید اصلاح شود

نوع داده برگشتی

کاراکتر Character


CloseClip()

کاربرد

کلیپبورد (Clipboard) را که قبلا توسط دستور OpenClip() باز شده است را میبندد.

نحوه استفاده

CloseClip()

نوع داده برگشتی

مقدار منطقی Logical

ملاحضات

در صورت موفقیت در انجام دستور تابع مقدار .T. و در غیر اینصورت مقدار .F. را برمیگرداند. تقریبا برای کار با همه توابع کار با کلیپ‌بورد بایستی  قبلا کلیپ‌بورد باز شده باشد. همچنین متغیر ClipText_ همیشه حاوی محتوای رشته ای ذخیره شده در حافظه است.


CountClipF()

کاربرد

تعداد فرمت های مختلفی که در آن لحظه در حافظه موجود می‌باشند را برمیگرداند.

نحوه استفاده

CountClipF()

نوع داده برگشتی

عددی Numeric

ملاحضات

تقریبا برای کار با همه توابع کار با کلیپ‌بورد بایستی  قبلا کلیپ‌بورد باز شده باشد. همچنین متغیر _ClipText همیشه حاوی محتوای رشته ای ذخیره شده در حافظه است.


منبع : بخش مقالات وب سایت برنامه های بی‌نیاز

تاریخ نگارش مقاله : 1389/02/10