Главная страница
    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.038 c
14-1082441697
Vlad Oshin
2004-04-20 10:14
2004.05.09
Делаю книгу. Как сделать лучше?


14-1082025193
infom
2004-04-15 14:33
2004.05.09
Здание


1-1082443759
an-na2002
2004-04-20 10:49
2004.05.09
Выполнение программы и TEdit


1-1082357260
samalex
2004-04-19 10:47
2004.05.09
Выделить необходимую ячейку в StringGrid


3-1081932759
Ozone
2004-04-14 12:52
2004.05.09
Stream s + DB





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский