Informations disque et systeme

Soyez le premier à donner votre avis sur cette source.

Vue 7 987 fois - Téléchargée 1 100 fois

Description

Bonjour tt le monde ;-)

Ce petit programme nous permet d?obtenir:

Le nom du volume du disque ;
La longueur maximum des noms des fichiers ;
Le numéro de série de disque ;
Système de fichiers ;
Le système d?exploitation ;
La version du système ;
Le numéro de service ;
Référence du processeur ;

toutes questions ou critiques les bienvenues

Pour terminer vous souhaite bon courage et bonne programmation.

Source / Exemple :


unit InformationsDisques;

interface

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

type
  TForm1 = class(TForm)
    BOk: TButton;
    PlRep: TPanel;
    EditChemin: TEdit;
    LabelChemin: TLabel;
    BOpen: TButton;
    Dialog: TOpenDialog;
    PInfo: TPanel;
    LongeurMaxiFi: TLabel;
    LNumSerie: TLabel;
    LSysFiles: TLabel;
    LblMaxi: TLabel;
    LblNumeroSerie: TLabel;
    LblSysteme: TLabel;
    LblVolume: TLabel;
    LNomVolume: TLabel;
    Panel1: TPanel;
    Label3: TLabel;
    LSysExp: TLabel;
    LabelVersionMineur: TLabel;
    Label4: TLabel;
    LabelServicePack: TLabel;
    LblServicePack: TLabel;
    Label1: TLabel;
    Panel2: TPanel;
    LblProcesseur: TLabel;
    LabelProcesseur: TLabel;
    procedure BOkClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BOpenClick(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;
  chemin:string;
implementation

{$R *.dfm}
{ Programme réalisé par HAFTARI Fouad, pour plus d'informations
                n'hésitez pas de me contacter
                      haftari@hotmail.com                     }
             
procedure TForm1.BOkClick(Sender: TObject);
var
 Repertoire:PChar;
  NomVolume: array[0..255] of Char;
  NumSerie:DWORD;
  LongeurMaxNomFichier:DWORD;
  TypeCase:DWORD;
  FileSystem: array[0..255] of Char;
  reg:TRegIniFile;
  chemin,s1:string;
begin
  Chemin:=Copy(EditChemin.Text,1,3); // Affecter à chemin les les trois premières lettres de EditChemin

  Repertoire:=PChar(Chemin);         // Répertoire:= Pchar(3 lettres (EditChemin))

  // Si GetVolumeInformation n'est pa afficher un message d''érreure
  if not GetVolumeInformation(Repertoire,NomVolume,SizeOf(NomVolume),@NumSerie,
                 LongeurMaxNomFichier,TypeCase, FileSystem,sizeOf(FileSystem))
  then ShowMessage('Erreur');

  // On effecte le Nom de volume est de type string à LNomVolume
  LNomVolume.Caption:=String(NomVolume);
  // On effecte la longeure maximum des fichiers est de type entier à LongeurMaxiFi
  // On effecte le Nom de volume est de type string à LNomVolume
  LongeurMaxiFi.Caption:=IntToStr(LongeurMaxNomFichier)+' Caractères';
  // On effecte le numéro de série est de type entier à LNumSérie
  LNumSerie.Caption:=IntToStr(NumSerie);
  // On effecte le type de systèmes de fichier est de type string à LSysFiles
  LSysFiles.Caption:=String(FileSystem);

  // ====== Informations du processeur ==============
  // n'oublie pas d'ajouter Registry aux Uses;
  reg:=TRegIniFile.Create('');
  with reg do begin
  begin
  RootKey:=HKEY_LOCAL_MACHINE;
  chemin:='Hardware\Description\System\Centralprocessor\0';
  s1:=ReadString(chemin,'Identifier','<Information non trouvé>');
  end;
  LabelProcesseur.Caption:=s1;
  end;
  reg.free;

{
                informations du système d'éxploitation
                Exemple téléchargé depuis le site
                         www.phields.com
                source téléchargé le 29 Novembre 2007

      • un grand merci aux auteurs du site***
} if (Win32Platform = VER_PLATFORM_WIN32_WINDOWS) then begin LSysExp.Caption:='Win 32 Windows'; case Win32MajorVersion of 4: begin case Win32MinorVersion of 0: begin LabelVersionMineur.Caption := 'Win95'; case Win32Platform of 1: case Win32CSDVersion[1] of 'A': LabelServicePack.Caption:=''; 'B','C': LabelServicePack.Caption:='OSR2'; end; end; end; 10: begin LabelVersionMineur.Caption := 'Win98'; case Win32CSDVersion[1] of 'A': LabelServicePack.Caption:='Microsoft Windows 98'; 'B': LabelServicePack.Caption:='SE'; end; end; 90: LabelVersionMineur.Caption := 'WinMe'; end; end; end; end; if (Win32Platform = VER_PLATFORM_WIN32_NT) then begin LSysExp.Caption:='Win 32 NT'; case Win32MajorVersion of 4: begin case Win32MinorVersion of 0: LabelVersionMineur.Caption := 'osWinNT4'; end; end; 5: begin case Win32MinorVersion of 0: LabelVersionMineur.Caption := 'Win2000'; 1: LabelVersionMineur.Caption := 'WinXP'; 2: LabelVersionMineur.Caption := 'WinServer2003'; end; LabelServicePack.Caption:=Win32CSDVersion; end; end; end; end; procedure TForm1.FormCreate(Sender: TObject); begin Editchemin.text:=GetCurrentDir; // Obtenir le chemin de l'éxécutable et l'écrire dans EditChemin end; procedure TForm1.BOpenClick(Sender: TObject); begin // Condition si Dialog est exécuté on obtienderons le chemin du fichier choisi if Dialog.Execute then EditChemin.Text:=Dialog.FileName; end; end.

Conclusion :


Pour conclure : un grand salut à tous ceux qui savent ni lire ni écrire?

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
128
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
14 juillet 2008

ha
Messages postés
1
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
24 janvier 2008

merci à vous tous,j'ai beaucoup appris de votre conversation,cela remonte le moral...de decouvrire qu'il faut etre philosophe pour apprendre delphi...
Messages postés
169
Date d'inscription
dimanche 16 février 2003
Statut
Membre
Dernière intervention
15 avril 2008

desolé de te dire Caribensila que l'homme peut faire des marviel avec le delphi, tien !! peut q'un jour je peut faire une application intelegente (DHM) Dialogue homme machine qui vas donc faire avancer l'humanité :D et je vais l'appelé Einsteinquitors .
que dit tu de ça ;).
Messages postés
2106
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
Haa que c' est beau Cari, lol
ça a le mérite de mettre les points sous les "i" avec le doigté et la finesse que l'on te connait!

Moi ce que je dit (quoi ? j' ai le droit non? lol), c' est qu' un jour mon savoir se perdra, mais une trace de celui-ci sur DelphiFr j' aurais laissé!
Vous ne comprenez pas? Vous saurez peut-être un jour...
A+
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
18
@MATRIX1
Einstein parlait de la société humaine, de civilisation, quoi; dont nous faisons tous partie, toi et moi.
Et ce que j'ai compris moi, c'est que Delphi est profondément laïque et qu'il n'apportera le paradis à personne :D

En d'autres termes, on peut connaître un langage de programmation dans ses moindres recoins, mais ce n'est pas ça qui nous fera découvrir un algo révolutionnaire ou un nouveau concept informatique génial. Ce n'est donc pas le savoir qui fait avancer l'Humanité, mais l'imagination.
Afficher les 15 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.