PDA

View Full Version : گفتگو: نظر شما در مورد این سرفصلها برای نوشتن یک کتاب در مورد دلفی چیست؟



BORHAN TEC
شنبه 30 مرداد 1389, 16:20 عصر
اگر خدا قبول کند من قصد نوشتن یک کتاب در زمینه دلفی را دارم و قرار است در این کتاب مطالب زیر را مورد بررسی قرار دهم. به نظر شما سر فصل های تعیین شده در زیر چه نقصی و یا کمبود هایی دارد؟؟؟

1- به دلفی 2011 خوش آمدید.
2- مروری بر IDE
3- ساخت یک برنامه نمونه
4- متغیرها و ثابتها
5- عملگرها
6- ساختارهای کنترل (بخش اول: Label، goto، if، case)
7- ساختارهای کنترل (بخش دوم : شمارنده ها، for، while، repeat، break، continue، عملگرهای منطقی و شرطی، مثالی از MessageBox، InputBox و ...)
8- آرایه ها، رشته ها و رکوردها
9- استفاده از یونیکد در دلفی
10- اشاره گر ها و مقدمه ای بر Data Structores
11 - زیر برنامه ها (بررسی توابع و رویه ها، انواع پارامتر ها و ...)
12- اشکال زدایی در برنامه ها
13- کلاسها و برنامه نویسی شی گرا(مفاهیم پایه، کپسوله سازی، شکل کلی تعریف یک کلاس، سطوح دسترسی، سازنده ها، مخربها، مفاهیمی مثل استفاده مجدد از نرم افزار، معرفی ابزار هایی در رابطه با کلاس مثل classview)
14- برنامه نویسی شی گرا: توارث (مفاهیم، نحوه پیاده سازی، ارایه مثال: مثلاً ساخت مکعب با استفاده از کلاس مربع)
15- برنامه نویسی شی گرا: پلی مورفیسم
16- نکاتی دیگر در رابطه با برنامه نویسی شی گرا (کلاس های تو در تو و اضافه بارگزاری عملگر ها در مورد رکوردها و...)
17- کلاس ها و کنترل های VCL و معرفی چارچوب کاری
18- Interface ها
19- نگاهی عمیق تر به IDE مانند بررسی Refactoring و ... .
20- ساخت منو ها و نوارهای ابزار
21- مدیریت فرم ها و پنجره ها (فرم های MDI و...)
22- مدیریت استثناها
23ساخت dll ها و مباحث مربوطه
24- ابزار های مفید برای برنامه سازان دلفی مثل TDump و...
25- graphic programming و مقدمه ای بر پردازش تصاویر
26- استفاده از فایلهای منبع
27- چاپ در دلفی
28- multithreading
29- مالتی مدیا در دلفی
30- Generics در دلفی
31- کار با پورتها
32- Ribbons
33- مفاهیم مقدماتی پایگاه داده ها
34- نگاهی به مهمترین دستورات Ansi Sql 92
35- دسترسی به بانکهای اطلاعاتی با استفاده از تکنولوژی dbExpress
36- دسترسی به بانکهای اطلاعاتی با استفاده از تکنولوژی ADO
37- ساخت برنامه های سازگار با تاچ اسکرینها (Touch & Gestures)
38- ساخت گزارشها برای برنامه های بانک اطلاعاتی (بررسی Rave Report احتمالاً همراه با بررسی فست ریپورت و فست کیوب)
39- Socket Programming و برنامه نویسی تحت شبکه با Indy
40- ساخت برنامه های مالتی تیر با DataSnap
41- مفاهیم ساخت برنامه های مبتنی بر اینترنت
42- ساخت وب اپلیکیشنها با استفاده از Intraweb (به عبارتی VCL For The Web)
43- نگاهی اجمالی بر Embarcadero RapidPHP XE
44- کار با XML در دلفی و معرفی کلاسهای مربوطه
45- کار با JSON در دلفی و معرفی کلاسهای مربوطه
46- ساخت web Service در دلفی
47- ساخت Web Client ها
48- مقدمه ای بر UML (یوزکیس چیست و ...)
49- معرفی و بررسی ابزارهای برای برنامه نویسی گروهی (Source Safe و یا ...)
50- نظارت بر کیفیت کدها با استفاده از Metrics

پیوست 1: معرفی منابع مفید
پیوست 2: معرفی کامپوننت های مفید
پیوست 3: ساخت برنامه های مبتنی بر چارچوب دات نت با Delphi Prism
پیوست 4: توزیع برنامه ها با استفاده از InstallAware
پیوست 5: مقایسه دلفی و C++‎‎‎‎ Builder
پیوست 6: نحوه اضافه کردن قابلیت Update به نرم افزار
پیوست 7: نحوه ساخت و مدیریت پلاگین ها
پیوست 8: ساخت برنامه برای Linux و mac os با Delphi 2011 (یا Delphi XE)
پیوست 9: معرفی Lazarus

حمید محمودی
شنبه 30 مرداد 1389, 16:43 عصر
آقای کشاورز قبلا یه سری سرفصل ها رو مشخص کرده بودن. خودتون میتونید مقایسه کنید.


خلاصه :


شروع کار با یک پروژه عملی در محیط دلفی
آشنایی با مفاهیم پایه
آشنایی با IDE دلفی
آموزش زبان Object Pascal
برنامه نویسی شیء گرا در Delphi
Unicode در Delphi
Debug (عیب یابی) و رفع اشکال برنامه ها
آشنایی با Runtime Library و کاربرد آن
آشنایی با Stream ها و کاربرد آنها
آشنایی با VCL
نگاه عمیق تر به قابلیت‌های IDE
ساختار نرم افزارهای نوشته شده با دلفی
برنامه نویسی بانک های اطلاعاتی در دلفی
برنامه نویسی تحت ویندوز در دلفی
استفاده از کامپوننت ها و ابزارهای سایر شرکت ها
آشنایی با ابزارهای گزارش سازی و کاربرد آنها
تولید Setup با استفاده از Inno Setup


کل سرفصل ها :


آشنایی با دلفی و تاریخچه آن
مثالی از تولید نرم افزار به صورت RAD (ایجاد یک Word Processor ساده)

آشنایی با مفهوم Native Code و Managed Code
آشنایی با IDE دلفی

ایجاد پروژه جدید
Project Manager
Code Editor
Code Completion
Code Browsing
IDE Insight
جستجو در کد
Form Designer
Object Inspector
Structure View
تنظیمات IDE
استفاده از Help


زبان Object Pascal

ثابت ها، متغیرها، و گزاره ها
Comments
عملگرهای اصلی
نوع های داده ساده

اعداد
Boolean
String
اشاره‌ گرها

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


مجموعه ها و Enumerators

استفاده از عملگر in


تبدیل نوع


نوع های داده ترکیبی

آرایه ها
Variant
رکوردها


ساختارهای کنترلی

شرط ها
حلقه ها


توابع و Procedureها

تعریف تابع و Procedure
انواع پارامتر‌ها
مفهوم Scope برای متغیر‌ها
Calling Conventions
Overloading
توابع برگشتی
Anonymous Methods


Unit ها
رهنمود های کامپایلر و کامپایل شرطی
Exception Handling
کار با فایل ها

انواع فایل ها در پاسکال
توابع کار با فایل




برنامه نویسی شیء گرا

مفاهیم پایه شیء ‌گرایی

کلاس ها و اشیاء
کپسوله سازی
Abstraction
وراثت
چند ریختی


ایجاد کلاس

Access Modifiers
تعریف فیلد
تعریف Property
تعریف متد
Override کردن یک متد
Constructor ها و Destructorها
تعریف نوع داخل کلاس
تعریف اجزاء کلاس به صورت Static


کلاس‌های Sealed
کلاس‌های Abstract
کلاس TObject
Class References
Interfaceها
رکورد‌های دارای متد
Class Helpers
Generics
تبدیل نوع در کلاس‌ها

استفاده از عملگر is
استفاده از عملگر as




Unicode در دلفی

یونیکد چیست؟
انواع نوع داده String در دلفی
تبدیل داده ها به یونیکد و ANSI
تعیین Code Page رشته های ANSI
یونیکد در توابع API ویندوز
پشتیبانی از یونیکد در IDE


Debug کردن برنامه ها

مفهوم Debug کردن
استفاده از Step over
استفاده از Breakpoint
استفاده از Watch list
مشاهده مقادیر متغیرهای محلی
مشاهده مقادیر با استفاده از Debug Visualizers
استفاده از Event Log
استفاده از Call stack
استفاده از CPU View


آشنایی با RTL

یونیت System
یونیت SysUtils
Dialogs
یونیت StrUtils
یونیت Character
یونیت DateUtils
یونیت IOUtils
یونیت Variants
Streamها در دلفی

TStream
TMemoryStream
TFileStream
TStringStream


کلاس های Container در دلفی

List‌ها (TList, TObjectList, TList<T>, TStrings)
کلاس‌های TStack و TQueue
Collection‌ها
کلاس TDictionary




آشنایی با VCL

کلاس TPersistent
کامپوننت ها
کنترل ها
آشنایی با فرم ها
استفاده از کامپوننت های استاندارد دلفی
Eventها، و Event-Oriented Programming
استفاده از Actionها در طراحی رابط کاربر
فریم ها
Dialog Boxها
Gesture و Touch در دلفی
طراحی رابط کاربر به صورت MDI
گرافیک در دلفی


نگاه عمیق تر به قابلیت‌های IDE

SyncEdit
Live Templates
Refactoring
Data Explorer
Unit Testing
UML Modeling
Audits
Metrics


ساختار نرم افزارهای نوشته شده با دلفی

فایل های پروژه، و مدیریت آنها
مدیریت Build
شی Application
شی Screen
شی Monitor
انواع Link پروژه
Project Options


بانک های اطلاعاتی در دلفی

آشنایی با مفاهیم اولیه بانک‌های اطلاعاتی

جدول
فیلد
رکورد
Index
رابطه بین جداول
نرمال سازی


آشنایی اولیه با زبان SQL

دستور SELECT
دستور UPDATE
دستور DELETE
دستور INSERT
گزاره WHERE
گزاره ORDER BY


انواع معماری نرم‌افزار‌ مبتنی بر بانک اطلاعاتی

بانک اطلاعاتی به صورت Embedded
معماری Client\ Server
معماری چند لایه


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

BDE
ADO
dbExpress
استفاده از XML به عنوان منبع داده
استفاده از کامپوننت‌های دسترسی به داده سایر شرکت‌ها


کلاس TDataset
کلاس TDataSource
کار با کامپوننت‌های ADO

AdoConnection
AdoTable
AdoQuery
AdoDataset
AdoCommand


آشنایی با ClientDataset
آشنایی با کامپوننت های Data Control
کار با فیلد‌های بانک اطلاعاتی

استفاده از فیلد‌های Lookup
استفاده از فیلد‌های Calculated


آشنایی مقدماتی با گزارش ساز FastReport

ساخت گزارش از یک رکورد بانک اطلاعاتی
ساخت گزارش از چند رکورد بانک اطلاعاتی با استفاده از Master Band
Export گزارش به فرمت های مختلف (PDF, Excel, HTML, RTF, …)




برنامه نویسی تحت ویندوز

آشنایی با Win32
آشنایی با مفهوم Process و Thread
استفاده از توابع API ویندوز در دلفی
Message Handling
کار با پنجره‌ها
کار با Registry و فایل های INI
استفاده از Clipboard
استفاده از Resource‌ها
ایجاد و بکارگیری DLLها و Packageها

Static loading
Dynamic loading
Delayed loading
استفاده از Resource DLLها
استفاده از Entry Point Function
بارگزاری فرم ها از داخل DLL
استفاده از کلاس‌های یک Package


توسعه نرم افزار برای ویندوز ویستا و ویندوز 7


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

نصب و استفاده از کامپوننت های سایر شرکت ها
نصب و استفاده از IDE Expertهای تولید شده برای دلفی
آشنایی با مجموعه کامپوننت JVCL
آشنایی با مجموعه کامپوننت EhLib
آشنایی با مجموعه کامپوننت TMS Smooth Controls


تولید Setup با استفاده از Inno Setup

فایل های مورد نیاز پروژه برای انتقال به سیستم مقصد
آشنایی با IsTool
آشنایی با تنظیمات پروژه در InnoSetup
افزودن فایل و آیکن به Setup
ایجاد Typeهای مختلف برای Setup
تعریف Componentهای مختلف برای Setup
تعریف Taskهای مختلف برای Setup
تعریف زبان های مختلف برای Setup
تعریف وظایف قبل و بعد از Compile کردن Setup


آشنایی با نسخه آینده دلفی (دلفی 2011) و قابلیت های آن

