• ¡Welcome to Square Theme!
  • This news are in header template.
  • Please ignore this message.
مهمان عزیز خوش‌آمدید. ورود عضــویت


امتیاز موضوع:
  • 9 رای - 3 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
Title: (کدها ومثالها و ترفندهای دلفی)
حالت موضوعی
#1
نوشتن یک لیبل بصورت مورب
[عکس: 1448682-14c]
کد:
procedure TForm1.Button1Click(Sender: TObject);

begin

   AngleTextOut(Form1.Canvas,12,10,65,'Advanced Delphi Technicals !!');

end;



procedure AngleTextOut(ACanvas: TCanvas;Angle,X,Y: Integer;Str: string);

var

   LogRec : TLogFont;

   OldFontHandle,NewFontHandle :HFONT;

begin

   GetObject(ACanvas.Font.Handle,SizeOf(LogRec),Addr(LogRec));

   LogRec.lfEscapement := Angle * 10;

   NewFontHandle := CreateFontIndirect(LogRec);

   OldFontHandle := SelectObject(ACanvas.Handle,NewFontHandle);

   ACanvas.TextOut(X,Y,str);

   NewFontHandle := SelectObject(ACanvas.Handle,OldFontHandle);

   DeleteObject(NewFontHandle);

end;

نوشتن کپشن یک دکمه در چند سطر
[عکس: 1448800-516]
کد:
procedure TForm1.FormCreate(Sender: TObject);

begin

SetWindowLong(Button1.Handle,GWL_STYLE,GetWindowLong(Button1.Handle,GWL_STYLE) OR BS_MULTILINE);

end;
مخفی کردن و نمایش مجدد ساعت ویندوز
کد:
procedure TForm1.Button1Click(Sender: TObject);

var

hn : HWND;

begin

hn:= FindWindowEx(FindWindowEx(FindWindow('Shell_TrayWnd',nil),0,

        'TrayNotifyWnd',nil),0,'TrayClockWClass',nil);

if hn <> 0 then

  ShowWindow(hn,SW_HIDE);

end;


برای نمایش مجدد همان کدهای بالا تکرار کرده و لی بجای سطر آخر کد زیر را قرار دهید:
کد:
ShowWindow(hn,SW_SHOW);

نمایش تمامی اطلاعات مربوط به حافظه اصلی کامپیوتر (RAM)



یک Memo و یک دکمه روی فرم قرار داده و کد زیر را برای دکمه بنویسید:
کد:
procedure TForm1.Button1Click(Sender: TObject);

var

MemorysStatus: TMemoryStatus;

begin

  Memo1.Lines.Clear;

  MemorysStatus.dwLength := SizeOf(MemorysStatus);

  GlobalMemoryStatus(MemorysStatus);

  with MemorysStatus do

  begin

    Memo1.Lines.Add(IntToStr(dwLength) + ' Size of Memory Status record');

    Memo1.Lines.Add(IntToStr(dwMemoryLoad) + '%  Memory in use');

    Memo1.Lines.Add(IntToStr(dwTotalPhys) + ' Total Physical Memory in Bytes');

    Memo1.Lines.Add(IntToStr(dwAvailPhys) + ' Available Physical Memory in Bytes');

    Memo1.Lines.Add(IntToStr(dwTotalPageFile) + ' Total Bytes of Paging File');

    Memo1.Lines.Add(IntToStr(dwAvailPageFile) + ' Available Bytes in Paging File');

    Memo1.Lines.Add(IntToStr(dwTotalVirtual) + ' User Bytes of Address Space');

    Memo1.Lines.Add(IntToStr(dwAvailVirtual) + ' Available User Bytes of Address Space');

  end;

end;
غیرفعال کردن دکمه خروج فرم (Exit)
[عکس: 1448749-87e]
کد:
procedure TForm1.FormCreate(Sender: TObject);

var

   hwndHandle : THANDLE;

   hMenuHandle : HMENU;

   iPos : Integer;

begin

   hwndHandle := FindWindow(nil,PChar(Caption));

   if (hwndHandle <> 0) then

   begin

      hMenuHandle := GetSystemMenu(hwndHandle,false);

      if (hMenuHandle <> 0 ) then

      begin

        DeleteMenu(hMenuHandle,SC_CLOSE,MF_BYCOMMAND);

        iPos := GetMenuItemCount(hMenuHandle);

        Dec(iPos);

        if iPos > -1 then

          DeleteMenu(hwndHandle,iPos,MF_BYPOSITION);

      end;

   end;

End;
گروه دور همی پارسی کدرز
https://t.me/joinchat/GxVRww3ykLynHFsdCvb7eg
 
پاسخ
#2
ساختن فرمی برای اتصال به اینترنت با نوشتن نام کاربری و کلمه عبور و شماره تلفن
[عکس: 1448753-9f0]
کد:
procedure TForm1.Connect_ButtonClick(Sender: TObject);

var

   cmd,par,fil,dir : PChar;

begin

   cmd := 'Open';

   fil := 'rasdial.exe';

   par := PChar(EditEntry.Text + ' ' + EditUser.Text + ' ' +

             EditPass.Text + ' /PHONE:' + EditPhone.Text + ' /PHONEBOOK:c:\test.pbk');

   dir := 'C:';

   ShellExecute(Self.Handle,cmd,fil,par,dir,SW_SHOWMINNOACTIVE);

end;



procedure TForm1.DisConnect_ButtonClick(Sender: TObject);

var

   cmd,par,fil,dir : PChar;

begin

   cmd := 'Open';

   fil := 'rasdial.exe';

   par := PChar(EditEntry.Text + ' /DISCONNECT');

   dir := 'C:';

   ShellExecute(Self.Handle,cmd,fil,par,dir,SW_SHOWMINNOACTIVE);

end;


تغییر رنگ سطرهای یک جدول (StringGrid)

[عکس: 1448769-72e]


یک StringGrid بر روی فرم گذاشته و در DrawCell آن کد زیر را بنویسید:

کد:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;

  Rect: TRect; State: TGridDrawState);

var

   dx : Integer;

begin

  with (Sender as TStringGrid) do

  begin

    if(ACol = 0) or (ARow = 0) then

      Canvas.Brush.Color := clBtnFace

    else

    begin

       case ARow of

         1: Canvas.Font.Color := clGreen;

         2: Canvas.Font.Color := clRed;

       end;

       if ARow mod 2 = 0 then

          Canvas.Brush.Color := $00E1FFF9

       else

          Canvas.Brush.Color := $00FFEBDF;

       Canvas.TextRect(Rect,Rect.Left + 2,Rect.Top + 2,Cells[ACol,ARow]);

       Canvas.FrameRect(Rect);

    end;

  end;

end;

برش یک فرم و تبدیل آن به دو فرم
[عکس: 1448773-6d7]
[عکس: 1448773-6d7]
کد:
var

  Pts: array [1..9] of TPoint;



procedure TForm1.Button2Click(Sender: TObject);

var

  I: integer;

  hRegion: THandle;

begin

  InitSize := Width;

  Pts [1] := Point (0, 0);

  Pts [2] := Point (Width div 2, 0);

  Pts [3] := Point (Width div 2, Height);

  Pts [8] := Point (0, Height);

  Pts [9] := Point (0, 0);

  for i := 0 to 100 do

  begin

    Left := Left - 1;

    Width := Width + 2;

    Pts [4] := Point (Width - InitSize div 2, Height);

    Pts [5] := Point (Width - InitSize div 2, 0);

    Pts [6] := Point (Width, 0);

    pts [7] := Point (Width, Height);

    HRegion := CreatePolygonRgn (Pts, 9, alternate);

    SetWindowRgn (Handle, HRegion, True);

    Application.ProcessMessages;

  end;

end;
غیر فعال کردن TaskManager



اگر مقدار ورودی تابع True باشد غیرفعال شده ولی اگر مقدار ورودی False باشد دوباره فعال خواهد شد.


کد:
Procedure DisableTaskManager(Const State:Boolean);

var

Reg: TRegistry;

begin



  Reg := TRegistry.Create;

  try

    Reg.RootKey := HKEY_CURRENT_USER;

    if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Policies\System',

True)

    then Reg.WriteInteger('DisableTaskMgr',Integer(State)); //typecast the boolean to convert it to 1 or 0

  finally

    Reg.CloseKey;

    Reg.Free;

  end;

end;
گروه دور همی پارسی کدرز
https://t.me/joinchat/GxVRww3ykLynHFsdCvb7eg
 
پاسخ
  


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  سورس کد انتقال فایل به سطل اشغال ( دلفی) Amin_Mansouri 1 5,457 10-08-2022، 06:21 PM
آخرین ارسال: sonusood
  سورس بدست اوردن کلیپ برد ( دلفی ) Amin_Mansouri 1 7,401 10-08-2022، 05:49 PM
آخرین ارسال: sonusood
  دلفی و تلگرام h_mohamadi 2 4,614 04-24-2017، 12:14 AM
آخرین ارسال: shilanaseri
  رسم نمودار در اکسل از طریق دلفی Saeed7007 1 6,392 08-14-2014، 06:11 PM
آخرین ارسال: Amin_Mansouri
  سورس کد بدست اوردن اطلاعات هارد دیسک (دلفی) Amin_Mansouri 1 8,368 07-30-2014، 05:45 PM
آخرین ارسال: dehqan_mehdi
  ۳۵۰ سورس کد دلفی (دلفی رو از ابتدا تا حرفه ای شدن یاد بگیرید) Amin_Mansouri 11 31,358 01-31-2014، 04:27 PM
آخرین ارسال: Amin_Mansouri
  بارگذاری و یا نمایش تصویر فرمت jpg (دلفی) Amin_Mansouri 2 10,431 08-23-2013، 10:06 PM
آخرین ارسال: mo_coders
  بدست اوردن لیست درایورهای موجود بر روی سیستم توسط API (دلفی) Amin_Mansouri 0 4,780 08-17-2013، 09:56 AM
آخرین ارسال: Amin_Mansouri
  دانلود سورس کد استفاده از نقشه گوگل در دلفی Amin_Mansouri 0 6,738 08-17-2013، 09:44 AM
آخرین ارسال: Amin_Mansouri
  سورس کد شناسایی مرورگرهای نصب شده بر روی سیستم عامل (دلفی) Amin_Mansouri 0 4,985 08-17-2013، 09:35 AM
آخرین ارسال: Amin_Mansouri

پرش به انجمن:


Browsing: 2 مهمان