Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: Delphi & Api

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    32

    Delphi & Api

    Salve ragazzi, sto cercando di scrivere un programma che rilevi l'hardware presente nel pc. Più precisamente :

    1. CPU : marca, modello, potenza.
    2. RAM : Quantità.
    3. Scheda Video : Marca, modello, potenza.
    4. Scheda di Rete : Marca, modello.

    Preciso che per i primi due punti ho risolto, quindi mi servirebbe solo scheda di rete e scheda video. La mia domanda è questa : il titolo è giusto ? Quindi ci vogliono le API ? Se si quali ? Perché premetto che per la CPU ho usato il registro di sistema mentre per la ram ho usato un amico e a quanto sembra ha usato le api. Siccome vorrei evitare di incollare codice a caso, potreste darmi qualche dritta ? tipo dirmi in generale dove trovo le API e come si richiamano.

    Grazie, St3p.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    32
    UP

  3. #3
    Ci sono vari metodi per recuperare le informazioni sull'hardware, la scelta va fatta in base al dettaglio desiderato, ai requisiti di portabilità su sistemi Windows diversi e alla facilità di sviluppo.

    Oltre all'uso della Windows API, ci sono particolari device drivers e la piattaforma WMI. Se non sei un programmatore particolarmente esperto potresti integrare componenti specifici.
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    32
    Ho provato ad usare i componenti specifici visto che non sono molto esperto. Quando vado ad installare il componente che secondo me è quello più indicato ( devicecup ) mi dice di fare :

    1. In the delphi menu select:
    Component > Install Component> Browse
    2. Select the .pas file and select OK.

    Però delphi mi chiede anche di selezionare un nome per il package. Che devo fare ?
    E come uso questo componente ? oO

    Grazie, Step.

  5. #5
    componente che secondo me è quello più indicato ( devicecup ) mi dice di fare :
    In base a quale principio sarebbe il più indicato? A mio avviso è proprio il MENO indicato per i tuoi scopi, visto che non fornisce informazioni generiche sull'hardware (CPU, RAM, ...) ma dettagli sulle caratteristiche dei device. Ce ne sono altri più generici...

    Se il componente ha un suo package di installazione puoi usare quello, altrimenti ne crei uno ad hoc o ne usi uno esistente. Il processo è legato alla specifica versione di Delphi, quindi non posso essere più preciso sui passaggi esatti. In ogni caso dovrebbe essere abbastanza intuitivo scegliere un pacchetto esistente o crearne uno vuoto.
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    32
    Si infatti ho fatto una * * * *. Ho optato per - Hardware info and computerID - che penso sia il migliore. Come avrai notato sono parecchio ignorante ma stò cercando di imparare

    Allora premetto che ho delphi 7 second edition, allora, sono riuscito ad creare un nuovo package selezionando l'unita HardwareinfoandcomputerID.pas e dando come nome al package hiacid.dpk. Il problema è questo, per utilizzare il package come devo fare ? cosa devo dichiarare nelle uses ? nelle uses ho dichiarato hiacid ma quando compilo mi da errore dicendomi che non trova hiacid.pas che infatti non c'è. Io penso che debba trovare HardwareinfoandcomputerID.pas però se il package lo chiamo con lo stesso nome dell'unita ovvero HardwareinfoandcomputerID mi dice

    [Error] HardInfosAndComputerID.dpk(31): Identifier redeclared: 'HardInfosAndComputerID'


    Qual'è il problema ?

  7. #7
    Mandami il link esatto del pacchetto che hai scaricato...
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  8. #8

  9. #9
    Per usare quel componente di basterebbe copiare i file HardInfosAndComputerID.pas e HardInfosAndComputerID.dll nella cartella del tuo progetto ed includere HardInfosAndComputerID nella clausola uses. Poi richiami le funzioni esposte dalla unit.

    Note:

    1) Devi distribuire il HardInfosAndComputerID.dll insieme al tuo eseguibile
    2) Ho provato il programma demo su Vista e non funziona
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    32
    Allora, pensavo quasi di aver risolto invece ancora non ci sono -.-"
    ho copiato entrambi i file nelle cartelle ( .dll e .pas ), poi ho messo HardInfosAndComputerID nelle uses, e per provare ho fatto un form con un pulsante e una label. In public declaretion ho messo

    h : Thardwareinfos;

    e poi nel pulsante ho messo

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    Label4.Caption := h.CPUName;
    end;

    E in compilazione non mi da errore mentre runtime mi da un errore di access violation. Come mai ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.