Помогите с курсовым плиз функции Win Api

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем f2.PypS, 3 янв 2007.

Статус темы:
Закрыта.
  1. f2.PypS

    f2.PypS Гость

    разработать программу выдающую полную информацию о компьютере частоту процессора, обьем ОЗУ, наличие портов ввода вывода, дисковода, клавиатуры, мыши. Системный каталог виндовс. Предусмотреть возможность управления некоторыми из них (включение выключение)

    или

    Разработать программу выдвюшую полную инфу о дисках размер, свободное место, размер кластера, кол-во секторов, размер сектора

    помогите плиз советоми как реализовать одну из программ, или посоветуйте что в инете можно почитать по данной тематике...

    Если у кого то есть исходники дайте плиз.. очень нужно ...
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
  3. f2.PypS

    f2.PypS Гость

    Может кто нить помочь с переводом кода из делфи в си билдер ? Хотя бы часть кода для примера ?
     
  4. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Все же очень просто... А вообще программист должен понимать код, написанный на других языках. Так что практика перевода с одного языка на другой очень полезна... А вообще можешь спорные куски сюда выложить
     
  5. f2.PypS

    f2.PypS Гость

    Весь косяк в том что я не знаю Си впринципе.. а курсач сдавать через пару дней =) я на делфи его написал, а нужно на си

    Допустип вот пара функция если не сложно переведите какую нить из них чтобы я примерно понял как это делать =)

    function GetCPUVendor: TVendor; assembler; register;
    asm
    PUSH EBX
    PUSH EDI
    MOV EDI,EAX
    MOV EAX,0
    DW $A20F
    MOV EAX,EBX
    XCHG EBX,ECX
    MOV ECX,4
    @1:
    STOSB
    SHR EAX,8
    LOOP @1
    MOV EAX,EDX
    MOV ECX,4
    @2:
    STOSB
    SHR EAX,8
    LOOP @2
    MOV EAX,EBX
    MOV ECX,4
    @3:
    STOSB
    SHR EAX,8
    LOOP @3
    POP EDI
    POP EBX
    end;
    //----------------------------------------------------------------

    function 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.0 * DelayTime);
    end;
    //------------------------------------------------------------------
    // Eioi?iaoey i eiiiu?oa?a

    Procedure TfmMain.HardwareInfo;
    var Size : cardinal;
    Pres : PChar;
    Bres : Boolean;
    lpSystemInfo : TsystemInfo;
    begin
    Size := MAX_COMPUTERNAME_LENGTH +1;
    Pres := StrAlloc(Size);
    Bres := GetComputerName(Pres, Size);
    if Bres then label_CompName.Caption := 'Eiy: ' + StrPas(Pres);
    //eiy iieuciaaoaey
    Size := MAX_COMPUTERNAME_LENGTH +1;
    Pres := StrAlloc(Size);
    Bres := GetUserName(Pres, Size);
    if Bres then label_UserName.Caption := 'Iieuciaaoaeu: ' + StrPas(Pres);
    //I?ioanni?
    GetSystemInfo(lpsysteminfo);
    label_cpumodel.Caption := 'CPU Eeanna x' + IntToStr(lpsysteminfo.dwProcessorType);
    end;
    Procedure TfmMain.Videoinfo;
    var
    DC : hDC;
    c: string;
    begin
    //?ac?aoaiea
    label_screen.Caption := '?ac?aoaiea ye?aia: ' + IntToStr(Screen.Width)+ ' ia ' + IntToStr(Screen.Height);
    //Aeoaeia oaaoa
    DC := CreateDC('DISPLAY',nil,nil,nil);
    case GetDeviceCaps(DC,BITSPIXEL) of
    8 : c:= '256 oaaoia';
    15 : c:= 'Hi-Color / 32768 oaaoia';
    16 : c:= 'Hi-Color / 65636 oaaoia';
    24 : c:= 'True-Color / 16 iei. oaaoia';
    32 : c:= 'True-color / 32 iei. oaaoia';
    end;
    label_color.caption :='Ea?anoai oaaoiia?aaa?e: ' + c;
    DeleteDC(DC);
    end;
     
  6. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    <!--QuoteBegin-f2.PypS+5:01:2007, 13:53 -->
    <span class="vbquote">(f2.PypS @ 5:01:2007, 13:53 )</span><!--QuoteEBegin-->Допустип вот пара функция если не сложно переведите какую нить из них чтобы я примерно понял как это делать =)
    Код (Text):
    function GetCPUVendor: TVendor; assembler; register;
    asm
    PUSH EBX
    PUSH EDI
    MOV EDI,EAX
    MOV EAX,0
    DW $A20F
    MOV EAX,EBX
    XCHG EBX,ECX
    MOV ECX,4
    @1:
    STOSB
    SHR EAX,8
    LOOP @1
    MOV EAX,EDX
    MOV ECX,4
    @2:
    STOSB
    SHR EAX,8
    LOOP @2
    MOV EAX,EBX
    MOV ECX,4
    @3:
    STOSB
    SHR EAX,8
    LOOP @3
    POP EDI
    POP EBX
    end;
    //----------------------------------------------------------------
    [snapback]52370" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Интересно, с каких пор ЭТО код на Object Pascal? :)
     
Загрузка...
Похожие Темы - Помогите курсовым плиз
  1. limbra
    Ответов:
    3
    Просмотров:
    43
  2. NylevoiChelovek
    Ответов:
    4
    Просмотров:
    93
  3. Ruska132
    Ответов:
    34
    Просмотров:
    252
  4. gURaBA_N
    Ответов:
    7
    Просмотров:
    141
  5. uxbmw3w
    Ответов:
    0
    Просмотров:
    58
Статус темы:
Закрыта.

Поделиться этой страницей