TStrings چیست ؟
TStrings کلاسی است برای نگهداری مجموعه ای از رشته ها همراه با Index و شماره مخصوص هر رشته که امکان ویرایش و دسترسی آسان آنها را فراهم میکند ، علاوه بر این میتوان در یک TStrings ، یک Object وابسته به یک رشته را نیز ثبت کرد و از آن استفاده نمود ...
ثبت اطلاعات در یک TStrings :
برای ثبت اطلاعات در یک کلاس TStrings ابتدا باید آن را Create کرده و سپس از متدهایی مثل Add ، AddObject و ... استفاده نماییم ...
Create کردن یک TStrings :
با استفاده از متد Create میتوانیم یک TStrings ایجاد نماییم :
var
Strings : TStrings;
begin
Strings := TStrings.Create;
end;
زمانی كه شما از حلقه ها یا همان Loop در برنامه خود استفاده می كنید
در برخی مواقع شاید لازم باشد كه كاربر بتواند این حلقه را در هر لحظه ای متوقف سازد. در اكثر برنامه های دیده شده این عمل انجام نمی شود و كاربر باید زمان طولانی برای رسیدن به آخر حلقه صبر كند.
به طور مثال فرض كنید برنامه شما می خواهد یك سری اعداد اتفاقی تولید كند و به كاربر نمایش دهد. تعداد این اعداد شاید به صدهزار عدد برسد. حال فرض كنید حلقه ای بسازید كه برای كاربر ، این اعداد را یكی یكی نشان دهد.
شاید كاربر شما در حین كار خسته شود و بخواهد این عمل را لغو كند. اما اگر به صورت معمول این حلقه را اجرا كنید ، وی مجبور است تا انتهای حلقه صبر كند و این كار بسیار خسته كننده ای می باشد.
این بدان خاطر است كه دلفی ، دستورات را یكی پس از دیگری اجرا می كند.یعنی تا زمانی كه حلقه مذكور تمام نشود ، دلفی دستور بعدی را اجرا نمی كند.
اما را حل چیست ؟ آیا راهی وجود دارد كه به كاربر اجازه دهد تا عملیات را در هر زمانی لغو كند ؟
جواب این سوال در استفاده از دستور ProcessMessages خلاصه می شود. به كار بردن این دستور باعث می شود تا دلفی متوجه باشد كه دیگر دستورات برنامه را حین عملیات زیر نظر بگیرد و آنها را اجرا كند.
به طور مثال با به كار بردن این دستور ، دلفی می تواند فشار دادن یك كلید توسط كاربر را هنگام اجرای حلقه متوجه شود و آن را اجرا كند.
اما در صورتی كه از این دستور استفاده نكنیم ، دلفی فشاردادن كلید را متوجه می شود ، اما صبر می كند تا حلقه تمام شود و سپس دستورات بعدی را اجرا می كند.
برچسب ها:بررسی فشردن كلید توسط كاربر در هنگام اجرای یك حلقه، دلفی، delphi، برنامه نویسی،در این مقاله یاد خواهید گرفت که چگونه با استفاده از کد نویسی در دلفی Activex یا dll مورد نیاز برنامه خود را در دستگاه کاربرانتان نصب کنید.
برای رسیدن به این هدف از دستور regsvr32.exe استفاده می کنیم.
این دستور یکی از دستورات ویندوز است که برای رجیستر کردن Activex یا dll ها بکار می رود.
خط فرمان این دستور به شکل زیر می باشد.
Regsvr32 [/u] [/s] [/n] [/i[:cmdline]] dllname
/s - در موقع نصب هیچ پیام یا پنجره ای نمایش نده
/u - حذف فایل
Regsvr32 [/u] [/s] [/n] [/i[:cmdline]] dllname
/s - Silent; display no message boxes
/u - Unregister server
/i - Call DllInstall passing it an optional [cmdline];
when used with /u calls dll uninstall
/n - do not call DllRegisterServer; this option must
be used with /i
ما با استفاده از این دستور ویندوز و کد دلفی زیر می توانیم به نتیجه مورد نظر خود برسیم.
procedure RegisterOCX;
type
TRegFunc = function : HResult; stdcall;
var
ARegFunc : TRegFunc;
aHandle : THandle;
ocxPath : string;
begin
try
ocxPath := ExtractFilePath(Application.ExeName) + 'Flash.ocx';
aHandle := LoadLibrary(PChar(ocxPath));
if aHandle <> 0 then
begin
ARegFunc := GetProcAddress(aHandle,'DllRegisterServer');
if Assigned(ARegFunc) then
begin
ExecAndWait('regsvr32','/s ' + ocxPath);
end;
FreeLibrary(aHandle);
end;
except
ShowMessage(Format('Unable to register %s', [ocxPath]));
end;
end;
فایل های .INI دارای ساختاری بر اساس فایلهای متنی هستند و برای نگهداری اطلاعات پیکر بندی برنامه های کاربردی استفاده میشوند که هم براحتی بوسیله ما قابل ویرایش هستند و هم بوسیله یک ساختار ساده در هر برنامه ساده قابل دسترسی هستند .
بدلیل اینکه ویندوز داری Registry هست کسانی که از ویندوز استفاده میکنند آشنایی کمی با فایلهای .ini دارند ولی در ویندوز هنوز هم از فایلهای .ini استفاده میشود. مثل Win.ini و System.ini . ویندوز از این فایلها برای ذخیره اطلاعات مهمی از جمله اطلاعات پیکربندی استفاده میکند که براحتی قابل پاک شدن ، ویرایش و دیدن هستند. بسیاری از برنامه های تحت ویندوز برای ذخیره اطلاعات پیکربندی خود از Registry استفاده میکنند در حالیکه استفاده از فایلهای .ini هم سریعتر و هم ایمن تر است . یک مثال ساده برای استفاده از فایلهای .ini ذخیره اندازه ، حالت و موقعیت فرم برنامه شماست . بطور کلی هر چیزی که شما در رجیستری ذخیره میکنید میشود در فایلهای .ini ذخیره کرد .
ساختار فایلهای .ini
فایلهای .ini نوعی فایل متنی هستند که به بخشهای محدود به 64 کیلو بایت (Section) تقسیم شدند که هر بخش میتواند دارای چند کلید (Key) باشد و هر کلید میتواند دارای صفر یا چند مقدار (Value) باشد . مثال:
[SectionName]
keyname=value
;comment
keyname=value
نام هر بخش درون کروشه قرار گرفته و در باید در خط اول هر بخش قرار داشته باشد . نام بخشها و نام کلیدها نمیتوانند کاراکتر فاصله داشته باشند. بعد از نام کلیدها علامت = قرار میگیرد که میتواند قبل و بعد از آن کاراکتر فاصله قرار بگیرد . اگر بخشهایی با نام یکسان در یک فایل یا کلیدهایی با نام یکسان در یک بخش قرار داشته باشند مقدار آخر بر بقیه مقدارهای یکسان غالب است .
یک کلید میتواند دارای مقادیری از نوعهای String , Integer , Boolean باشد. دلفی از فایلهایINI در خیلی وضعیتها استفاده میکند. برای مثال فایلهای .SDK نوعی فایل هستند مانند ini ها .
برچسب ها:فایل ini دلفی 7 خوندن،این هم یک سری توابع مثلثاتی برای دلفی
تانژانت:
///////////////////////tan///////////////////
function tan(num:extended):extended;
begin
tan:=sin(num)/cos(num);
end;
کتانژانت:
//////////////////////cot///////////////////////////
function cot(num:extended):extended
begin
cot:=1/(sin(num)/cos(num));
end;
ارک سینوس:
///////////////////////arcsin///////////////////////
function arcsin(num:extended):extended;
begin
if num=1 then
arcsin:= arctan(1)*2
else
if num=-1 then
arcsin:=-(arctan(1)*2)
else
arcsin:=arctan(num/(sqrt(1-sqr(num))));
end;
برای نوشتن یک Service Application که بتواند هر 30 ثانیه یک پیغام نشان دهد:
ابتدا از منوی file گزینه New را انتخاب کرده و سپس روی گزینه Other کلیک کنید
بعد در پنجره باز شده از سربرگ New گزینه ServiceApplication را انتخاب کنید.
با انجام این کار یک کلاس با نام TService1 ایجاد می شود که می توانید با قرار دادن هر شیء مورد دلخواه بر روی فرم آن برنامه خود را بنویسید.
برای برنامه ما از سربرگ System یک Timer بر روی سرویس گذاشته و خاصیت Interval آن را 30000 بگذارید.
حال در رویداد OnTimer کد زیر را بنویسید:
Showmessage('My Service is worked currently');
خاصیت DisplayName مربوط به Service1 را به MyTstSrv تغییر دهید.
این نام بعد از اجرای سرویس در لیست سرویسها ظاهر می شود.خاصیت Interactive مربوط به Service1 را به True تغییر دهید.در رویداد OnExecute مربوط به Service1 کد زیر را بنویسید:
while not Terminated do
ServiceThread.ProcessRequests(True);// wait for termination
حال موقع نصب سرویس بر روی ویندوز رسیده است.
برای اینکار باید برنامه را با پارامترinstall/ اجرا کنید. پس در دلفی به منوی Run رفته و روی گزینه Parameters کلیک کنید. در این پنجره در کادر مربوط به Parameters عبارتinstall/ را تایپ کنید و روی Ok کلیک کنید. حال برنامه را اجرا کنید. اگر همه مراحل را بدرستی انجام داده باشید پیغام Service installed successfully ظاهر می شود.حال باید به لیست سرویسهای ویندوز بروید و سرویس خود را Start کنید. (این سرویس می تواند با restart شدن ویندوز نیز Start شود) برای این کار به Control Panel رفته و پنجره Administrative Tools را باز کنید. در این پنجره روی گزینه Services دابل کلیک کنید. با انجام این کار یک پنجره باز می شود که نام تمامی سریسهای نصب شده برروی ویندوز وجود دارند. نام MyTstSrv را پیدا کرده و روی آن کلیک راست کنید و سپس گزینه Start را انتخاب کنید. با انجام این کار سرویس شما Start شده و باید هر 30 ثانیه یکبار پیام شما را نمایش دهد.
برای حذف کردن سرویس از روی ویندوز باید برنامه را با پارامتر Uninstall/ اجرا کنید. با انجام این کار پیام Service Uninstalled Successfully ظاهر می شود.
برچسب ها:نوشتن یک Service Application که بتواند هر 30 ثانیه یک پیغام نشان دهد، دلفی dephi،
كار با TStrings در دلفی 7
بررسی فشردن كلید توسط كاربر در هنگام اجرای یك حلقه
رجیستر کردن Activex یا Dll در دلفی
فایل های INI در دلفی
تابع های مثلثاتی در دلفی 7
نوشتن یک Service Application که بتواند هر 30 ثانیه یک پیغام نشان دهد
drag & drop کردن لیست باکس ها Listbox و ( image1 توی image2)
بررسی فشردن كلید توسط كاربر در هنگام اجرای یك حلقه
نوشتن یک Service Application که بتواند هر 30 ثانیه یک پیغام نشان دهد
ارسال و دریافت فایل بدون اتصال به اینترنت
جنگ نرم؛ تبیین مفهومی، پیشینه تاریخی و تاكتیكها
بعد از مرگ چه اتفاقی برای زندگی آنلاین ما خواهد افتاد؟
سیستم عامل بعدی کامپیوترها(ماکروسافت)
کم هزینه ترین و بهترین لذت های دنیا
• نقش فن آورى اطلاعات در مدیریت ریسك
دلایل اهمیت وب سایت در تجارت الکترونیک
مهارت های برقراری ارتباط
برقراری ارتباط با افراد مشكلدار
۹ مشخصه ای که یک وب سایت نباید داشته باشد !
تمام کلیدهای میانبر موجود در آفیس
ترفندهای مفید در نرم افزار WORD
معرفی 4 دارنده ابرحافظه درجهان!
چرا ایرانی ها از محصولات اپل فراری هستند ؟!
هر آنچه که می خواهید درباره هارد دیسک بدانید
دیوار صوتی چیست?
مهندسی هوا فضا چیست؟
کاوشگر ونوس اکسپرس
تاریخچه هستی
اشیاء ناشناخته فضایی, دروغ یا حقیقت؟
روشن شدن کامپیوتر در 10 ثانیه
لیست آخرین پستها