مشاهده دست آورد نظرسنجی: از این کامپوننت در پروژه هایتان استفاده می کنید؟

رای دهنده
1. شما نمی توانید در این رای گیری رای بدهید
  • استفاده می کنم و مشکلاتش رو می گم.

    0 0%
  • استفاده می کنم و دیگر هیچ.

    1 100.00%
  • خستیه نباشید، ولی بدرد من نمی خوره.

    0 0%
  • خودت و خسته کردی، خودم بلدم.

    0 0%
نمایش نتایج 1 تا 7 از 7

نام تاپیک: StringProvider کامپوننتی برای فراهم کردن متن برای اشیاء

  1. #1
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    روستایی در کنج استان فارس
    پست
    1,275

    StringProvider کامپوننتی برای فراهم کردن متن برای اشیاء

    سلام.

    عنوان این کامپوننت StringProvider هست که در Designer میتوان از آن برای فراهم کردن متن از خصوصیتهای Strings، RegistryDatas و ExternalValues آن استفاده کرد.


    خصوصیت Strings یک دیکشنری هست با کلیدی از نوع عددی برای Id و با مقداری از نوع String برای Value (مقدار) از رشته برگشتی که بصورت فرمتبندی های خاصی که برای آن تعریف شده مقدار رو برمی گردونه.

    StringProviderNON.jpg

    خصوصیت RegistryDatas هم یک دیکشنری هست که می شه از با اضافه کردن کلیدی که در رجیستری موجود هست و یک ValueName از اون کلید مقدار ValueName بعنوان متن برای اشیاء استفاده کرد.

    StringProviderNON2.jpg

    می مونه خصوصیت ExternalValues که خاص هست و می شه متن رو از ریسورس فایلهای dll موجود در سیستم مثل Shell32.dll فراخوانی کرد مثل کاربرد این مورد در رجیستری ویندوز البته بدون کاراکتر @ و - با آدرس فایل مورد نظر و آی.دی ریسورس با استفاده از جدا کننده کاما.

    StringProviderNON3.jpg

    برای فراهم کردن متن برای چند شیء که خصوصیت Text داره CheckBox, TextBox, Form,Lable

    StringProvider02.jpg

    به خصوصیات این اشیاء یک ProvideProperty اضافه می شه که یکی Id که همون شماره Id موجود در جدول هست و یکی هم ProvideType که نوع جدول رشته مقادیر هست،

    StringProvider03.jpg

    که از طریق این دو خصوصیت پروواید متن شیء تغییر می کنه هم در حالت Designer و هم در RunTime.


    لطفا خطاها و مشکلات این کامپوننت رو اگر استفاده می کنید در همین تاپیک اعلام کنید. با تشکر




  2. #2
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    روستایی در کنج استان فارس
    پست
    1,275

    Smile نقل قول: StringProvider کامپوننتی برای فراهم کردن متن برای اشیاء

    برای دانلود کامپوننت از لینک زیر استفاده کنید:

    (با آخرین تغییرات در تاریخ: 1401/09/10)
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله ROSTAM2 : پنج شنبه 10 آذر 1401 در 20:40 عصر

  3. #3
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    روستایی در کنج استان فارس
    پست
    1,275

    نقل قول: StringProvider کامپوننتی برای فراهم کردن متن برای اشیاء

    در مورد ExternalValues این رو اضافه کنم که شما می تونید خودتون یک فایل dll ایجاد کنید با ++C یا خود ویژوال استودیو ریسورس StringTable اون رو ویرایش کنید و از آن استفاده کنید.

    و اینکه ان شاء الله در آینده برای اشیاء دیگه هم کاربرد خواهد داشت. و کاربرد رشته در اون قابلیت تعیین خصوصیت خواهد داشت به فرض مثال آدرس فایل تصویری برای PictureBox را مهیا خواهد کرد.
    آخرین ویرایش به وسیله ROSTAM2 : سه شنبه 01 آذر 1401 در 12:13 عصر

  4. #4
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    روستایی در کنج استان فارس
    پست
    1,275

    نمایش توضیحات برای اشیاء هنگام نگهداشتن ماوس توسط StringProvider

    برای نمایش توضیحات هنگام نگهداشتن ماوس روی اشیاء توسط StringProvider


    1. کامپوننت StringProvider را به فرم اضافه می کنیم.
    2. اشیاء مورد نظر را باهم انتخاب کرده و خصوصیت Target on StringProviderX را انتخاب و از خصوصیت های زیرمجموعه آن ProvideRole را به مقدار InfoTip تغییر می دهیم. StringProvider04.jpg
    3. کامپوننت StringProvider را انتخاب و خصوصیت Strings را انتخاب و برای مدیریت جدول رشته ها کلید سمت راست مقدار آن را کلیک می کنیم تا پنجره StringTable نمایش داده شود و مقادیر را به تعداد اشیاء آیتم اضافه می کنیم و اینا.StringProvider02.jpg StringProvider03.jpg
    4. اشیائی که می خواهیم برای آنها توضیحات نمایش داده شود را یک به یک انتخاب و از خصوصیت Target بچه خصوصیت ID را طبق اعدادی که در StringTable ایجاد شده مقدار می دهیم، مثلا برای Button1 ID برابر با 101: StringProvider05.jpg
    5. و همین طور به اندازه آیتم ها و آی.دی هایی که در StringTable داریم می تواینم برای اشیاء مقدار ID ست کنیم.


    StringProvider06.jpg

    تذکر: در صورتی که آیتم ها را بخواهیم از خصوصیت Strings داشته باشیم خصوصیت ProvideType از اشیاء باید برابر با FormattedText باشد.

  5. #5
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    روستایی در کنج استان فارس
    پست
    1,275

    نقل قول: StringProvider کامپوننتی برای فراهم کردن متن برای اشیاء

    سلام دوباره.

    ی تغییرات اساسی برای کامپوننت اعمال کردم و خصوصیات مجزا برای هر خصیصه مورد نیاز برای تغییرات در شیء ایجاد کردم و می شه همزمان چندین خصوصیت از یک شیء رو تغییر داد مثل Image, Text, ToolTip و ...

    توانایی نمایش آیکونهای ریسورس فایل DLL خارج از برنامه:

    این آیکون در Shell32.dll قرار دارد و آی.دی آن 1001 هست.

    ResIcon01.jpg
    یک آیتم با متن:

    C:\Windows\System32\Shell32.dll, 1001


    به کالکشن ExternalValues از StringProvider اضافه می کنیم بصورت پیشفرض اگر تنها آیتم باشد آی.دی آن در کالکشن StringProvider می شود 101:

    ResIcon02.jpg

    ResIcon03.jpg

    حالا فرم را انتخاب و خصوصیت StringBind on StringProviderX را Expand و بچه خصوصیت Icon را به مقدارد 101 و همچنین خصوصیت BindingType را به مقدار ExternalLibrary تغییر دهید و دیباگ را شروع کنید(آیکونی که در ریسورس فایل Shell32.dll بود با آی.دی 1001 به فرم مربوطه تعلق می گیرد):

    ResIcon04.jpg

    ResIcon05.jpg

  6. #6
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    روستایی در کنج استان فارس
    پست
    1,275

    نقل قول: StringProvider کامپوننتی برای فراهم کردن متن برای اشیاء

    سلام دوباره.

    طبق تغییراتی که کامپوننت داره نامش هم باید به ResourceProvider تغییر کنه، متن(رشته) - آیکون - عکس و کرسر رو می شه توسط آی دی برای اشیاء فرم تعیین کرد:

    ایجاد فایل DLL برای فراخوانی اجزای ریسورس توسط ++Visual C
    createresourceonlydll.jpg

    برای اضافه کردن کرسر به فایل DLL رو پروژه ایجاد شده راست کلیک Add --> Resource
    از پنجره Add Resource آیتم Cursor انتخاب و کلید ...Import


    ResourceCursor.jpg

    فایلهای کرسر را با هم انتخاب و کلید Open
    ResourceCursor2.jpg

    پروژه رو Build و آدرس پوشه فایل رو کپی و از طریق اون فایل dll رو به پوشه برنامه اصلی انتقال دهید:
    ResourceCursor4.jpg

    برای مشاهده ریسورس و دانستن آی.دی کرسر ها از طریق Visual Studio فایل dll را برای ویرایش انتخاب کنید
    ResourceCursor5 - 1.jpg

    ادامه در پست بعدی...
    آخرین ویرایش به وسیله ROSTAM2 : پنج شنبه 10 آذر 1401 در 22:49 عصر

  7. #7
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    روستایی در کنج استان فارس
    پست
    1,275

    نقل قول: StringProvider کامپوننتی برای فراهم کردن متن برای اشیاء

    ادامه پست قبل...

    در پروژه اصلی ResourceProvider را انتخاب و کلید خصوصیت ExternalValues را کلیک

    ResourceCursor5.jpg

    و یک آیتم با محتوای نام فایل dll و آی.دی کرسری که می خواهید را بعد از یک کاما می نویسید:
    ResourceCursor6.jpg

    در آخر فرم یا یک شیء که می خواهید Cursor آن را تغییر دهید انتخاب Resource از اون رو طبق آی دی آیتم ایجاد شده تعیین می کنید:
    ResourceCursor7.jpg

    دانلود مجموعه کرسر proton.jpg

تاپیک های مشابه

  1. پاسخ: 10
    آخرین پست: چهارشنبه 17 آبان 1391, 20:18 عصر
  2. کامپوننتی شبیه کامپوننت CategoryButtons
    نوشته شده توسط shedayat در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 0
    آخرین پست: شنبه 23 اردیبهشت 1391, 13:20 عصر
  3. سوال: اشکال هنگام استفاده از کامپوننتی از نوع TImage در کامپوننتی از نوع TPanel
    نوشته شده توسط mbshareat در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 0
    آخرین پست: شنبه 02 اردیبهشت 1391, 22:53 عصر
  4. سوال: پیدا کردن کامپوننتی در برنامه دیگر که بالای کامپوننتهای دیگر قرار گرفته (Order اش بیشتره!)
    نوشته شده توسط mbshareat در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: پنج شنبه 24 فروردین 1391, 17:03 عصر
  5. ساختی کامپوننتی که همیشه بر روی دیگر کامپوننت ها قرار بگیرد
    نوشته شده توسط sh_omid در بخش Java SE : نگارش استاندارد جاوا
    پاسخ: 0
    آخرین پست: شنبه 19 شهریور 1390, 17:11 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •