loading...
دانلود سرای دانشجویی

این بار همون برنامه ی قبلی رو طوری بنویسید که یک عدد از کاربر گرفته و اعداد کوچکتر از اون رو چاپ کنه:

-برنامه ای بنویسید که یک عدد از ورودی گرفته و اعداد طبیعی کوچکتر از آن را با فرمتی مناسب چاپ کند.با for

 

>> سورس در ادامه مطلب <<

تابع FatalAppExit

کار تابع : این تابع پس از نمایش یک پیغام برنامه را خاتمه می دهد

فراخو انی در دلفی : این تابع در Unit - Windows از دلفی تعریف شده است.

Function FatalAppExit (uAction:UNIT;lpMessageText:Pchar);stdcall;

پارامترها :

uAction : این پارامتر رزرو شده می باشد و همیشه برابر صفر می باشد.

lpMessageText : این پارامتر از نوع رشته بوده و شامل پیغامی است که نمایش داده خواهد شد.

نکته : این تابع خروجی ندارد.

مثال در ادامه مطلب

هدف : از این تابع برای نوشتن متن مورد نظر بدون استفاده از Label بر روی زمینه فرم استفاده می شود .

فراخو انی در دلفی : این تابع در Unit - Windows در دلفی تعریف شده است.

مثال درادامه مطلب

اطلاعات را کجا بیابیم ؟اطلاعات راجع به دلفی را می توانید به طریق زیر به دست آورید.

راهنمای Online

مستندات

سرویس پشتیبانی شرکت بورلند

سایت شرکت بورلند

راهمنای Online

راهنمای Online حاوی اطلاعات جزئی درباره رابط کاربر ˛ زمان پیاده سازی ˛ وظایف برنامه نویسی و VCL (Visual Component library) می باشد.مستندات

این مستندات یک شروع سریع و مقدماتی بر دلفی است جهت سفارش مستندات به سایت ----------- مراجعه کنید.سرویس پشتیبانی شرکت بورلند

در سایت Http://www.borland.com/devsupport/delphi میتوانید اطلاعات مختلفی راجع به دلفی و نیز گروههای کاری زیادی را پیدا کنید

دلفی چیست ؟

دلفی یک محیط ویژوال و شئ گرا برای گسترش سریع برنامه ها میباشد. با استفاده از دلفی شما میتوانید برنامه های کاربردی مفیدی برای ویندوز با کمترین کد نویسی و سریع بنویسد. دلفی تمام ابزار های لازم برای گسترش ˛تست و اشکال زدایی برنامه ها را برای شما فراهم می کند.

نگارش های دلفی

پیش از اینکه وارد مبحث آموزش دلفی شویم می خواهم دو نکته کلیدی را مطرح کنم. اولین نکته این است که دلفی با یک نگارش خاص عرضه نمی شود و دوم اینکه تمام محیط های دلفی را میتوان متناسب با نیاز های شخصی تغییر داد.

نگارش های دلفی عبارتند از :

نگارش Professional Studio : که برای تولید کنندگان حرفه ای در نظر گرفته شده است و علاوه بر ویژگیهای پایه خاصیت پشتیبانی از برنامه سازی بانک های اطلاعاتی (از جمله ADO) و سرور وب و ابزار های خارجی همچون ModelMaker و Intra Web نیز در این نگارش گنجانده شده است.

نگارش Enterprise Studio : برای تولید کنندگانی که برنامه کاربردی بزرگ تولید می کنند در نظر گرفته شده است. فناوری های پیشرفته خدمات وب و XML و معماری سه لایه ای و ابزار های بیشمار دیگری در این نگارش گنجانده شده است.

نگارش Architect Studio : پشتیبانی از Bold نیز به تمامی امکانات و ویژگیهای نگارش Enterprise افزوده شده است. Bold محیطی برای آماده سازی برنامه های کاربردی است که در زمان اجرا توسط یک UML هدایت شده و قادر به ارتباط شی های خود به یک بانک اطلاعاتی و همچنین رابط کاربر است.

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

کتاب معادلات دیفرانسیل نیکوکار یکی از کاملترین کتابها برای یادگیری این درس می باشد این کتاب در 527 صفحه تنظیم شده است.

نام کتاب : معادلات دیفرانسیل 
نام نویسنده : دکتر مسعود نیکوکار
 زبان : پارسی 
تعداد صفحه : 527 
قالب : PDF 
حجم : 33.6 MB

سازنده ها و مخرب ها در وراثت

کلاس پايه و مشتق شده هر يک می تواند شامل توابع سازنده و مشتق شده باشند. وقتی شیئی ايجاد می شود کامپايلر تضمين می کند که کليه سازنده ها فراخوانی می شوند. در سلسله مراتب وراثت فراخوانی سازنده ها از ريشه شروع می شود. در هر سطح ابتدا سازنده کلاس پايه سپس سازنده کلاس مشتق شده فراخوانی می شود. مخرب ها برعکس ترتيب فراخوانی سازنده ها فراخوانی می شوند.

مثال. در برنامه زير کلاس Derived2 از کلاس Derived1 که خود از Base1 ارث بری دارد ارث می برد.

#include <iostream.h>
class Base1 {
   int x;
public:
   Base1 () {cout << "Base1 constructorn";}
   ~Base1() {cout << "Base1 destructorn";}
};
class Derived1 : public Base1 {
   int y;
public:
   Derived1() { cout << "Derived1 constructorn";}
   ~Derived1() { cout << "Derived1 destructorn";}
};
class Derived2 : public Derived1 {
   int z;
public:
   Derived2() { cout << "Derived2 constructorn";}
   ~Derived2() { cout << "Derived2 destructorn";}
};
int main() {
   Derived2 d2;
   return 0;
}

خروجی برنامه به صورت زير است:

Base1 constructor
Derived1 constructor
Derived2 constructor
Derived2 destructor
Derived1 destructor
Base1 destructor


نکته. ترتيب فراخوانی سازنده ها و مخرب ها در در توارث چندگانه هم صدق می کند. سازنده ها به ترتيبی که در ليست مشخص شده اند از چپ به راست فراخوانی می شوند. و مخرب ها برعکس.


ارسال پارامتر به سازنده کلاس پايه

زمانی که تنها سازنده کلاس مشتق شده دارای آرگومان است می توان به سادگی و به صورت متعارف آرگومان را به سازنده ارسال نمود. اما برای ارسال آرگومان به سازنده کلاس پايه دچار مشکل می شويد چون سازنده کلاس مشتق شده به داده خصوصی کلاس پايه دسترسی ندارد و نمی تواند آنها را مقداردهی کند. برای اين کار C++ گرامری را در اختيار می گذارد که ليست مقداردهی سازنده (constructor initializer list) نام دارد. ليست مقداردهی سازنده امکان فراخوانی صريح سازنده ها از اشيای عضو را می دهد. فرم کلی آن برای سازنده کلاس مشتق شده به صورت زير است:

Derived(arg_list) : Base1(arg_list), Base2(arg_list), ...
{ //body of derived constructor}

نام کلاس های پايه توسط کاما از هم جدا می شوند. Base1 و Base2 و ... نام کلاس های پايه هستند که توسط کلاس مشتق شده Derived به ارث برده می شوند. سازنده ها همگی قبل از اينکه وارد بدنه سازنده کلاس مشتق شده شويد فراخوانی می شوند.


مثال. کلاس Circle از کلاس Point مشتق شده است. در سازنده کلاس Circle سازنده Coint فراخوانی می شود.

#include <iostream.h>
class Point {
   int x,y;
public:
   Point(int atx,int aty ) {x = atx; y = aty;}
   ~Point(){ cout << "Point Destructor calledn";}
   virtual void Draw() { cout << "Draw point at " << x << " " << y << endl;}
};
class Circle : public Point {
   int radius;
public:
   Circle(int atx, int aty, int theRadius) ;
   ~Circle() ;
   virtual void Draw() ;
};
Circle::Circle(int atx,int aty,int theRadius) : Point(atx,aty) {
   radius = theRadius;
}
inline Circle::~Circle() {
   cout << "Circle Destructor called" << endl;
}
void Circle::Draw( void ) {
   Point::Draw();
   cout << "circle::Draw point " << " Radius " << radius << endl;
}
int main() {
   Circle ACircle(10,10,5) ;
   ACircle.Draw();
   return 0;
}


برخلاف اينکه اغلب نياز است سازنده ها به صورت مستقيم در ليست مقداردهی فراخوانی شوند، مخرب ها نيازی به فراخوانی صريح ندارند زيرا هر کلاس تنها يک مخرب بدون هيچ آرگومانی دارد. کامپايلر کليه مخرب ها را از آخرين کلاس مشتق شده به سمت ريشه در کل سلسله مراتب وارثت اجرا می کند.

تعداد صفحات : 425

اطلاعات کاربری
آمار سایت
  • کل مطالب : 4247
  • کل نظرات : 0
  • افراد آنلاین : 7
  • تعداد اعضا : 2926
  • آی پی امروز : 67
  • آی پی دیروز : 161
  • بازدید امروز : 423
  • باردید دیروز : 830
  • گوگل امروز : 6
  • گوگل دیروز : 51
  • بازدید هفته : 423
  • بازدید ماه : 35,364
  • بازدید سال : 110,473
  • بازدید کلی : 8,289,167
  • کدهای اختصاصی