Delphi Programlama Dilinde Registry İşlemleri (Yüklü Comportların Registryden Okunması)

Selam,

Uygulamalarınızda çeşitli donanımlarla çalışmak zorunda kalabilirsiniz!

Delphi Programlama Dili İle Registry (Windows Kayıt Defteri) işlemlerine bir başka konu ile devam etmek istiyorum; Win32 (Windows Masa Üstü) uygulamalarınızda çeşitli donanımlarla çalışmak durumunda kalabilirsiniz. POS (Paint Of Sale) Satış Noktası Yönetimi uygulamanızda terazilerle haberleşme (ağırlık bilgisi alma),

Dokuma fabrikaları için geliştirmiş olduğunuz Kalite Kontrol Yönetimi programınızda kalite kontrol makinesinden geçen kumaşların metraj bilgisini alma, Restoranlarda kullanınlan, adisyon takibi ve satış işlemlerinin yapıldığı Restoran Programı'nızdan yazar kasaya fiş bastırma vb. aklıma gelmeyen daha bir çok konuda bahsetmiş olduğum donanımlarla haberleşmek durumunda kalabilirsiniz.

Windows donanımlarla haberleşebilmemiz için seri bağlantılar üzerinden iletişim kurmamıza olanak sağlamaktadır.

İşte Windows bu tip donanımlarla haberleşebilmek için seri bağlantıları üzerinden iletişim kurmamıza olanak sağlamaktadır. Seri Portları kısaca şu şekilde tanımlayabiliriz. Verilerin porttan seri biçimde tek bit olarak gönderilmesini sağlayan donanımlardır. Windows açılışında veya anlık donanım güncellemelerinde, donanımları yeniden tarayarak seri bağlantıları Registry'ye yüklemektedir. İşte bu aşamadan sonra biz bu değerleri geliştirmiş olduğumuz uygulamalarda kullanabiliriz.
Aşağıdaki örnek kaynak kodta bu değerlere nasıl ulaşacağımız hakkında bilgi vereceğim. Uygulamamızda ilgili değerlere ulaşıp bu değerleri ComboBox componentine nasıl yükleyeceğimize dair detayları göreceksiniz.

 

unit frmComPortYukle1;

interface

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

type
  TfrmComPortYukle = class(TForm)
    ComboBox1: TComboBox;
    Label1: TLabel;
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure GetComPorts(const Liste:TStrings);
  end;

var
  frmComPortYukle: TfrmComPortYukle;

implementation

{$R *.dfm}

procedure TfrmComPortYukle.FormShow(Sender: TObject);
begin
GetComPorts(ComboBox1.Items);
ComboBox1.ItemIndex:=0;
end;

procedure TfrmComPortYukle.GetComPorts(const Liste:TStrings);
var
reg     :TRegistry;
st      :Tstrings;
i       :Integer;
begin
reg := TRegistry.Create;
try
    reg.RootKey := HKEY_LOCAL_MACHINE;
    reg.OpenKey('HARDWARE\DEVICEMAP\SERIALCOMM', False);
    st := TstringList.Create;
    try
        Liste.Clear;
        reg.GetValueNames(st);
        for i := 0 to st.Count - 1 do
        Liste.Add(reg.Readstring(st.strings[i]));
    finally
        st.Free;
    end;
    reg.CloseKey;
finally
    reg.Free;
end;
end;
end.

 

Sistemde Yüklü Comport Listesi 

Genel Parametreler