قسم الكمبيوتر و البرامج والكتب مكان متخصص لمناقشة الكمبيوتر وأفضل الطرق لحل مشاكله بالاضافة الى استعراض احدث الكتب والبرامج .
يمنع اضافة الكراك او الكيجن او السيريل لحفظ الحقوق الخاصة بالبرامج

   

الصورة الرمزية Adnan
Adnan
:: مبرمج ::
تاريخ التسجيل: Mar 2004
الدولة: Syria - Damascus
المشاركات: 18
نشاط [ Adnan ]
قوة السمعة:
قديم 16-08-2004, 11:51 AM المشاركة 1   
افتراضي الحصول على سرعة المعالج برمجيا



نستطيع الحصول على سرعة المعالج بطريقة برمجية سهلة
و سنورد مثال برمجي و البرنامج مرفق
و اي شخص يود الاستفسار عن هذه الطريقة فاليسأل
فالنفتح برنامج جديد في ديلفي و نضع زر و سنتكتب function :GetCPUSpeed
و ستكون اليونت كاملة كالتالي

===============
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
function GetCPUSpeed: Double;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.GetCPUSpeed: Double;
const
DelayTime = 500;
var
TimerHi, TimerLo: DWORD;
PriorityClass, Priority: Integer;
begin
PriorityClass := GetPriorityClass(GetCurrentProcess);
Priority := GetThreadPriority(GetCurrentThread);

SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);

Sleep(10);
asm
dw 310Fh
mov TimerLo, eax
mov TimerHi, edx
end;
Sleep(DelayTime);
asm
dw 310Fh
sub eax, TimerLo
sbb edx, TimerHi
mov TimerLo, eax
mov TimerHi, edx
end;

SetThreadPriority(GetCurrentThread, Priority);
SetPriorityClass(GetCurrentProcess, PriorityClass);

Result := TimerLo / (1000 * DelayTime);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(Format('Your CPU speed: %f MHz', [GetCPUSpeed]));

end;

end.
===============


الصورة الرمزية asmaaali
asmaaali
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2004
الدولة: مصر
المشاركات: 313
نشاط [ asmaaali ]
قوة السمعة:
قديم 16-08-2004, 05:44 PM المشاركة 2   
افتراضي


مشاركة ممتازة شكرا لك

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 12:46 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)