Sunday - May 18, 2008

Home | Site Map | Channels | Profile | Press Room | Services | Contact 

currently 10 user(s) online

search 

   Latest News

»

sony-ak.com Luncurkan Kamus Teknologi Informasi (May 27, 2006)

»

sony-ak.com Luncurkan IT Event Calendar (May 20, 2006)

»

Web Chat Berbasis AJAX dari sony-ak.com (May 09, 2006)

»

sony-ak.com Advertising Program (May 01, 2006)

»

Sony AK di Tabloid PCplus (April 18, 2006)

news archives » 


   Random Article

»

Mengenal Cron (2779)

»

Menghilangkan Duplikasi Data pada Database MySQL (1488)

»

Opini Singkat: Microsoft Selalu Memilih Nama yang Mudah Diingat untuk Semua Produknya (1909)

»

Komputer: Sejarah, Perkembangan dan Penerapannya - Bagian II (26609)

»

Rendahnya Pemanfaatan Internet oleh Perusahaan (2186)

   Newsletter

Join our newsletter, you will get alert about content updates

powered by Yahoo! Groups















Nedstat Basic - Free web site statistics

 
 
Mendapatkan Informasi Sistem Operasi yang Digunakan dengan Borland Delphi 7

Author: Ratih Kusumawati
Published: August 14, 2005
Visits: 2847 - Category:
Borland Delphi
 
     
 

Ada seorang pembaca yang bertanya kepada penulis mengenai bagaimana kita bisa membatasi program Delphi hanya untuk sistem operasi Microsoft Windows pada suatu versi tertentu saja. Kita dapat mengenali jenis sistem operasi Microsoft dengan Borland Delphi 7. Penulis akan menggunakan fasilitas System Information pada Microsoft Win32 Application Programming Interface (API) yaitu OSVERSIONINFO yang memiliki struktur sebagai berikut.

typedef struct _OSVERSIONINFO{
  DWORD dwOSVersionInfoSize;
  DWORD dwMajorVersion;
  DWORD dwMinorVersion;
  DWORD dwBuildNumber;
  DWORD dwPlatformId;
  TCHAR szCSDVersion[ 128 ];
} OSVERSIONINFO;

Struktur OSVERSIONINFO ini terdiri dari informasi tentang:

  1. Major version number (dwMajorVersion)
    Ini tujuannya untuk mengidentifikasi tentang Major Version Number dari OS. Misalnya:



    Untuk Windows NT sesuai dengan Versi-nya misalnya Windows NT 4.0 maka Major Number-nya adalah 4 dan untuk Windows NT 3.51 Major Number-nya adalah 3.
  2. Minor version number (dwMinorVersion)
    Mengidentifikasi tentang Minor Version Number dari OS. Misalnya:



    Untuk Windows NT misalnya, Windows NT 4.0 maka Minor Number-nya 0 dan untuk Windows NT 3.51 Minor Number-nya 51.
  3. Build number (dwBuildNumber)
    Mengidentifikasi dari Build Number dari Operating System.
  4. Platform identifier (dwPlatformId)
    Mengidentifikasi Platform yang digunakan.
  5. Description text dari operating sistem (szCSDVersion)
    Mengidentifikasikan informasi tambahan pada OS. Misalnya informasi tambahan tentang “Service Pack” yang digunakan.

Untuk memulai mengidentifikasi semua informasi diatas, Anda harus memanggil dahulu dwOSVersionInfoSize yang akan memberikan informasi tentang ukuran dari struktur data dalam satuan Byte. Kemudian diikuti dengan memanggil fungsi GetVersionEx( ) yang akan mengecek versi Windows. Perlu diperhatikan juga deklarasi Var yang menggunakan TOSVERSIONINFO seperti dibawah ini:

var
  VersiWin: TOSVersionInfo;

Kemudian pada awal program dilakukan pengecekan ukuran struktur data.

VersiWin.dwOSVersionInfoSize:=sizeof(TOSVersionInfo);
GetVersionEx(VersiWin);

Anda dapat menampilkan informasi dari OS Anda dengan menggunakan program seperti di bawah ini:

case versiwin.dwPlatformId of
  VER_PLATFORM_WIN32s :
    lblversi.Caption :='Windows '+ inttostr(VersiWin.dwMajorVersion)+'.'+ inttostr(VersiWin.dwMinorVersion);

  VER_PLATFORM_Win32_WINDOWS :
    begin
      if VersiWin.dwMinorVersion= 0 then
        lblversi.Caption :='Windows 95'
      else if VersiWin.dwMinorVersion= 10 then
        lblversi.Caption :='Windows 98'
      else if VersiWin.dwMinorVersion= 90 then
        lblversi.Caption :='Windows Me';
    end;

  VER_PLATFORM_Win32_NT :
    begin
      if VersiWin.dwMajorVersion=5 then
      begin
        case VersiWin.dwMinorVersion of
          0: lblversi.Caption :='Windows 2000 With ' + Versiwin.szCSDVersion;
          1: lblversi.Caption :='Windows XP ' + Versiwin.szCSDVersion;
        end;
      end
      else if VersiWin.dwMajorVersion<=4 then
        lblversi.Caption :='Windows NT '+ inttostr(VersiWin.dwMajorVersion)+'.'+ inttostr(VersiWin.dwMinorVersion)
      else
        lblversi.Caption :='Windows '+ inttostr(VersiWin.dwMajorVersion)+'.'+ inttostr(VersiWin.dwMinorVersion);
    end;
end;


Jika Anda ingin membatasi pemakaian program tertentu Anda dapat memanfaatkan fasilitas ini. Misalkan penulis ingin membatasi Open Form2 hanya untuk pengguna Windows XP maka dapat dibuat program seperti dibawah ini:

lblminor.Caption:=InttoStr(VersiWin.dwMinorVersion);
lblmajor.Caption:=InttoStr(VersiWin.dwMajorVersion);
if lblminor.Caption ='1' then
begin
  if lblmajor.Caption ='5' then
    form2.Show
  else
  begin
    MessageDlg('Anda Tidak menggunakan OS Windows XP, Anda tidak dapat membuka jendela', mtInformation, [mbOk], 0);
    close;
  end;
end
else
begin
  MessageDlg('Anda Tidak menggunakan OS Windows XP, Anda tidak dapat membuka jendela', mtInformation, [mbOk], 0);
  close;
end;

Jika Anda tidak menggunakan Windows XP maka akan muncul Message Box peringatan.

Referensi

  • Help of Windows SDK

Demikian tulisan penulis mengenai identifikasi jenis sistem operasi Anda. Source code lengkap dari project di atas dapat Anda download pada bagian akhir dari tulisan ini. Saran dan kritik dapat Anda sampaikan melalui ratih@sony-ak.com. Untuk membaca tulisan menarik lainnya silakan menuju ke situs Sony AK Knowledge Center dengan alamat di www.sony-ak.com.

Silakan download source code lengkap dari project di atas

Terimakasih.




 Recommended articles
 

»

Tips Mendirikan Website dengan Peralatan Serba Gratis (7130)

»

Fungsi md5() pada PHP (2995)

»

Tips Mengetahui Kapasitas Hardisk dan Sisa Ruang pada Hardisk dengan Borland Delphi (4527)

»

Idera SQLcheck, Aplikasi Performance Monitor Gratis Untuk SQL Server (2478)

»

Apa itu Virus Hoax? (5232)

 Send your comments or suggestions
Full Name :
E-mail :
Comments :
 
 

  Privacy | Site Map | Advertise

  Copyright © 2003 - 2006 Sony AK Knowledge Center - all rights reserved

  info@sony-ak.com