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

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

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

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

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

سرتون درد نیارم , بعد از امتحان بیشتر دوستان خوشحال بودند که به سوالات جواب دادن و حداقل ۱۵ , 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 توسط نوید مردوخ روحانی | لینک کامل مطلب

چند تا عکس ... !!
سلام.

اینم چند تا عکس برای تنوع :

1- عجب عکسی !!

2- اینجا چه خبره !!!

3- این دیگه چیه ؟؟

4- این خیلی قشنگه ..

برای بزرگ شدن , عکس ها روشون کلیک کنید .

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


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

فرم شفاف
این تابع رو کپی و در بعد از :

implementation

{$R *.dfm}

کپی کنید.

کد تابع :

procedure TranparentForm(Form:Tform;HaveCaption,HaveMenu:Boolean);
var
  frmRegion,
  tempRegion:HRGN;
  i:Integer;
  Arect:Trect;
begin
  frmRegion:=0;
  For i:=0 to Form.controlcount -1 do
  begin
    Arect:=Form.controls[i].BoundsRect;
    Offsetrect(Arect,Form.ClientOrigin.x-Form.left,Form.ClientOrigin.y-Form.top);
    tempRegion:=CreateRectRgnIndirect(Arect);
    if frmRegion=0 then
    begin
      frmRegion:=tempRegion;
    end
    else
    Begin
      CombineRgn(frmRegion,frmRegion,TempRegion,RGN_OR);
      DeleteObject(tempRegion);
    end;
  end;
  tempRegion:=0;
  If HaveCaption and HaveMenu then
    tempRegion:= CreateRectRgn(0,0,Form.Width,
                  GetSystemMetrics(SM_CYCAPTION)+
                  GetSystemMetrics(SM_CYSIZEFRAME)+
                  GetSystemMetrics(SM_CYMENU)*ORD(Form.Menu<>nil));
  If (HaveCaption=false) and HaveMenu then
    tempRegion:= CreateRectRgn(0,GetSystemMetrics(SM_CYCAPTION)
   +GetSystemMetrics(SM_CYSIZEFRAmE),Form.Width,
                  (GetSystemMetrics(SM_CYSIZEFRAmE)+GetSystemMetrics(SM_CYMENU)
     *ORD(Form.Menu<>nil))+GetSystemMetrics(SM_CYCAPTION));
  If HaveCaption and (HaveMenu=false) then
    tempRegion:= CreateRectRgn(0,0,Form.Width,
                  GetSystemMetrics(SM_CYCAPTION)+
                  GetSystemMetrics(SM_CYSIZEFRAmE));
  If (HaveCaption=false) and (HaveMenu=false) then
    tempRegion:= CreateRectRgn(0,0,Form.Width,0);

  CombineRgn(frmregion,frmregion,tempregion,rgn_or);
  Deleteobject(tempregion);
  setwindowrgn(Form.handle,frmregion,true);
end;

حالا در رویداد FormCreate فرمتون به این صورت اون تابع رو فراخونی کنید .

procedure TForm1.FormCreate(Sender: TObject);
begin
TranparentForm(Form1,false,false);
end;

پارامتر ها هم که واضح هست.

موفق باشید.

برگرفته از برنامه نویس .


نوشته شده در پنجشنبه پنجم خرداد 138416:14 توسط نوید مردوخ روحانی | لینک کامل مطلب

تبدیل فرم برنامه به full screen
سلام .

شما در اول باید خصوصیت Borderstyle رو برابر bsNone قرار بدید .

بعد در رویداد Event  FormShow ) این کد رو قرار بدید .

procedure TSomeForm.FormShow(Sender: TObject) ;
var
   r : TRect;
begin
   Borderstyle := bsNone;
   SystemParametersInfo
      (SPI_GETWORKAREA, 0, @r,0) ;
   SetBounds
     (r.Left, r.Top, r.Right-r.Left, r.Bottom-r.Top) ;
end;

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

امید وارم خوشتون اومده باشه .


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

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

کد تابع :

function KillApp(const sCapt: PChar) : boolean;
  var AppHandle:THandle;
begin
  AppHandle:=FindWindow(Nil, sCapt) ;
  Result:=PostMessage(AppHandle, WM_QUIT, 0, 0) ;
end;

 نحوه استفاده اون هم به این صورت هست :

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

کد استفاده از تابع :

if not KillApp('Window caption') then
  ShowMessage('App not closed') ;

و البته شما باید به جای کلمه  "windows caption" عنوان پنجره(برنامه )مورد نظرتون رو وارد کنید.

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

اگر هم سوالی در این ضمینه داشتید و یا به تابع خاصی نیاز داشتید می تونید بگید .

انشا الله براتون پیدا می کنم .

در آخر هم بگم که من توابع رو که اینجا می نوسم از سایت های مثل About.com بر می دارم .

و در ضمن هر گونه کپی برداری از مطالب بلاگ غیر مجاز است مگر با

 ذکر آدرس این  بلاگ(http://www.delphii8.blogfa.com) .


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

یاهو مسنجر 7
سلام.

گفتم حیفه این یاهو مسنجر 7 رو براتون نزارم .

این لینک مسقیم : http://download.yahoo.com/dl/msgr7/us/ymsgr7_242_us.exe

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

آموزش دلفی
سلام.

من تا چند وقت پیش تو پرشین بلاگ می نوشتم , اما به علت سرعت بسیار پایین اونجا به اینجا نقل مکان کردم. (بلاگ قدیمی)

البته موضوع کاریم هم تغییر کرده و در اینجا می خوام آموزش دلفی رو شروع کنم .

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

پس فعلا خدانگهدار .
نوشته شده در یکشنبه یکم خرداد 13849:14 توسط نوید مردوخ روحانی | لینک کامل مطلب


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

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