close
تبلیغات در اینترنت
آموزش دلفی - بخش دوم
مرورگرهای پیشنهادی :
موضوعات
  • پایان نامه و مقاله فنی مهندسی
  • مهندسی برق ، الکترونیک ، مخابرات
  • مهندسی فناوری اطلاعات
  • مهندسی کامپیوتر
  • مهندسی مکانیک
  • مهندسی عمران
  • مهندسی معماری
  • مهندسی ساخت و تولید
  • مهندسی منابع طبیعی
  • مهندسی کشاورزی
  • مهندسی شیلات
  • مهندسی صنایع
  • مهندسی مواد
  • مهندسی نقشه برداری
  • مهندسی تاسیسات
  • مهندسی شیمی
  • مهندسی متالوژی
  • مهندسی نساجی
  • مهندسی معدن
  • مهندسی نفت
  • محیط زیست
  • جوشکاری
  • پایان نامه و مقاله علوم انسانی
  • حقوق
  • اقتصاد
  • مدیریت
  • جغرافیا
  • جهانگردی
  • حسابداری
  • تربیت بدنی
  • ادبیات فارسی
  • علوم سیاسی
  • علوم اجتماعی
  • مدیریت صنعتی
  • مدیریت روابط عمومی
  • احکام و معارف اسلامی
  • روانشناسی و علوم تربیتی
  • گرافیک
  • هنر
  • بیمه
  • تاریخ
  • موسیقی
  • صنایع دستی
  • پایان نامه و مقاله پزشکی
  • علوم آزمایشگاهی
  • بهداشت عمومی
  • طب هسته ای
  • چشم پزشکی
  • جنین شناسی
  • روان پزشکی
  • دندانپزشکی
  • پیراپزشکی
  • دامپزشکی
  • طب سنتی
  • داروسازی
  • پرستاری
  • پزشکی
  • مامایی
  • آناتومی
  • ژنتیک
  • پایان نامه و مقاله علوم پایه
  • زیست شناسی
  • زمین شناسی
  • دندانپزشکی
  • دامپزشکی
  • پزشکی
  • فیزیک
  • پاورپوینت و اسلاید فنی مهندسی
  • پاورپوینت معماری
  • پاورپوینت کامپیوتر و IT
  • نمونه سوالات استخدامی
  • نمونه سوالات استخدامی بانک
  • نمونه سوالات استخدامی آموزش و پرورش
  • نمونه سوالات استخدامی شهرداری
  • نمونه سوالات استخدامی تامین اجتماعی
  • نمونه سوالات استخدامی دستگاه اجرایی
  • نمونه سوالات استخدامی فنی و حرفه ای
  • نمونه سوالات استخدامی وزارت خانه ها
  • نمونه سوالات استخدامی نظامی
  • سایر نمونه سوالات استخدامی
  • جزوات دانشگاهی
  • جزوات دروس مشترک دانشگاهی
  • جزوات مهندسی برق
  • جزوات مهندسی مکانیک
  • جزوات مهندسی عمران
  • جزوات رشته حسابداری
  • جزوات مهندسی فیزیک
  • جزوات مهندسی معماری
  • جزوات مهندسی ریاضی
  • جزوات مهندسی صنایع
  • جزوات مهندسی شیمی
  • جزوات مهندسی کامپیوتر و IT
  • جزوات رشته زمین شناسی
  • جزوات رشته روانشناسی
  • جزوات مهندسی مخابرات
  • جزوات رشته مدیریت
  • جزوات تربیت بدنی
  • جزوات حقوق
  • گزارش کارآموزی فنی مهندسی
  • مهندسی کامپیوتر (سخت افزار - نرم افزار)
  • مهندسی مکانیک
  • مهندسی برق
  • مهندسی شیمی
  • مهندسی فناوری اطلاعات
  • صنایع غذایی
  • حسابداری
  • مدیریت
  • مطالب پربازدید
    مطالب تصادفی
    مطالب پیشین
  • بررسی رابطه تيپ های شخصيتی دبيران دبيرستانهای دخترانه با میزان موفقیت (پنجشنبه 13 اردیبهشت 1397)
  • بررسی پيش تجربی سياهه مشاوره ای لوئيس سوال هاي شماره 3 تا 45 (از مقياس اطمينان اجتماعی) (پنجشنبه 13 اردیبهشت 1397)
  • بررسی مقدماتی شخصيتی كرنل براي سوال 36 و 37 بر روي دانشجويان دانشگاه آزاد اسلامي (پنجشنبه 13 اردیبهشت 1397)
  • مقايسه مشكلات زبان عادی ويژه (چهارشنبه 12 اردیبهشت 1397)
  • مقایسه ویژگی های شخصیتی شخصیت ضد اجتماعی و انحرافات اجتماعی در بین دانشجویان دختر و پسر (جمعه 07 اردیبهشت 1397)
  • بررسی رابطة تك فرزندی با اختلالات رفتاری (چهارشنبه 05 اردیبهشت 1397)
  • بررسی توصيفی موسيقی و موسيقی درمانی بر روی انسان ها (چهارشنبه 05 اردیبهشت 1397)
  • بررسی تأثير ناكامی در ميزان پرخاشگری بين دانش آموزان دختر و پسر مقطع ابتدايی (چهارشنبه 05 اردیبهشت 1397)
  • بررسی ميزان تأثير اردوهای تربيتی ـ آموزشی بر رشد شخصيت دانش آموزان (چهارشنبه 05 اردیبهشت 1397)
  • نياز سنجی كاركنان اطلاعات (چهارشنبه 05 اردیبهشت 1397)
  • مقايسه هوش هيجانی و جرأت ورزی در دانش‌آموزان دختر و پسر نابينا و عادی (چهارشنبه 05 اردیبهشت 1397)
  • مقایسه میزان هیجان خواهی دانشجویان متأهل و مجرد (چهارشنبه 05 اردیبهشت 1397)
  • مددکاری (چهارشنبه 05 اردیبهشت 1397)
  • بررسی علل گرايش جوانان و نوجوانان به قرص های روان گردان (چهارشنبه 05 اردیبهشت 1397)
  • شناسايی نيازهای آموزشی و ترويجی توتون کاران (چهارشنبه 05 اردیبهشت 1397)
  • نكات مفید كار در محیط دلفی
    محیط دلفی برای برنامه نویسی یکی از بهترین محیطهای برنامه نویسی است گذشته از کارکرد داخلی و کمپایلر آن که بسیار قوی و سریع است، محیط آن یعنی IDEآنهم قدرت بسیار زیادی دارد که باعث شده یکی از بهترین ادیتورها باشد. در این مقاله من سعی بر این داشته ام تا با ارائه یک سری از نکات و کلیدهای میانبر که می توانند برای کار در دلفی بسیار مفید و کارا باشند، کمک کنم تا شما بتوانید با قدرت بیشتر به برنامه نویسی و کار در این محیط قدرتمند ادامه دهید.

     

    جستجو در متن بصورت مستقیم:
    برای اینکار کلیدهای Ctrl+Eرا بفشارید و بدنبال آن شروع به تایپ کلمه مورد نظر کنید نتیجه آن را خود ببینید. برای اینکه به کلمه بعدی بروید کافیست کلید F3را بزنید.
    ایجاد فرورفتگی در کد:
    بعضی اوقات - که خیلی هم پیش می آید - لازم است که یک مقداری از متن را بصورت بلوک شده به جلو و یا عقب ببریم. منظور دندانه دار کردن متن است که به خوانایی برنامه کمک می کند. برای اینکار می تونید از کلید Ctrl +Shift+Iبرای جلو بردن و Ctrl+Shift+Uبرای عقب برگرداندن متن بلوک شده استفاده کنید.



    پرش به قسمت تعریف یک شی (Object ):
    ببنید شی مورد نظرتون (از قبیل VCL, Procedure, Function,...) در کجا و چطور تعریف شده می توانید کلید Crtlرو پایین نگه داشته و روی شی مورد نظر Clickکنید.
    برای تغییر حالت کاراکترها:
    شما می توانید یک قسمت از متن (که ممکن است با حروف بزرگ و یا کوچک تایپ شده باشد) را انتخاب کنید و با زدن کلیدهای Ctrl+O+Uبه ترتیب تمامی حروف کوچک آن قسمت از متن را به حروف بزرگ و تمامی حروف بزرگ آنرا به حروف کوچک تبدیل کنید. برای تعییر حالت یک کلمه نیز میتوانید روی کلمه مورد نظر رفته و کلیدهای Ctrl+K+Fبرای بزرگ کردن و کلیدهای Ctrl+K+Eرا برای کوچک کردن حروف آن کلمه بکار برد.
    درست کردن ماکرو متنی:
    این امکان بسیار مفید است و می تواند بسیاری از کارهای نوشتاری را کاهش دهد با اینکار شما میتوانید یک سری از کارهای تکراری که روی متون انجام می دهید را بصورت ماکرو در آورده و از آنها به راحتی استفاده کنید. برای شروع به ضبط ماکرو کلیدهای Ctrl+Shift+Rرا بفشارید و آن سری کارهایی را که می خواهید را انجام دهید و سپس برای اینکه به کار ضبط ماکرو پایان دهید کلیدهای Ctrl+Shift+Rرا دوباره بزنید. حال برای استفاده از ماکرو کافیست در هر جا که لازم بود کلیدهای Ctrl+Shift+Pرا بفشارید.
    انتخاب متن بصورت مربعی:
    اگر شما از کهنه کارهای کامپیوتر باشید حتما از زمان داس یادتون هست که برنامه ای بود به نام PE2که یکی از امکانات بسیار جالبش این بود که یک مربع از متن رو میتوانستین انتخاب کنید و آنرا کپی یا حذف کنید. بله درست متوجه شدید در محیط دلفی هم شما اینکار را میتوانید انجام دهید اما نه به مشکلی PE2بلکه اینکار را میتوانید فقط با گرفتن کلید Altو کشیدن موس روی متن انجام دهید. هر چند ممکن است در نگاه اول زیاد این امکان مفید به نظر نیاید ولی بعضی وقتهای خیلی کار را راحت میکنه، که حتماً تجربه خواهید کرد.
    گذاشتن علامت روی متن:
    این کار که به BookMarkمعروف است بسیار مفید و کارا می باشد. در هنگامی که شما روی قسمتی از متن برنامه کار میکنید و می خواهید به یک قسمت دیگر بروید ممکن است برای برگشتن به مکان اول خود کمی مشکل پیدا کنید. ولی شما میتوانید با زدن چند دکمه به محل مورد نظرتون باز گردید. برای اینکار در خطی که قصد دارید علامت بگذارید کلیدهای Ctrl+Shift+0..9را بفشارید. منظور اینست که کلیدهای Ctrl+Shiftرا نگه دارید و یکی از اعداد 0 تا 9 را وارد کنید تا آن خط به همان شماره علامت گذاری شود و سپس هر جا که خواستید بروید و سپس هر بار که کلید Ctrlرا نگه دارید و شماره مورد نظر را وارد کنید به همان خط باز خواهید گشت. البته توجه داشته باشید که فقط می توانید 10 خط را با این روش علامت گذاری بکنید و برای برداشتن علامت ها کافیست روی همان خط دوباره کلید Ctrl+shiftو شماره ای که برای آن خط وارد کرده اید را بفشارید با اینکار علامت آن خط برداشته می شود.
    ایجاد کلاس مورد نظر:
    شما هنگامی که در قسمت Privateو یا Publicیک type، روال یا تابع درست کردید لازم دارید که قسمتی را برای قرار دادن کدهای مربوط به آن روال یا تابع را ایجاد کنید. برای اینکار شما پس از اینکه نام تابع را تایپ کردید می توانید کلیدهای Ctrl+Shift+Cرا فشار دهید تا دلفی یک قسمت برای نوشتن کدهای مورد نظرتان ایجاد کند.
    ظاهر کردن پنجره Code insight:
    شما حتما به اهمیت و مفید بودن این قسمت دلفی واقفید که در هنگام کد نویسی تا چه حد می تواند کارها را راحت کند. بله در هنگام وارد کردن کدها بعد از وارد کردن نام یک کلاس و یا Objectبا زدن یک نقطه (.) پنجره Code Insightظاهر می شود. حال در بعضی وقتها شما ممکن است که نقطه را قبلا وارد کرده باشید و یا در مواقع دیگر این پنجره ظاهر نشود. در این صورت برای اینکه پنجره را ظاهر کنید باید دوباره نقطه را وارد کنید ولی راه آسانتری هم وجود دارد و آن اینست که کلیدهای Ctrl+Speacebarرا فشار دهید.
    ظاهر کردن پنجره Code Parameter:
    همانند بالا در هنگام ظاهر شدن Hintمربوط به راهنمای توابع که معمولاً بعد از گذاشتن پرانتز مربوط ظاهر میشود و در مورد پارامترهای لازم می باشد نیز می توانید از کلیدهای Ctrl+Shift+SpaceBarاستفاده کنید.
    رفتن از قسمت تعریف توابع و روالها به قسمت کد آنها:
    همیشه این نیاز وجود خواهد داشت که شما در هنگامی که دارید به دنبال یک روال در قسمت typeمیگردید بعد از پیدا کردن نام آن می خواهید که خود آن تابع یا روال را نیز ببنید. برای اینکار خوب حتما نام آن را جستجو میکنید ولی یک راه آسانتر اینست که شما روی نام آن تابع قرار گیرید و کلیدهای Ctrl+Shift+Up/Downرا بزنید. در اینحالت اگر روی کد تابع باشید به قسمت تعریف آن خواهید رفت.

    آرایه ها در دلفی
    دلفی به ما امکان می دهد آرایه هایی از هر نوع متغییری را ایجاد کنیم. برای تعریف آرایه به صورت زیر عمل میکنیم:

    var
       array[indexType1, ..., indexTypen] of baseType;

    در این تعریف برای نامگذاری آرایه، از قانون نامگذاری متغییرها استفاده میکنیم و مقدار اولیه را نیز درون یک جفت کروشه قرار می دهیم.
    نکته: شما می توانید به جای استفاده از کروشه [] از ترکیب پرانتز نقطه استفاده کنید:

    d(.i.):= 3 + i; // Equivalent d:= 3 + i;

    نکته: وقتی که شما یک آرایه را تعریف می کنید احتیاجی ندارید که به آن مقدار کمترین یا بیشترین بدهید:

    var
       A : array [Boolean] of integer;
    begin
       A[True] := 50;
       A[False] := 100;
    end;

    نکته: توابع Lowو Highکران های پایین وبالای یک متغییر آرایه ای یا نوعی یا ترتیبی را بر میگردانند:

    for I := 0 to High(X) do S := S + X;

    آرایه های ثابت:
    آرایه های ثابت می توانند توسط ساختار ثابت نوع دلفی تعریف شود. نوع ثابت که همیشه با عبارت Constتعریف می شود، نه تنها مانع تغییر مقدار پارامتر می شود، بلکه کدهای بهینه بیشتری برای رشته ها و رکوردهای رد شده به توابع تولید می کند. ما هنگامی از این نوع استفاده می کنیم که نخواهیم مقدار رد شده به یک تابع تغییر کند.

    type
       TDay = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday);

    const
       DayNames : array [TDay] of String[9] = ('Sunday', 'Monday', 'Tuesday’,
       'Wednesday', 'Thursday’,
       'Friday', 'Saturday’);
    var
       Today : TDay;

    begin
       Today := TDay(DayOfWeek(Date) – 1);
       ShowMessage('Today is ' + DayNames[Today]+ '!');
    end;

    آرایه های دینامیکی:
    آرایه های دینامیکی، آرایه های تحلیلی پویایی هستند که ابعاد آنها موقع کامپایل شدن شناخته شده نیست. برای اعلان آنها کافی است یک آرایه بدون بعد تعریف کنید:

    var MyFlexibleArray: array of Real;

    قبل از به کار گیری آرایه های دینامیکی، ابتدا باید از رویه SetLengthبرای تخصیص حافظه آرایه استفاده کرد:

    SetLength (MyFlexibleArray, 2);

    نکته: آرایه های دینامیکی همیشه مبتنی بر صفر می باشند.

    نکته: شما می توانید آرایه های دینامیکی را قبل از رسیدن به ترک قلمرو از حافظه خارج کنید:

    MyFlexibleArray := nil;

    نکته: مقدار حافظه ای که در اختیار آرایه قرار میگیرد، به طول آرایه ونوع عناصر آن بستگی دارد. به عنوان مثال اگر آرایه ای از نوع صحیح به طول 10 داشته باشیم 4*10 بایت حافظه به آن اختصاص می یابد.

    فشرده سازی آرایه ها:
    در دلفی شما هنگامی که ساختار خود را تعیین کردید می توانید با استفاده از کلمه کلیدی packedاطلاعات ذخیره شده خود را متراکم کنید:

    type TNumbers = packed array[1..100] of Real;

    نکته: استفاده از packedسرعت دسترسی به اطلاعات را کند میکند. در مورد آرایه ای از کاراکترها این مورد سازگارتر می باشد.

    آرایه های چند بعدی دینامیکی:
    برای تعریف آرایه های چند بعدی دینامیکی، تنها کافی است ...array ofرا در ساختار خود تکرار کنید. به طور مثال:

    type
       TMessageGrid = array of array of string;

    var
       Msgs: TMessageGrid;

    این تعریف یک آرایه دو بعدی از رشته ها می باشد. سپس باید به آرایه خود فضا نسبت داد:

    SetLength(Msgs, I, J);

    شما می توانید آرایه های چند بعدی دینامیکی خود را به صورت غیر مستطیلی (Not Rectangular) ایجاد کنید. ابتدا رویه SetLengthرا صدا زده و پارامتر بعد اول را بدهید:

    var
       Ints: array of array of Integer;

    SetLength(Ints, 10);

    ما 10 سطر به آرایه خود اختصاص دادیم. از این پس، شما می توانید ستونهای خود را در هر زمان (با اندازه های مختلف) تخصیص دهید:

    SetLength(Ints[2], 5);

     

    تغییر Hintبرای هر ستون از DBGridدر دلفی
    ابتدا باید یک عنصر جدید مبتنی بر TDBGridایجاد کنید و رویداد OnMouseMoveرا فراخوانی کنید:

    type
       TMyDBGrid = class(TDBGrid)
        published
        property OnMouseMove;
    end;

    اگرچه شما در رویداد OnMouseMoveمختصات Xو Yرا بدست خواهید آورد، اما شما باید ستون مورد نظر را پیدا کنید. برای ادامه کار لازم است که سطر زیر را در قسمت protectedقرار دهید:

    procedure WMMouseMove(var Message : TWMMouse); message WM_MOUSEMOVE;

    همچنین متغیر های زیر را در قسمت publicاضافه نمایید:

    MouseRow : integer;
    MouseCol : integer;

    بنابراین متد WMMouseMoveبصورت ریر خواهد بود:

    procedure TMyDBGrid.WMMouseMove(var Message : TWMMouse);
    var
       t : TGridCoord;
    begin
       t := MouseCoord(Message.XPos, Message.YPos);
       MouseCol := t.x;
       MouseRow := t.y;
       inherited;
    end;

    ما ابتدا فیلدهای XPostو YPosرا از ساختار WMMouseMoveتنظیم میکنیم:

    procedure TForm2.MyDBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y:
    Integer);
    begin
       if (((dgIndicator in MyDBGrid1.Options) and (MyDBGrid1.MouseCol > 0)) or
       ((not (dgIndicator in MyDBGrid1.Options)) and (MyDBGrid1.MouseCol <> -1)))
       and (MyDBGrid1.MouseCol <> OldMouseCol) then begin
          OldMouseCol := MyDBGrid1.MouseCol;
       if dgIndicator in MyDBGrid1.Options then
          MYDBGrid1.Hint := MyDBGrid1.Columns[MyDBGrid1.MouseCol - 1].FieldName
    else
       MYDBGrid1.Hint := MyDBGrid1.Columns[MyDBGrid1.MouseCol].FieldName;
    end;
    end;

    حالا مجددا" تعریف زیر را در قسمت publicقرار دهید:

    HintMouseMessage(Control : TControl; var Message : TMessage)

    در قسمت OnMouseMoveاز TDBGridنیز فرامین زیر را اضافه نمایید:

    var
       r : TMessage;
    begin
       Application.HintMouseMessage(self, r);
       TWMMouse(r).XPos := X;
       TWMMouse(r).YPos := Y;
       Application.HintMouseMessage(MyDBGrid1, r);
    end;

    همه کارها انجام شد. حالا شما میتوانید نتیجه را مشاهده کنید

    کسب درآمد با فروش فایل های سایت ما

    درباره :
    برچسب ها :آموزش دلفی - بخش دوم ,تغییر Hint برای هر ستون از DBGrid در دلفی ,آرایه های چند بعدی دینامیکی: ,فشرده سازی آرایه ها ,آرایه ها در دلفی ,نكات مفید كار در محیط دلفی ,
    بازدید : 1291 تاریخ : نویسنده : بهرام محمدپور | نظرات ()
    ارسال نظر برای این مطلب

    نام
    ایمیل (منتشر نمی‌شود) (لازم)
    وبسایت
    :):(;):D;)):X:?:P:*=((:O@};-:B/:):S
    نظر خصوصی
    مشخصات شما ذخیره شود ؟[حذف مشخصات] [شکلک ها]
    کد امنیتی
    آمار سایت
  • آمار مطالب
  • کل مطالب : 4311
  • کل نظرات : 17
  • آمار کاربران
  • افراد آنلاین : 5
  • آمار بازدید
  • بازدید امروز : 15,673
  • باردید دیروز : 7,433
  • گوگل امروز : 30
  • گوگل دیروز : 42
  • بازدید هفته : 53,045
  • بازدید ماه : 131,076
  • بازدید سال : 818,996
  • بازدید کلی : 6,672,722
  • نظرسنجی
    چه مطالبی در سایت قرار دهیم؟





    کدهای اختصاصی