1. Reklam


    1. joysro
      ledas
      jungler
      keasro
      zeus
      karantina

Delphi'de Klasör Gizleme-Gösterme


  1. Redefine

    Redefine Old School olduser rank8

    Kayıt:
    21 Kasım 2007
    Mesajlar:
    3.152
    Beğenilen Mesajlar:
    0
    Ödül Puanları:
    36
    [​IMG]

    :idea: :idea: :idea: Delphi'de Klasör Gizleme-Gösterme :idea: :idea: :idea:

    Bazı durumlarda önemli klasörleri bir programa ihtiyaç duymadan en kısa yoldan gizlemek için,attrib komutunu kullanabiliriz.attrib komutunun aldığı parametreler:

    attrib -h -s -r -a

    attrib +h +s +r +a


    komut satırında attrib +h klasöradı klasörü gizler.attrib -h klasöradı gizli olan klasörü gösterir. h(hidden) parametresi tek başına kullanıldığında klasörü gizler.fakat kullanıcı Klasör seçenekleri--->Görünüm-->Gizle Dosya ve Klasörleri göster seçeneğini işaretlerse bu gizli klasörlere görebilir.s(system) parametresini de kullanırsak bu seçenek işaretli olsa bile gizli olan klasör görünmez.Ancak Korunan işletim sistemi dosyalrını gizle işareti kaldırılırsa gizlenmiş klasörler görünebilir.

    Örnek d: sürücüsünde deneme klsörünü gizlemek için komut satırında:

    attrib +h +s +r +a d:\deneme

    Gizli olan klasörü göstermek için komut satırında attrib -h -s -r -a d:\deneme yazıp klasörü görünür hale getiriyoruz yada klasörü görünür hale getirmeden erişmek için Explorer'dan klasörün path'ini yazıp yani d:\deneme enter'lersek klasörün içine erişiriz.

    Bu işlemleri Delphi'de WinExec Fonksiyonunu kullanrak yapalım:

    WinExec(pchar('C:\WINDOWS\system32\cmd.exe /c attrib -h -s -r -a d:\deneme'),SW_HIDE);

    WinExec(pchar('C:\WINDOWS\system32\cmd.exe /c attrib +h +s +r +a d:\deneme'),SW_HIDE);


    Delphi'de ShellTreeView kullanarak istediğimiz klasörlerin yolunu Edit'e atıp klasör gizleme/gösterme için örnek bir program yapalım:

    [​IMG]

    Kod:
    procedure TForm1.ShellTreeView1Change(Sender: TObject; Node: TTreeNode);
    begin
       Edit1.Text:=ShellTreeView1.Path;
    end;
    Gizle

    Kod:
    procedure TForm1.BitBtn1Click(Sender: TObject);
    var dizin:string;
    begin
       dizin:=Edit1.Text;
       WinExec(pchar('cmd.exe /c attrib +h +s' + dizin),SW_HIDE);
    end;
    Göster

    Kod:
    procedure TForm1.BitBtn2Click(Sender: TObject);
    var dizin:string;
    begin
       dizin:=Edit1.Text;
       Winexec(pchar('cmd.exe /c attrib -h -s ' + dizin),SW_HIDE);
    end;
    Saygılarımla;

    RedeFine
     
  2. F34RL3SS

    F34RL3SS Bilgiliyim rank8

    Kayıt:
    27 Mart 2007
    Mesajlar:
    1.615
    Beğenilen Mesajlar:
    0
    Ödül Puanları:
    0
    Şehir:
    Niye soruyon? Dövmeye mi gelicen :S
    güzel paylaşim arşivime ekliyorum :)