حمید محمودی
شنبه 30 مرداد 1389, 16:56 عصر
ضمنا یه کاربری کتاب Delphi introduction رو نوشته بود.که سرفصل های اون هم بد نبود. میتونید اونو از اینجا (http://www.iranled.com)دانلود کنید

BORHAN TEC
یک شنبه 31 مرداد 1389, 10:06 صبح
ضمنا یه کاربری کتاب Delphi introduction رو نوشته بود.که سرفصل های اون هم بد نبود. میتونید اونو از اینجا دانلود کنید
میشه دقیقتر آدرس بدین!

حمید محمودی
یک شنبه 31 مرداد 1389, 13:18 عصر
بفرمایید دقیق دقیق :

http://iranled.com/forum/showthread.php?tid=16930

ضمنا اینم بگم که اگه میتونید چندین صفحه اول رو قشنگ توضیح بدید چرا از دلفی استقبال کمتری در مقابل زبون های دیگه (در ایران) شده و چرا باید ازش استفاده کرد و...
ظاهرا خیلی ها از اول میترسن با دلفی کار کنن :دی

و پیوست های زیر هم بدنیستن.

X : خود نرم افزار دلفی 2010 ، 7 یا ...
Y : رفع مشکلات برخی نسخه های دلفی. مثلا رفع مشکل نمایش Help دلفی 7 در وین سون


(یادش بخیر یه زمانی قصد داشتم همین کار شما رو انجام بدم ولی...... )

pezhvakco
یک شنبه 31 مرداد 1389, 18:58 عصر
درود :

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

بدرود .

yaseriran
دوشنبه 01 شهریور 1389, 13:06 عصر
درود!

سپاس از اینکه در کوشش هستید!

چرا روی گرافیک کار نمی کنید؟ opengl , ...
وقتی خواستم با opengl در دلفی یک 20وجهی بنویسم، مطلبی نبود در رابطه با opengl.
البته میدونم که این بحث به گرافیک کامپیوتری نیز برمی گرده.
به هر روی، یک پیشنهاد بود.
بازم سپاس!

http://barnamenevis.org/forum/showthread.php?t=225463&highlight=opengl
دل گر چه در این بادیه بسیا ر شتافت* یک موی ندانست، ولی موی شکافت
اند ر دل من هزار خورشید، بتا فت* لیکن به کمال ذره ای را نیافت... ابن سینا

BORHAN TEC
دوشنبه 01 شهریور 1389, 13:22 عصر
چرا روی گرافیک کار نمی کنید؟ opengl , ...
وقتی خواستم با opengl در دلفی یک 20وجهی بنویسم، مطلبی نبود در رابطه با opengl.
البته میدونم که این بحث به گرافیک کامپیوتری نیز برمی گرده.

این مبحثی که شما آن را ذکر کردید خودش در حد و حدود یک کتاب مجزا است در صورتی که در این کتاب فقط مجال پرداخت به معرفی آن (OpenGl) میرسد. در ضمن در بازار کتبی برای آموزش Opengl با دلفی به زبان شیرین فارسی موجود است!!!
به نظر من هم Opengl گزینه خوبی است چون بر خلاف DirectX برای سکوهای مختلفی پیاده سازی شده است و این جزو مهمترین مسایل در نسخه جدید دلفی است یعنی Delphi XE

BORHAN TEC
دوشنبه 01 شهریور 1389, 13:29 عصر
ضمنا اینم بگم که اگه میتونید چندین صفحه اول رو قشنگ توضیح بدید چرا از دلفی استقبال کمتری در مقابل زبون های دیگه (در ایران) شده و چرا باید ازش استفاده کرد و...

من هم کاملاً موافقم. در این مورد تاپیکی را در سایت مطرح می کنم تا خود برنامه نویسان و مدیران و دانشجویان نظرشان را در مورد این مساله اعلام کنند.

yaseriran
دوشنبه 01 شهریور 1389, 13:31 عصر
درود!

پس پرسش من رو توجه نکردید!!!


چرا روی گرافیک کار نمی کنید؟ opengl , ...

اون ...(غیره) را برای همین به کار برده بودم که فقط منظورم به opengl نباشه.

زبان هم وقتی شیرین می شه که درست نگارش بشه!

سپاس از توجه کاملتون...

BORHAN TEC
دوشنبه 01 شهریور 1389, 13:58 عصر
اون ...(غیره) را برای همین به کار برده بودم که فقط منظورم به opengl نباشه.

زبان هم وقتی شیرین می شه که درست نگارش بشه!

ببخشید که منظورتون رو درست متوجه نشدم.
در این کتاب بر روی گرافیک کار می شود ولی نه گرافیک سه بعدی(البته شاید به معرفی و ارایه چند مثال ساده بپردازم و این مثال ها عموماً بر روی گرافیک دو بعدی در Opengl و یا ... تمرکز خواهند داشت). همانطور که گفتم این مبحث به تنهایی در حد و اندازه یک کتاب است. اگر به تعداد سرفصل ها نگاه کنید متوجه خواهید شد که مجال کافی در مورد پرداختن به این موضوع نخواهد بود.

با تشکر فراوان:قلب:

majidmir
دوشنبه 01 شهریور 1389, 14:20 عصر
مهندس جان جدا میتونی این همه رو پوشش بدی ؟ اگه بتونی بنویسی میشه یه کتاب مرجع جامع و کامل به نظر من که عالیه

BORHAN TEC
دوشنبه 01 شهریور 1389, 14:50 عصر
مهندس جان جدا میتونی این همه رو پوشش بدی ؟ اگه بتونی بنویسی میشه یه کتاب مرجع جامع و کامل به نظر من که عالیه
چرا نشه؟!!! :چشمک: