آموزش زبان SQL - مقدمه

زبان SQL چیست؟

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

 

این زبان بر روی چه پایگاه های داده ای کار می کند؟

این زبان بر روی پایگاه های داده ی رابطه ای (RDBMS) کاربرد دارد. برای نمونه پایگاه های داده ای زیر را می توان نام برد:

SQLite, MySQL, Access, Oracle, Postgres و SQL Server و ...

 

ادامه نوشته

استفاده از * در نام های host در فایل hosts ویندوز

سوال: آیا می توان از * یا به قول معروف wildcard در نام دامنه های موجود در فایل hosts ویندوز استفاده کرد؟

همان طور که می دانید در ویندوز فایل hosts موجود است که در آدرس زیر قرار دارد:

C:\Windows\System32\drivers\etc

نکته: اگر ویندوز شما در درایو D نصب شده باشد باید ابتدای خط را به D تغییر دهید.
در این فایل لیست هاست های شما قرار دارد که با توجه به مقدارهایی که دارد به یک هاست اشاره می کند. در واقع این DNS شخصی شماست و زمانی که آدرسی در مرورگر خود می نویسید که در این فایل لیست شده باشد، دیگر از DNS های تحت وب پرسش نمی شود و یک راست به سراغ آدرس IP که شما نوشته اید می رود.

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

x.x.x.x yourhost

در نوشته ی بالا x.x.x.x یک آدرس IP است که هر x عددی بین 0 تا 255 را می پذیرد. و yourhost هم نام هاستی است که شما می خواهید با نوشتن آن به IP مورد نظر ورود کند.
اگر فایل مورد نظر را با استفاده از یک ویرایشگر متن (مثلا notepad) باز کنید چندین خط در آن موجود است که توضیحاتی در مورد کارکرد این فایل ارائه می دهد.

هر خطی که در این فایل با علامت # شروع می شود به عنوان توضیح در نظر گرفته می شود و هیچ تاثیری در کارکرد ویندوز شما ندارد.

اما خط هایی که با # شروع نشوند حتما یک تاثیر خاص بر روی عملکرد ویندوز شما خواهند گذاشت.

در خطوط انتهایی این فایل معمولا خط زیر وجود دارد:

127.0.0.1 localhost

این خط به ویندوز می گوید که اگر در مرورگر localhost نوشته شد آن را به IP 127.0.0.1 منتقل کن.
127.0.0.1 یعنی کامپیوتر خود شما.

به طور مثال اگر شما بخواهید هر گاه در مرورگر کلمه ی test زده شد به گوگل اشاره کند می توانید به انتهای فایل رفته و اینتر بزنید و خط زیر را در یک خط جدید به فایل خود اضافه کنید:

172.217.16.206 irib.ir

حالا کافی است مرورگر خود را باز کرده و در نوار آدرس آن irib.ir را نوشته و اینتر بزنید.

خواهید دید که صفحه ی گوگل باز خواهد شد.

چرا که IP 172.217.16.206 مخصوص گوگل است.

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

انجام کارهای موس با صفحه کلید

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


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

1- با فشردن کلید "ویندوز" بر روی صفحه کلید استارت را باز کنید.

2- سپس با کلیدهای جهت نما بر روی Control Panel رفته و با زدن کلید "اینتر" وارد شوید.

3- در این قسمت سمت راست پنجره روی Accessibility Options کلیک کنید. (اگر سمت راست پنجره نمی توانید بروید، کلید Tab را آنقدر بزنید که به سمت راست منتقل گردد.)

4- اینجا دوباره بر روی Accessibility Options کلیک کنید.

نکته: اگر نمایش آیکن های کنترل پنل به صورت کلاسیک می باشد این مرحله را ندارید.

5- در برگه (Tab) مربوط به موس (Mouse) بروید.

6- در اینجا با فشردن کلیدهای Alt و M همزمان آیتم Use MouseKeys انتخاب می شود.

7- با فشردن کلیدهای Alt + A تنظیمات را اعمال کنید.

اکنون صفحه کلید شما کارهای موس را هم انجام خواهد داد. برای این کار با کلیدهای زیر کار می کنید:

قبل از پرداختن به بقیه ی آموزش باید کلید Num Lock روشن باشد. اگر روشن نیست با فشردن این کلید از قسمت سمت راست صفحه کلید آنرا فعال کنید.

کلیدهای 6 و 2 و 4 و 8 برای حرکت دادن مکان نما به راست، پایین، چپ و بالا.

کلیدهای 9 و 3 و 1 و 7 برای حرکت اریب

کلید 5 برای کلیک.

کلید + هم برای کلیک راست.

آموزش برنامه نویسی دلفی (delphi) - ریست کردن برنامه

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


  ShellExecute(Handle, nil, PChar(Application.ExeName), nil, nil, SW_SHOWNORMAL);
  Application.Terminate;


البته می توانید جای دو دستور را با هم جابجا نمایید
دستور بالا را می توانید در هر جایی که نیاز داشتید به کار ببرید تا برنامه شما دوباره راه اندازی گردد.

برنامه نویسی پاسکال (pascal) - توضیحات در پاسکال

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

خب چاره چیست؟

استفاده از توضیحات درون کد.

توضیحات درون کد برای درک بهتر از یک کد می باشد. توضیحات فقط در پروژه های بزرگ و یا تجاری استفاده نمی شوند شما می توانید در هر برنامه ای که می نویسید حتی آنهایی که یک خط کد دارند از توضیحات استفاده نمایید.


توضیحات پاسکال دو نوع می باشد که از یک جفت علامت استفاده می گردد که ابتدا و انتهای توضیحات را نشان می دهند اولین نوع علامتهای (* و *) می باشند و دومین نوع { و } هستند. هر چیزی که بین (* و *) قرار گیرد و یا بین { و } باشد به عنوان توضیح در نظر گرفته می شود.

مثال:

  readln(a, b, c);

{This code checks to see whether they can be the sides of a triangle}

  if (a + b <= c) or (a + c <= b) or (b + c <= a) then
    writeln('false');

در قطعه کد بالا خط دوم توضیح محسوب می گردد.

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


برنامه نویسی دلفی (delphi) - توضیحات در دلفی

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

خب چاره چیست؟

استفاده از توضیحات درون کد.

توضیحات درون کد برای درک بهتر از یک کد می باشد. توضیحات فقط در پروژه های بزرگ و یا تجاری استفاده نمی شوند شما می توانید در هر برنامه ای که می نویسید حتی آنهایی که یک خط کد دارند از توضیحات استفاده نمایید.

در دلفی می توان توضیحات را به فارسی نیز نوشت.

توضیحات در دلفی به دو دسته تقسیم می گردند:

1- توضیحات تک خطی

2- توضیحات چند خطی

در توضیحات تک خطی شما از علامت // استفاده می نمایید که دقیقا مشابه با توضیحات درون برنامه های شبه C می باشد. این توضیحات از این علامت شروع شده و تا انتهای خط ادامه دارد. ( یعنی خط بعدی شامل توضیحات نمی گردد.)

مثال:

// محاسبه ی دلتا در سهمی

delta := b * b - 4 * a * c;

x1 = (-b + sart(delta)) / (2 * a); // این خط ریشه ی اول را محاسبه می کند

در قطعه کد بالا می بینید که اولین خط کلا توضیحات است.

دومین خط یک محاسبه می باشد.

و سومین خط از ابتدا تا // یک فرمول و از // تا انتهای خط توضیحات است.

توضیحات چند خطی دو نوع می باشد که برخلاف توضیحات تک خطی از یک جفت علامت استفاده می گردد که ابتدا و انتهای توضیحات را نشان می دهند اولین نوع از توضیحات چند خطی علامتهای (* و *) می باشند و دومین نوع { و } هستند. هر چیزی که بین (* و *) قرار گیرد و یا بین { و } باشد به عنوان توضیح در نظر گرفته می شود.

مثال:

  readln(a, b, c);

{در این بخش کنترل می گردد که طبق قانون اضلاع مثلث آیا سه مقدار وارد شده می توانند

اضلاع یک مثلث باشند یا خیر}

  if (a + b <= c) or (a + c <= b) or (b + c <= a) then
    writeln('false');

در قطعه کد بالا نیز توضیحات چند خطی را مشاهده می نمایید.

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


برنامه نویسی دلفی (delphi) - حداکثر طول مجاز در یک خط

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

حداکثر تعداد نویسه هایی که در دلفی به کار می برید 1023 نویسه است.

این تعداد نویسه بدون احتساب نویسه های خالی مثل space و tab می باشد.

گرچه در اکثر قریب به اتفاق موارد شما از این تعداد نویسه استفاده نمی کنید اما

در برخی موارد شما طول خط کد خود را کنترل نکرده اید و از این تعداد بیشتر شده است در این صورت کامپایلر خطای معقولی را به شما نمایش نمی دهد و به جای آن از خطاهای بی ارتباط با موضوع استفاده می کند مثلا در زیر یک نمونه را می بینید:

[DCC Error] Unit2.pas(32): E2003 Undeclared identifier: 'stam'

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

برنامه نویسی پاسکال(pascal) - حداکثر طول یک خط

برای برنامه نویسی در هر زبان یک سری محدودیت هایی وجود دارد و حداکثر طول یک خط دستور نیز از همین جمله می باشد.

در زبان پاسکال حداکثر طول مجاز در هر خط بسته به کامپایلر 127 یا 255 کاراکتر می باشد.

چرا باید بدانیم حداکثر طول یک خط چقدر است؟

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

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

آموزش برنامه نویسی - گزینش if else در دلفی و پاسکال

دستورات if را در بخش های گذشته بررسی نمودیم.

حال برسیم به گزینش if … else:

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

بقیه ی دستورات در ادامه ی مطلب

ادامه نوشته

تابع GetTickCount در دلفی

این تابع در یونیت windows به شکل زیر پیاده سازی شده است:

function GetTickCount; external kernel32 name 'GetTickCount';

که از تعریف بالا می شود فهمید این یک تابع درون dll می باشد که با نام kernel32.dll هست.

این تابع در واقع از توابع API ویندوز می باشد که تعریف اصلی آن به شکل زیر می باشد:

DWORD GetTickCount(void);

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

GetTickCount

خروجی این تابع یک عدد کاردینال (Cardinal) می باشد و در واقع زمانی را برمی گرداند که سیستم روشن شده است و این زمان بر اساس میلی ثانیه می باشد.

یعنی اگر در یک فرم یک ادیت و یک دکمه داشته باشیم و در دکمه دستور زیر را بنویسیم:

Edit1.Text := IntToStr(GetTickCount);

مقدار زمانی که سیستم شما روشن شده است بر حسب میلی ثانیه درون ادیت قرار می گیرد.


موارد استفاده:

از این تابع می توان برای فهمیدن مقدار زمان لازم برای انجام یک کد استفاده نمود به شکل زیر:

var
  Time1, Time2: Cardinal;
begin
  Time1 := GetTickCount;
  // Your statements
  Time2 := GetTickCount;
  Time2 - Time1;


همچنین برای فهمیدن اینکه برنامه ی شما چه مقدار زمانی در حال اجرا بوده است.

برای اطلاعات بیشتر می توانید به لینک زیر مراجعه نمایید:

تابع GetTickCount