تبليغاتX
.: Delphii8 Blog :.
خانه - ارتباط با ما
.: .: Delphii8 Blog :. :.
آموزش دلفی
 
مقرر جدید
سلام.

من از اینجا نقل مکان کردم .

مقرر جدید من MNavidM هست

کاریم داشتید , می تونید اونجا پیدام کنید.

موفق باشید.


نوشته شده در یکشنبه بیست و سوم مرداد 138412:38 توسط نوید مردوخ روحانی | لینک کامل مطلب

تغییر خصوصیات فایل
سلام.

توسط  تابع زیر می تونید خصوصیتات یک فایل رو تغییر بدید :

 
 FileSetAttr(filepath, type);

به جای filepath باید مسیر فایل رو بنویسید.

و به جای type هم می تونید از مقادیر زیر استفاده کنید.

 
  faReadOnly
  faHidden    
  faSysFile   
  faVolumeID  
  faDirectory 
  faArchive   
  faAnyFile   

 

 

 

 

مثلا برای تغییر خصوصیات فایل  Autoexec.bat به حالت مخفی و فقط خواندنی :

 

FileSetAttr('C:\Autoexec.bat', faReadOnly + faHidden);

 

 

تموم شد .

اگر سوالی بود بگید


نوشته شده در دوشنبه ششم تیر 138412:28 توسط نوید مردوخ روحانی | لینک کامل مطلب

بازکردن پنجره ی Task manager
سلام.

در قمست uses این رو اضافه کنید .

ShellApi

 

و تو یه Button این کد رو قرار بدید.

 
ShellExecute (HWND(nil), 'open', 'taskmgr',
 '', '', SW_SHOWNORMAL);

 

تموم شد

حالا برنامه اجرا کنید و بعد روی کلمه کلیک کنید.

اگه سوالی بود بگید.


نوشته شده در دوشنبه ششم تیر 138412:0 توسط نوید مردوخ روحانی | لینک کامل مطلب

بدون ScreenSaver
سلام.


اگر می خواید وقتی برنامه شما اجرا هست , ScreenSaver اجرا نشه


به صورت عمل کنید :


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


TForm1 = class(TForm)


شما این کد رو قرار بدید :


procedure AppMessage( var Msg : TMsg; var bHandled : boolean );


و این کد رو هم در پایین تر از {$R *.dfm} قرار بدید :






procedure TForm1.AppMessage( var Msg : TMsg; var bHandled : boolean );


begin


if((WM_SYSCOMMAND = Msg.Message) and (SC_SCREENSAVE = Msg.wParam) )then


bHandled := True;


end;


تموم شد .


اگه سوالی بود بگید.


نظر یادتون نره .


راستی اگه کدی خاصی هم می خواستید بگید.


نوشته شده در چهارشنبه یکم تیر 138410:41 توسط نوید مردوخ روحانی | لینک کامل مطلب

کد برنامه دلفی شما به زبان اسمبلی
سلام.
بالاخره امتحانات تموم شد و دوباره به نوستن کد های دلفی می پردازیم.
امروز چند تا آموزش می زارم.
کد برنامه دلفی شما به زبان اسمبلی :
اگه برنامه دلفی رو از قبل باز کردید اون رو ببنید .
به منوی Run (از Start) برید بنویسید : regedit
بعد به این مسیر برید : HKEY_CURRENT_USER\Software\Borland\Delphi\7.0\Debugging
و در پنجره سمت راست کلیک راست کنید و از منوی New گزینه String value رو انتخاب کنید.
اسم اون رو  EnableCPU بزارید و مقدارش رو 1 کنید.
حالا رجستری رو ببندید و بعد دلفی رو اجرا کنید.
به منوی View برید و Debug Menu رو انتخاب کنید می بینید در آخر 2 گزینه برای این منظور ایجاد شده.
برای استفاده به این صورت عمل کنید.
برای Debug برنامه کلید F8 رو بزنید و بعد به منوی View / Debug Menu / Cpu رو انتخاب کنید.
حال می بینید که پنجره باز میشه که دستورات دلفی شما رو به صورت کد اسمبلی نوشته , برای ادامه کد از همون F8 استفاده کنید.
اگر سوالی بود بپرسید.

نوشته شده در چهارشنبه یکم تیر 138410:16 توسط نوید مردوخ روحانی | لینک کامل مطلب

ای خدا ....
سلام.

چی بگم , که حالم گرفتس ....

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

چند روز پیش امتحان مبانی الکترونیک داشتیم , هم سوال ها آسون بود و هم برای سوال ها نمره های زیاد در نظر گرفته شده بود .

البته یکی از سوالات که بصورت مسله بود ۴.۵ نمره داشت که البته جوابش هم ۲ صفحه و نیم شد ...

سرتون درد نیارم , بعد از امتحان بیشتر دوستان خوشحال بودند که به سوالات جواب دادن و حداقل ۱۵ , 16 میگیرن ...

منم به نظر خودم حداقل ۱۸ میگرفتم .

....

سه شنبه استادمون به چند تا از بچه ها گفته بود که فردا چهارشنبه بیاد دانشگاه , تا هم نتیجه امتحان رو براتون بگم و هم اگه کسی نمره ش کم بود یه پروژه بهش بدم که انجام بده و یه مقدار بهش نمره بدم .(استاد گفته بود چهارشنبه بین ساعت ۱۰:۳۰ تا ۱۱ صبح بیاد )

هیچی دیگه ما هم فرداش (چهارشنبه) رفتیم اما از استاد خبری نبود ... (ما از ساعت ۱۰ تا ۱۱:۱۵ اونجا بودیم)

حالا اصل ماجرا :

چشمتون روز بد نبینه : امروز امتحان زبان داشتم و وقتی اومدیم امتحان بدیم , دیدیم که نتیجه امتحان مبانی الکترونیک رو اعلام کردن .

بابام جان ۸۰٪ بروبچ زیر ۱۰ گرفته بودند از جمله ۲.۵و ۳ و ۱.۷۵و ۵ و ۷.۷۵ و ...

من بیچاره هم ۱۲.۲۵  و چند نفری هم تو همین حدود , کلا ۵ نفر بالا ۱۰ داشتیم.

چی می خواستیم چی شد ..... ۱۸ که من میگفتم کجا ۱۲ کجا ....

اما یه چیزی عجیب بود این وسط : یکی از بچه ها ۱۸.۵ شده بود  

دیگه جریان چی بود من بی خبرم.

دعا کنید , خدا بهمون صبر بده  


نوشته شده در شنبه بیست و هشتم خرداد 138418:44 توسط نوید مردوخ روحانی | لینک کامل مطلب

عجب اوضاعیه ...
سلام.

امروز امتحان ریاضی عمومی داشتم . و یه جریان پیش اومد که براتون میگم .

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

بعد حالا وقت امتحانات درست , تاریخ ریاضی عمومی و پیش یکی شد . حتی ساعتش

هیچی دیگه , تو این فکر بود که سر کدوم امتحان بره ...

وقتی رفت سر جلسه , ورقه هر دو امتحان رو باهم بهش دادن

اون که این وسط کلی گیج شده بود این راه به نظرش رسید یه سوال از این یه سوال از اون ..... پاسخ میداد ...

اینم وضعیت ما در وقت امتحانات

البته یه چیزی بگم , خداییش چه قدر امتحان ریاضی پیش ساده بود , این ریاضی عمومی ۱۰۰ برابرش سخت بود ...

حالمونو گرفت ...


نوشته شده در شنبه بیست و یکم خرداد 138413:22 توسط نوید مردوخ روحانی | لینک کامل مطلب

متغیر ها در دلفی
سلام.

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

۱- لطفا اگه لطف کردید و نظر نوشتن در آخرین (بالاترین) ارسل نظرتون رو بنویسید.

۲- یه دوستمون به اسم سعید . نظر نوشته بودند اما آدرس سایتشون رو نداده بودند .

۳- آذر خانم ممنون بخاطر اون کد . در همون زمینه یه مقاله دارم . در اولین فرصل اینجا می نویسمش .

۴- هیچی . دیگه حرفی نمونده !!!

و اینم اصل کاری :

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

Windows Data Type Object Pascal Data Type Description

LPSTR

PAnsiChar

اشاره گر رشته
LPCSTR PAnsiChar اشاره گر رشته
DWORD Longword عدد کامل
BOOL LongBool مقدار بولي
PBOOL ^BOOL اشاره گر به مقدار بولي
PByte ^Byte اشاره گر به مقدار بايت
PINT ^Integer اشاره گر به مقدار صحيح
PSingle ^Single اشاره گر به مقدار مميز شناور
PWORD ^Word اشاره گر به مقدار 16 بيتي
PDWORD ^DWORD اشاره گر به مقدار 32 بيتي
LPDWORD PDWORD اشاره گر به مقدار 32 بيتي
UCHAR Byte مقدار 8 بيتي
PUCHAR ^Byte اشاره گر به مقدار 8 بيتي
SHORT SmallInt عدد کامل 16 بيتي با علامت
UNIT Longword عدد کامل 32 بيتي بيعلامت
PUNIT ^UNIT

اشاره گر به مقدار عدد کامل 32 بيتي بيعلامت

ULONG Cardinal عدد کامل 32 بيتي بيعلامت
PULONG ^ULONG

اشاره گر به مقدار عدد کامل 32 بيتي بيعلامت

PLongint ^Longint اشاره گر به مقدار 32 بيتي
PInteger ^Integer اشاره گر به مقدار 32 بيتي
PSmallInt ^SmallInt اشاره گر به مقدار 16 بيتي
PDouble ^Double اشاره گر به مقدار دابل
LCID DWORD شناسه محلي
LANGID Word شناسه زبان

البته بیشتز از اینهاست , اما بقیش رو بعدا می نویسم

موفق باشید.


نوشته شده در سه شنبه هفدهم خرداد 13840:8 توسط نوید مردوخ روحانی | لینک کامل مطلب

SVCHOST.EXE چیست ؟؟
سلام.

آه ...

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

و اینم اصل مطلب :

در ویندوز های Xp به بالا وقتی شما کلید های Ctrl+Alt+Del رو میزنید در منوی Prosess شاهد برنامه های اجرا شده در سیستمتون هستید

اما یکی از اون ها چند بار اجرا شده , که این یه مقدار مشکوک به توجان یا ویروس هست که اسمش SVCHOST.EXE هست .

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

نامی عمومی برای پروسسهائی است که از طریف DLL ها و یا از داخل آنها اجرا می شوند.
اطلاعات بیشتر:

فایل Svchost.exe که در پوشه %SystemRoot%\System32 قرار دارد در هنگام آغاز اجرای ویندوز قسمت services رجیستری رو چک میکنه و لیستی از سرویسهائی که باید اجرا شوند رو ایجاد می کنه.موارد متعددی از Svchost می تونن همزمان با هم اجرا بشن که هر کدوم از اونا شامل گروهی خاص از سرویسها می شود.پس بهمین دلیل سرویسهای جداگانه می تونن همزمان و فارغ از اینکه Svchost کی اجرا شده به هم اجرا بشن و روند بالا آمدن ویندوز تسریع بشه.در ضمن این شیوه گروه بندی سرویسها باعث ایجاد کنترل بهتر و Debug سریعتر می شود.

گروههای Svchost.exe در این کلید رجیستری معرفی می شوند:

HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\Cu rrentVersion\Svchost
هر Value که در زیر این شاخه ایجاد شده باشه بیانگر یک گروه جداگانه Svchost می باشد و هنگامی که شما task Manger رو نگاه می کنید برای خودش گروه جداگانه ای ایجاد می کند.
هر کدام از این value ها دارای ارزش REG_MULTI_SZ هستند و شامل اطلاعات سرویسها و process هائی هستند که که در زیر این شاخه از Svchost اجرا می شن.
هر کدام از گروههای Svchost می تونن شامل یک یا چند سرویس باشند که از کلید زیر در رجیستری Extract می شوند که پارامترهای اونا شامل یک ServiceDLL Value می باشد.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es\Service
برای درک بهتر Svchost و دیدن سرویسهائی که هم اکنون از Svchost استفاده می کنن این مراحل رو انجام بدین:

از منوی Start ----Run رو اجرا کنید و تایپ کنین cmd
ودر پای prompt بنویسید:Tasklist /SVC و Enter رو فشار بدین.
فرمان Tasklist لیستی از پروسسهای در حال اجرا تهیه می کنه و سوئیچ /SVC هم لیستی از زیر پروسسهای هر گروه رو ایجاد می کنه .برای دریافت اطلاعات بیشتر راجع به هر پروسس فرمان رو بصورت زیر تایپ کنین:
Tasklist /FI "PID eq processID" که بجای PID eq processID باید پروسس مورد نظر خودتون رو بنویسین.مثال زیر مواردی از پروسسهای تحت Svchost رو نشون می ده که همونطور که می بینین خیلی از فعالیتهای حیاتی ویندوزتون رو هم شامل میشه:

Image Name PID Services
================================================== ======================
System Process 0 N/A
System 8 N/A
Smss.exe 132 N/A
Csrss.exe 160 N/A
Winlogon.exe 180 N/A
Services.exe 208 AppMgmt,Browser,Dhcp,Dmserver,Dnscache,
Eventlog,LanmanServer,LanmanWorkstation,
LmHosts,Messenger,PlugPlay,ProtectedStorage,
Seclogon,TrkWks,W32Time,Wmi
Lsass.exe 220 Netlogon,PolicyAgent,SamSs
Svchost.exe 404 RpcSs
Spoolsv.exe 452 Spooler
Cisvc.exe 544 Cisvc
Svchost.exe 556 EventSystem,Netman,NtmsSvc,RasMan,
SENS,TapiSrv
Regsvc.exe 580 RemoteRegistry
Mstask.exe 596 Schedule
Snmp.exe 660 SNMP
Winmgmt.exe 728 WinMgmt
Explorer.exe 812 N/A
Cmd.exe 1300 N/A
Tasklist.exe 1144 N/A

تنظیمات رجیستری برای مثال بالا به صورت زیر می باشد:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost:
Netsvcs: Reg_Multi_SZ: EventSystem Ias Iprip Irmon Netman Nwsapagent Rasauto Rasman Remoteaccess SENS Sharedaccess Tapisrv Ntmssvc
RApcss :Reg_Multi_SZ: RpcSs



منبع : p30world

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

آیا به اینترنت وصل هستید یا نه ؟
سلام.

توسط این تیکه کد , تو دلفی می تونید بفهمید آیا به اینترنت وصل هستید یا نه ؟

اول باید یه Button روی فرمتون قرار بدید بعد کد زیر رو در رویداد Click اون کپی کنید.

procedure TForm1.Button1Click(Sender: TObject) ;
function FuncAvail(_dllname, _funcname: string;
var _p: pointer): boolean;
{return True if _funcname exists in _dllname}
var _lib: tHandle;
begin
Result := false;
if LoadLibrary(PChar(_dllname)) = 0 then exit;
_lib := GetModuleHandle(PChar(_dllname)) ;
if _lib <> 0 then begin
_p := GetProcAddress(_lib, PChar(_funcname)) ;
if _p <> NIL then Result := true;
end;
end;

{
Call SHELL32.DLL for Win < Win98
otherwise call URL.dll
}
{button code:}
var
InetIsOffline : function(dwFlags: DWORD):
BOOL; stdcall;
begin
if FuncAvail('URL.DLL', 'InetIsOffline',
@InetIsOffline) then
if InetIsOffLine(0) = true then
ShowMessage('Not connected')
else
ShowMessage('Connected!') ;
end;

 

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

موفق باشید .


نوشته شده در دوشنبه نهم خرداد 138417:34 توسط نوید مردوخ روحانی | لینک کامل مطلب


میگن : آموزش دلفی !!!!

عجبا ... مگه دلفی هم آموزش می خواد :D
آرشیو مطالب:
مرداد 1384
تیر 1384
خرداد 1384
  RSS