![]() |
|
فيديو : درس Windows API | اهم الأشياء التي ينبغي تعلمها - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : دروس دلفي للمبتدئين (https://delphi4arab.net/forum/forumdisplay.php?fid=13) +--- الموضوع : فيديو : درس Windows API | اهم الأشياء التي ينبغي تعلمها (/showthread.php?tid=2034) |
فيديو : درس Windows API | اهم الأشياء التي ينبغي تعلمها - musvc - 23-05-2010 بسم الله الرحمن الرحيم درس جديد عن الـ Windows API اعداد : انا :laugh: طبيعة الدرس: لا اعرف, جزء اشرح للمبتدئين و جزء للمتوسطين و جزء للأعلى من المتوسطين:kick: نبذة عن الدرس : يلخص الدرس جميع الأشياء الضرورية التي يجب تعلمها عن الـ Windows API من انشاء Form و Button و Label و التعامل معها و ايضا ً CheckBox و ComboBox و ProgressBar مرفقة لعدم توفر الوقت لشرحها يلخص ايضا ً التعامل مع الخطوط Fonts و الألوان Colors (سوائا ً بتلوين الفورم و المكونات او لرسم Line) و كذلك التعامل مع الـ Timer و احداث المكونات مثل حدث المقابل لـ OnClick في الـ Button و OnChange في الـ Edit و تغيير الأيقونة و بعض الأشياء التي لم اذكرها صرفت نصف يوم في اعداد الدرس و قد عرفت الأن لماذا توقفت دورة الدلفي للعرب بعض الأحيان :laugh: حجم الدرس 6.65MB التحميل : إقتباس :http://www.mediafire.com/?ujn1tooi2do اسف لآنني لم ادقق في الأملاء [COLOR="Purple"]مشاهدة ممتعة سلام[/COLOR] فيديو : درس Windows API | اهم الأشياء التي ينبغي تعلمها - khiro.alg - 24-05-2010 السلام عليكم بارك الله فيك أخي على مجهودك الجميل المفيد جعله الله في ميزان حسناتك فيديو : درس Windows API | اهم الأشياء التي ينبغي تعلمها - أبو معاذ - 24-05-2010 جزاك ربي أعالي الجنان. فيديو : درس Windows API | اهم الأشياء التي ينبغي تعلمها - قديم الشوق - 24-05-2010 وعليكم السلام ورحمة الله وبركاته الله يبيض وجهك والله يجزاك خير إقتباس : هل المشكلة في برنامج الشرح ؟ وشكراً مره أخرى فيديو : درس Windows API | اهم الأشياء التي ينبغي تعلمها - musvc - 24-05-2010 قديم الشوق كتب :هل المشكلة في برنامج الشرح ؟لا, فقط كيف اشرح, من اين ابدأ, ماذا اشرح, كيف ارتب الدرس, .. من هذه ِ الأمور
فيديو : درس Windows API | اهم الأشياء التي ينبغي تعلمها - kachwahed - 25-05-2010 السلام عليكم musvc درس جميل ![]() هذه مجموعة من الأمثلة المتنوعة لصاحبها LENIN يستخدم فيها مكتبة مصغرة من صنعه: Win32.Library.LENIN.IN+Demos-D3-D7 التعليقات بالروسية للأسف لكن يمكن يمكن الاستفادة من Codes ![]() --- فقط بخصوص InitCommonControls هو للتأكد من تحميل مكتبات المكونات في النظام. بالتوفيق. فيديو : درس Windows API | اهم الأشياء التي ينبغي تعلمها - musvc - 26-05-2010 kachwahed كتب :هذه مجموعة من الأمثلة المتنوعة لصاحبها LENIN يستخدم فيها مكتبة مصغرة من صنعهاول مرة ارى المجموعة, تبدو شهية :laugh: فيديو : درس Windows API | اهم الأشياء التي ينبغي تعلمها - zmx123 - 18-06-2010 بسم الله الرحمن الرحيم اولا اشكرك تانيا الدرس يتكلم على استعمال الرسوس WIN API واخيرا ارس السورس التالي واخبرني كود : program Encrypter;
uses Windows, Messages;
{$R *.RES}
var
wClass: TWndClass; // class struct for main window
hFont, // handle of font
hInst, // handle of program (hinstance)
Handle, // handle of main window
hEncrypt, // handle of encrypt button
hDecrypt, // handle of decrypt button
hEdit, // handle of main edit
hLabel, // handle of password label
hPW: HWND; // handle of password edit
Msg: TMSG; // message struct
dEncrypt,
dDecrypt: Pointer; // default button procedures
(*------------------------------------------------*)
// This lines everything up
procedure Resize;
var
RCT:TRect;
begin
GetWindowRect(Handle,RCT);
MoveWindow(hPW,230,5,RCT.Right-RCT.Left-245,24,True);
MoveWindow(hEdit,5,34,RCT.Right-RCT.Left-20,RCT.Bottom-RCT.Top-66,True);
end;
(*------------------------------------------------*)
// This is to cleanup and stop the program
procedure ShutDown;
begin
DeleteObject(hFont);
UnRegisterClass('Sample Class',hInst);
ExitProcess(hInst); //end program
end;
(*------------------------------------------------*)
// Decrypts the text in hEdit with the text in hPW
procedure Decrypt;
var
x,i, // count variables
sText,sPW: Integer; // size of Text, PW
Text,PW: PChar; // buffer for Text, PW
begin
sText:=GetWindowTextLength(hEdit)+1;
sPW:=GetWindowTextLength(hPW)+1;
GetMem(Text,sText);
GetMem(PW,sPW);
GetWindowText(hEdit,Text,sText);
GetWindowText(hPW,PW,sPW);
x:=0; // initialize count
for i:=0 to sText-2 do
begin
Text[i]:=Chr(Ord(Text[i])-Ord(PW[x]));
Inc(x);
if x=(sPW-1)then x:=0;
end;
SetWindowText(hEdit,Text);
FreeMem(Text);
FreeMem(PW);
end;
(*------------------------------------------------*)
// Encrypts the text in hEdit with the text in hPW
procedure Encrypt;
var
x,i, // count variables
sText,sPW: Integer; // size of Text, PW
Text,PW: PChar; // buffer for Text, PW
begin
sText:=GetWindowTextLength(hEdit)+1;
sPW:=GetWindowTextLength(hPW)+1;
GetMem(Text,sText);
GetMem(PW,sPW);
GetWindowText(hEdit,Text,sText);
GetWindowText(hPW,PW,sPW);
x:=0; // initialize count
for i:=0 to sText-2 do
begin
Text[i]:=Chr(Ord(Text[i])+Ord(PW[x]));
Inc(x);
if x=(sPW-1)then x:=0;
end;
SetWindowText(hEdit,Text);
FreeMem(Text);
FreeMem(PW);
end;
(*------------------------------------------------*)
// This function processes every message sent to the Encrypt Button
function EncryptProc(hWnd,Msg,wParam,lParam:Longint):Longint; stdcall;
var
i: Integer;
begin
// Always pass the message to the Default procedure
Result:=CallWindowProc(dEncrypt,hWnd,Msg,wParam,lParam);
case Msg of
// If the user presses TAB we're gunna switch the
// focus over to the Decrypt button.
WM_KEYDOWN: if wParam=9 then SetFocus(hDecrypt);
end;
end;
(*------------------------------------------------*)
// This function processes every message sent to the Decrypt Button
function DecryptProc(hWnd,Msg,wParam,lParam:Longint):Longint; stdcall;
begin
// Always pass the message to the Default procedure
Result:=CallWindowProc(dEncrypt,hWnd,Msg,wParam,lParam);
case Msg of
// if the user presses TAB we're gunna switch
// the focus back to the Encrypt button.
WM_KEYDOWN: if wParam=9 then SetFocus(hEncrypt);
end;
end;
(*------------------------------------------------*)
// This function processes every message sent to our Main window
function WindowProc(hWnd,Msg,wParam,lParam:Longint):Longint; stdcall;
begin
// Always pass the message to the Default procedure
Result:=DefWindowProc(hWnd,Msg,wParam,lParam);
case Msg of
WM_SIZE: Resize;
// When buttons are clicked the message is passed to
// the parent window, so we handle it here.
WM_COMMAND: if lParam=hEncrypt then Encrypt
else if lParam=hDecrypt then Decrypt;
WM_DESTROY: ShutDown;
end;
end;
(*------------------------------------------------*)
// This is the main program function (WinMain)
begin
hInst:=GetModuleHandle(nil); // get the application instance
// hInstance returns zilch
with wClass do
begin
Style:= CS_PARENTDC;
hIcon:= LoadIcon(hInst,'MAINICON');
lpfnWndProc:= @WindowProc;
hInstance:= hInst;
hbrBackground:= COLOR_BTNFACE+1;
lpszClassName:= 'Sample Class';
hCursor:= LoadCursor(0,IDC_ARROW);
end;
// Once our class is registered we
// can start making windows with it
RegisterClass(wClass);
// Create our main window
Handle:=CreateWindow(
'Sample Class', // Registered Class Name
'Encrypter - By: Zmx123 (AT4RE)', // Title of Window
WS_OVERLAPPEDWINDOW or // Basic Window Style
WS_VISIBLE, // Make it Visible
100, // Left
100, // Top
400, // Width
300, // Height
0, // Parent Window Handle
0, // Handle of Menu
hInst, // Application Instance
nil); // Structure for Creation Data
// Create the Encrypt button
hEncrypt:=CreateWindow(
'Button',
'Encrypt',
WS_VISIBLE or WS_CHILD or BS_PUSHLIKE or BS_TEXT,
5,5,65,24,Handle,0,hInst,nil);
// Create the Decrypt button
hDecrypt:=CreateWindow(
'Button',
'Decrypt',
WS_VISIBLE or WS_CHILD or BS_PUSHLIKE or BS_TEXT,
75,5,65,24,Handle,0,hInst,nil);
// Create the main Edit
hEdit:=CreateWindowEx(
WS_EX_CLIENTEDGE, // this EX style is for the beveled edge
'Edit',
'',
WS_VISIBLE or WS_CHILD or ES_LEFT or ES_MULTILINE or ES_WANTRETURN or ES_AUTOVSCROLL or WS_VSCROLL,
5,34,380,234,Handle,0,hInst,nil);
// Create the password Edit
hPW:=CreateWindowEx(
WS_EX_CLIENTEDGE,
'Edit',
'',
WS_VISIBLE or WS_CHILD or ES_LEFT or ES_AUTOHSCROLL ,
230,5,155,24,Handle,0,hInst,nil);
hLabel:=CreateWindow(
'Static',
'Password:',
WS_VISIBLE or WS_CHILD or SS_LEFT,
160,10,70,20,Handle,0,hInst,nil);
// Create a custom font for our window otherwise
// everything would use the system font (blech!)
hFont:=CreateFont(
-12, // Height
0, // Width
0, // Angle of Rotation
0, // Orientation
0, // Weight
0, // Italic
0, // Underline
0, // Strike Out
DEFAULT_CHARSET, // Char Set
OUT_DEFAULT_PRECIS, // Precision
CLIP_DEFAULT_PRECIS, // Clipping
DEFAULT_QUALITY, // Render Quality
DEFAULT_PITCH or FF_DONTCARE, // Pitch & Family
'MS Sans Serif'); // Font Name
// Set the fonts for all our controls
SendMessage(hEncrypt,WM_SETFONT,hFont,0);
SendMessage(hDecrypt,WM_SETFONT,hFont,0);
SendMessage(hEdit,WM_SETFONT,hFont,0);
SendMessage(hPW,WM_SETFONT,hFont,0);
SendMessage(hLabel,WM_SETFONT,hFont,0);
// Subclass Encrypt Button (assign it a custom WindowProc)
dEncrypt:=Pointer(GetWindowLong(hEncrypt,GWL_WNDPROC));
SetWindowLong(hEncrypt,GWL_WNDPROC,Longint(@EncryptProc));
// Subclass Decrypt Button
dDecrypt:=Pointer(GetWindowLong(hDecrypt,GWL_WNDPROC));
SetWindowLong(hDecrypt,GWL_WNDPROC,Longint(@DecryptProc));
// The reason I don't subclass the Edit controls here
// is because they don't do anything custom. If I wanted
// them to Beep or something whenever you typed a "G" then
// I would subclass them.
// Focus on first control (otherwise people with no mouse are screwed)
SetFocus(hEncrypt);
// Now we loop GetMessage to process each Message in
// our main window's message list. Every time the main
// window recieves a message its added to the list, so
// this loop here will eventually process it.
while(GetMessage(Msg,Handle,0,0))do
begin
TranslateMessage(Msg); // Translate any keyboard Msg's
DispatchMessage(Msg); // Send it to our WindowProc
end; // for processing.
end.فيديو : درس Windows API | اهم الأشياء التي ينبغي تعلمها - nouvys - 08-08-2014 بارك الله فيك أخي الكريم فيديو : درس Windows API | اهم الأشياء التي ينبغي تعلمها - Snyder - 18-04-2015 درس ومشاركات رائعة بارك الله فيكم أخوتي الكرام |