تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 3 از 3

نام تاپيک: مقاله : كار با TStrings

  1. #1
    پروفشنال
    تاريخ عضويت
    Jul 2006
    محل سكونت
    گیلان _ رشت
    پست ها
    635

    پيش فرض مقاله : كار با TStrings

    به نام خدا ...

    در این مقاله قصد داریم درباره کلاس TStrings بحث کنیم ...

    مواردی که در این مثاله بررسی می شوند عبارتند از متدها و خصوصیات این کلاس ...

    البته به علت زیادی متدها و خصوصیات ، به صورت موردی و کاربردی آنها را بررسی میکنیم ...

    TStrings چیست ؟
    TStrings کلاسی است برای نگهداری مجموعه ای از رشته ها همراه با Index و شماره مخصوص هر رشته که امکان ویرایش و دسترسی آسان آنها را فراهم میکند ،‌ علاوه بر این میتوان در یک TStrings ، یک Object وابسته به یک رشته را نیز ثبت کرد و از آن استفاده نمود ...

    ثبت اطلاعات در یک TStrings :
    برای ثبت اطلاعات در یک کلاس TStrings ابتدا باید آن را Create کرده و سپس از متدهایی مثل Add‌ ، AddObject و ... استفاده نماییم ...

    Create کردن یک TStrings :
    با استفاده از متد Create میتوانیم یک TStrings ایجاد نماییم :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اگر نیاز داریم که تنها یک رشته را در یک TStrings ثبت نماییم ، میتوانیم از دستور Add استفاده نماییم :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    دستور Add در کد بالا مقدار متغیر S را در Strings که یک مقدار TStrings است ثبت می نماید ...

    گاهی اوقات نیاز داریم که تعدادی Object ( مثل TabSheet های یک PageControl ) را در یک TStrings ثبت نماییم ، بدین منظور باید از دستور AddObject استفاده نماییم :
    البته توجه کنید که یک متغیر از نوع TStrings نمی تواند یک Object را در خود نگاه دارد ( در زمان اجرا خطای AbStract نمایش داده خواهد شد )
    باید Object در آیتمهای یک شی دیگر که از نوع TStrings است قرار گیرد ، برای مثال می توانید در آیتم های یک ListBox و یا یک ComboBox آبجکت مورد نظر را Add کنید ...
    برای مثال :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پس از ثبت این Object میتوانید برای مثال به صورت زیر از آن استفاده نمایید :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد بالا صفحه فعال PageControl را برابر با TabSheet موجود در لیست ( که در کد مشخص شده ) قرار می دهد ...

    دستور دیگری که برای ثبت اطلاعات در TStrings استفاده می شود ، دستور AddStrings است که یک مقدار TStrings را به لیست رشته ها اضافه خواهد کرد ...

    مثال :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد بالا ، رشته های موجود در Strings ( که همان S است ) را در ListBox1 قرار خواهد داد ...

    دستور دیگری که برای اضافه کردن اطلاعات به یک TStrings به کار میرود ، دستور Append است ، این دستور یک مقدار String را به آخر لیست رشته ها در TStrings قرار می دهد ...

    مثال :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    راه دیگر برای اضافه کردن یک رشته به TStrings استفاده از متد Insert است ...
    این متد 2 پارامتر دارد ، 1. Index که شماره Index رشته ای که اضافه می شود را تعیین میکند و 2. S که مقدار رشته ای که باید اضافه شود را دربر می گیرد ..

    مثال :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد بالا رشته Hello را به عنوان اولین مقدار در لیست قرار می دهد ( به عنوان آیتمی که Index صفر دارد )

    کلاس TStrings همچنین توابع دیگری به نام های LoadFromFile و LoadFromStream دارد که امکان وارد کردن رشته ها از یک فایل متنی و از Stream را میدهد ...
    این دستورات یک پارامتر دارند که نام فایل و نام Stream را دربر می گیرد ...

    مثال:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حذف اطلاعات :

    برای حذف اطلاعات از یک TStrings چندین راه وجود دارد که بررسی میکنیم

    استفاده از متد Delete :
    این متد یک رشته ( آیتم ) را از لیست حذف می نماید ، این متد یک پامتر دارد که باید Index مربوط به آیتمی که قصد حذف کردن آن را دارید را در آن وارد نمایید :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    استفاده از متد Clear :
    این متد کل رشته ها ( آیتمهای ) موجود در TStrings را حذف خواهد کرد ...

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    -----------------------------------

    سایر متدها و توابع پرکاربرد :

    متد Exchange :
    این متد مقدار ( یا جایگاه ) دو آیتم را با هم عوض میکند ، این متد 2 پارامتر دارد با نامهای Index1 و Index2 ، بعد از اجرای این متد جای Index1 با Index2 عوض خواهد شد ...
    برای مثال فرض کنیم در یک TStrings‌، یک آیتم با Index صفر داریم و یک آیتم دیگر با Index یک که مقدار رشته اولی برای با " Hello " و دومی برابر با " Bye " است ، پس اجرای این متد با Index های صفر و یک ، مقدار Index برای رشته " Hello " برابر با 1 و مقدار Index برای رشته " Bye " صفر خواهد بود :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    تابع Equals :
    این تابع مقادیر TStrings فعلی را با مقادیر یک TStrings دیگر که به عنوان پارامتر دریافت می کند مقایسه میکند و در صورت همسان بودن ، مقدار True و در غیر این صورت مقدار False را برمی گرداند :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    متد Move :
    این متد یک رشته را از یک Index به یک Index دیگر منتقل میکند ، به عنوان مثال فرض کنیم که یک TStrings با 4 رشته ( آیتم ) داریم ، اگر بخواهیم مثلا آیتم سوم را از جای خود به آیتم اول ببریم باید به صورت زیر از متد Move استفاده نماییم :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توابع IndexOf و IndexOfObject :

    به وسیله این توابع می توانید Index یک رشته و یا یک Object را بدست آورید ،‌ این توابع هر کدام یک پارامتر دارند ، تابع IndexOf پارامتری از نوع String دارد که رشته را گرفته و Index آن را به عنوان خروجی برگشت میدهد و تابع IndexOfObject هم پارامتری از نوع TObject دارد که Object مورد نظر را به عنوان ورودی دریافت کرده و شماره Index آن را به عنوان خروجی برگشت میدهد ...

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    تابع Strings :
    با استفاده از این تابع می توانید یک رشته از TStrings را با دادن Index آن استخراج کنید :
    کد:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خاصیت Capacity :
    این خاصیت از نوع Integer بوده و به وسیله آن میتوانید محدودیت تعداد رشته ( آیتم ) هایی که می توان در TStrings مورد نظر ثبت کرد را مشخص نمایید ...
    مثلا اگر این خصوصیت بر روی 6 تنظیم شده باشد ، TStrings مورد نظر تنها 6 آیتم دریافت خواهد کرد ...

    خاصیت Count :
    این خاصیت از نوع Integer بوده و تعداد آیتمهای موجود در TStrings را به ما می دهد ...

    ------------------

    این مقاله هم به پایان رسید ، این نکته رو هم ذکر کنم که این مقاله کامل کامل نبود یعنی در این مقاله کل توابع و متد ها و خصوصیتهای کلاس TStrings بررسی نشد ، کلاس TStrings چندین خاصیت و تابع داره که کاربردهای خاص دارند و به صورت معمول استفاده نمی شن ، از این جمله میشه به خصوصیت CommaText اشاره کرد ، با استفاده از این Property می توان رشته های درون TStrings را به صورت ( SDF ) یا System Data Format داشت ...

    همچنین در این مقاله از توضیح برخی توابع مانند InsertObject که عملکردی شبیه تابع Insert دارند اجتناب شد ... ( توضیح تمام متدها و توابع و خصوصیتهای کلاس TStrings از حوصله این مقاله و کلا یک مقاله خارج است )

    می توانید برای کسب اطلاعات بیشتر و کامل از Help دلفی کمک بگیرید ...

    امیدوارم مفید بوده باشه ...

    موفق و پیروز باشید ...

  2. #2
    پروفشنال romixery's Avatar
    تاريخ عضويت
    Mar 2007
    محل سكونت
    ميون موجودات عجيب غريب(آدما)
    پست ها
    673

    پيش فرض

    با سلام و تشكر از محمود جان عزيز
    خيلي وقت بود كه دنبال همچين مقاله اي مي گشتم.
    چون مقاله مهم و بدرد بخوريه با اجازه محمود آقا اين آموزش رو PDF كردم كه دوستان دانلود كنند و داشته باشن.

    لينك دريافت:(200kb)
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    موفق باشين
    باي

  3. #3
    پروفشنال hp1361's Avatar
    تاريخ عضويت
    Aug 2005
    پست ها
    514

    پيش فرض

    سلام

    آقا محمود دستت درد نکنه . این چیزی بود که من خیلی دنبالش میگشتم و قبلا هم در موردش پیشنهاد داده بودم .

    اگه میشه همین مدل مقاله رو در مورد TList هم بنویسید

    ممنون

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •