Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

Частота компа   Найти похожие ветки 

 
ASMiD   (2004-03-20 14:54) [0]

Сэры!
Подскажите плз, как получить частоту компьютера и тип видеокарты?


 
ASMiD   (2004-03-20 14:54) [0]

Сэры!
Подскажите плз, как получить частоту компьютера и тип видеокарты?


 
Raki   (2004-03-28 14:31) [1]

Эта функция определяет реальную частоту проца.(У меня при заявленной 1834 показывает от 1840 до 1880)

function GetCPUFrequency: word;
var
 TimeStart: integer;
 TimeStop: integer;
 StartTicks: dword;
 EndTicks: dword;
 TotalTicks: dword;
 cpuSpeed: dword;
 NeverExit: Boolean;
begin
 TimeStart:=0;
 TimeStop:=0;
 StartTicks:=0;
 EndTicks:=0;
 TotalTicks:=0;
 cpuSpeed:=0;
 NeverExit:=True;
 TimeStart:=timeGetTime;
 while NeverExit do
 begin
   TimeStop:=timeGetTime;
   if ((TimeStop-TimeStart)>1) then
   begin
     asm
       xor eax,eax
       xor ebx,ebx
       xor ecx,ecx
       xor edx,edx
       db $0F,$A2 /// cpuid
       db $0F,$31 /// rdtsc
       mov StartTicks,eax
     end;
     Break;
   end;
 end;
 TimeStart:=TimeStop;
 while NeverExit do
 begin
   TimeStop:=timeGetTime;
   if ((TimeStop-TimeStart)>1000) then
   begin
     asm
       xor eax,eax
       xor ebx,ebx
       xor ecx,ecx
       xor edx,edx
       db $0F,$A2 /// cpuid
       db $0F,$31 /// rdtsc
       mov EndTicks,eax
     end;
     Break;
   end;
 end;
 TotalTicks:=EndTicks-StartTicks;
 cpuSpeed:=TotalTicks div 1000000;
 GetCPUFrequency:=cpuSpeed;
end;

А вот пример получения информации о видеокарте

procedure TForm1.button1click(Sender: TObject);
var
 lpDisplayDevice: TDisplayDevice;
 dwFlags: DWORD;
 cc: DWORD;
begin
 form1.memo1.Clear;
 lpDisplayDevice.cb := sizeof(lpDisplayDevice);
 dwFlags := 0;
 cc := 0;
 while EnumDisplayDevices(nil, cc, lpDisplayDevice, dwFlags) do
 begin
   Inc(cc);
   form1.memo1.lines.add(lpDisplayDevice.DeviceString);
   {Так же мы увидим дополнительную информацию в lpDisplayDevice}
   
 end;
end;

Если понадобятся процедуры для нахождения более расширенной инфы про проц-скажи. Единственное, пока не могу найти процедуру для определения объема памяти видеокарты.


 
Raki   (2004-03-28 14:31) [1]

Эта функция определяет реальную частоту проца.(У меня при заявленной 1834 показывает от 1840 до 1880)

function GetCPUFrequency: word;
var
 TimeStart: integer;
 TimeStop: integer;
 StartTicks: dword;
 EndTicks: dword;
 TotalTicks: dword;
 cpuSpeed: dword;
 NeverExit: Boolean;
begin
 TimeStart:=0;
 TimeStop:=0;
 StartTicks:=0;
 EndTicks:=0;
 TotalTicks:=0;
 cpuSpeed:=0;
 NeverExit:=True;
 TimeStart:=timeGetTime;
 while NeverExit do
 begin
   TimeStop:=timeGetTime;
   if ((TimeStop-TimeStart)>1) then
   begin
     asm
       xor eax,eax
       xor ebx,ebx
       xor ecx,ecx
       xor edx,edx
       db $0F,$A2 /// cpuid
       db $0F,$31 /// rdtsc
       mov StartTicks,eax
     end;
     Break;
   end;
 end;
 TimeStart:=TimeStop;
 while NeverExit do
 begin
   TimeStop:=timeGetTime;
   if ((TimeStop-TimeStart)>1000) then
   begin
     asm
       xor eax,eax
       xor ebx,ebx
       xor ecx,ecx
       xor edx,edx
       db $0F,$A2 /// cpuid
       db $0F,$31 /// rdtsc
       mov EndTicks,eax
     end;
     Break;
   end;
 end;
 TotalTicks:=EndTicks-StartTicks;
 cpuSpeed:=TotalTicks div 1000000;
 GetCPUFrequency:=cpuSpeed;
end;

А вот пример получения информации о видеокарте

procedure TForm1.button1click(Sender: TObject);
var
 lpDisplayDevice: TDisplayDevice;
 dwFlags: DWORD;
 cc: DWORD;
begin
 form1.memo1.Clear;
 lpDisplayDevice.cb := sizeof(lpDisplayDevice);
 dwFlags := 0;
 cc := 0;
 while EnumDisplayDevices(nil, cc, lpDisplayDevice, dwFlags) do
 begin
   Inc(cc);
   form1.memo1.lines.add(lpDisplayDevice.DeviceString);
   {Так же мы увидим дополнительную информацию в lpDisplayDevice}
   
 end;
end;

Если понадобятся процедуры для нахождения более расширенной инфы про проц-скажи. Единственное, пока не могу найти процедуру для определения объема памяти видеокарты.


 
VMcL ©   (2004-03-29 14:47) [2]

>>ASMiD  (20.03.04 14:54)

Что такое "частота компьютера", стесняюсь спросить?


 
VMcL ©   (2004-03-29 14:47) [2]

>>ASMiD  (20.03.04 14:54)

Что такое "частота компьютера", стесняюсь спросить?


 
Digitman ©   (2004-03-29 15:18) [3]


> VMcL


это частота такого компьютера, в составе которого ничего кроме мультивибратора, задающего некую одну-единственную периодическую импульсную последовательность, больше ничего нет .. даже того же блока питания ... ибо говорить о каких-то там "частотах", когда речь идет об импульсном БП, попросту глупо


 
Digitman ©   (2004-03-29 15:18) [3]


> VMcL


это частота такого компьютера, в составе которого ничего кроме мультивибратора, задающего некую одну-единственную периодическую импульсную последовательность, больше ничего нет .. даже того же блока питания ... ибо говорить о каких-то там "частотах", когда речь идет об импульсном БП, попросту глупо


 
SEvgeniy   (2004-03-29 15:36) [4]

это,вероятно, частота с которой компьютер скачет по столу ж)


 
SEvgeniy   (2004-03-29 15:36) [4]

это,вероятно, частота с которой компьютер скачет по столу ж)


 
Ozone ©   (2004-03-29 16:15) [5]

Практически всю информацию о комп-ре дает WMI...


 
Ozone ©   (2004-03-29 16:15) [5]

Практически всю информацию о комп-ре дает WMI...



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.032 c
3-1081920931
DENpro
2004-04-14 09:35
2004.05.09
InterBase Query


11-1066636980
ALEF
2003-10-20 12:03
2004.05.09
неполный mck.zip ?


8-1076756002
NEOMEN
2004-02-14 13:53
2004.05.09
Взаимодействие Flash и Delphi


1-1082836866
Sanek_metaller
2004-04-25 00:01
2004.05.09
Особая форма


14-1082053052
Undert
2004-04-15 22:17
2004.05.09
Посоветуйте программку





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский