Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
IP deki bir klasör içindeki dosyaları listeleme nasıl?
#1
arkadaşlar 
local ağdaki bir klasör içindeki wmv uzantılı dosya isimlerini almak listbox içine atmak istiyorum

kullandığımız pc için netde bir çok örnek var ama local ağda başka bir pc deki klasörün içindeki dosya adlarını nasıl listeleriz
hangi yolu veya komutlara araştırmak lazım.

saygılarımla.
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
İğne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla
#2
Klasörü paylaşıma açarsanız normal klasör içindeki dosyaları listeler gibi listeleyebilirsiniz.
Cevapla
#3
Yerel ağ içerisinde cihazınızın dışındaki herhangi bir değere (bilgisayar, klasör, dosya vb.) ulaşabilmeniz için paylaşıma açık olması gerekir. Eğer açık olduğundan emin olursanız, Windows API ile çok rahat bu isteğinizi gerçekleştirebilirsiniz. WNetOpenEnum* ile yerel ağdaki bilgisayarları, NetShareEnum* ile makine üzerinde paylaşılanları görüntüleyebilirsiniz.

Örnek Delphi Kodları: https://www.developpez.net/forums/d68047...ost3984824


---
Referanslar
*: https://docs.microsoft.com/en-us/windows...topenenuma
*: https://docs.microsoft.com/en-us/windows...tshareenum
Cevapla
#4
arkadaşlar ilğinize ve cevaplarınız için teşekkür ederim. klasörü paylaşıma açmak istemiyorum o nedenle
tcp server client haberleşme ile sorunu çözmeye çalışacağım karşı bilğisayara bana şu klasördeki dosya isimlerini gönder diye komut
göndereceğim. karşı bilisayardaki klasik dosya listeleme kodu bilgileri listbox a değil tcp sokete gönderecek.
gelen bilğileri ana bilğisayarda bir listbox içine atmaya çalışacağım
inşallah becerebiliriz

saygılarımla
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
İğne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla
#5
Bence karşı tarafa bir FTP server kurun. Sadece istediğiniz klasörleri, istediğiniz FTP hesaplarına açın. Böylece o bilgisayar için program yazmak zorunda kalmayın.
There's no place like 127.0.0.1
WWW
Cevapla
#6
FTP server hiç bilmediğim bir konu hocam araştırıp öğrenmeye çalışacağım.
saygılarımla.
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
İğne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla
#7
FindFirstFile, FindNextFile fonksiyonları işinizi görecektir, bu fonksiyonlar ile  dosya listesini bir string veya stringlist olarak  alıp tcpclient ile gönderip bir listboxta gösterebilirsiniz. "FindFirstFile, FindNextFile delphi" gibi bir aramayla internette birçok örneği görebilirsiniz.
Herhangi bir basit problem, hakkında yeterince toplantı yapılarak, çözümsüz hale getirilebilir.
https://play.google.com/store/apps/developer?id=ONGUN
Cevapla
#8
 Server

unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   ServerSocket1: TServerSocket;
   Memo1: TMemo;
   procedure FormCreate(Sender: TObject);
   procedure ServerSocket1ClientRead(Sender: TObject;
     Socket: TCustomWinSocket);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
ServerSocket1.Active:=False;
ServerSocket1.Port:=20000;
ServerSocket1.Active:=True;
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
 Socket: TCustomWinSocket);
begin
 Memo1.Clear;
 Memo1.Lines.Add(Socket.ReceiveText);
end;

end.


Client

unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   Button1: TButton;
   ClientSocket1: TClientSocket;
   Button2: TButton;
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

Procedure FindFiles(const Path, Mask: string; IncludeSubDir: boolean; Out List:TStringList);
var 
 FindResult: integer; 
 SearchRec : TSearchRec; 
begin 
 FindResult := FindFirst(Path + Mask, faAnyFile - faDirectory, SearchRec); 
 while FindResult = 0 do 
 begin 
   { do whatever you'd like to do with the files found } 
   List.Add(Path + SearchRec.Name); 
   FindResult := FindNext(SearchRec); 
 end; 
 { free memory } 
 FindClose(SearchRec); 
 if not IncludeSubDir then 
   Exit; 
 FindResult := FindFirst(Path + '*.*', faDirectory, SearchRec); 
 while FindResult = 0 do 
 begin 
   if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then 
       FindFiles (Path + SearchRec.Name + '\', Mask, TRUE,List); 
   FindResult := FindNext(SearchRec); 
 end; 
 { free memory } 
 FindClose(SearchRec); 
end;

procedure TForm1.Button1Click(Sender: TObject); //Bağlan Butonu
begin
ClientSocket1.Active:=False;
ClientSocket1.Port:=20000;
ClientSocket1.Host:='192.168.2.53';
ClientSocket1.Active:=True;
end;

procedure TForm1.Button2Click(Sender: TObject); //Gönder Butonu bunu bir timer içine alıp belirli periyodlarda Listeyi gönderebilirsin.
var
liste:TStringList;
i :integer;
begin
   liste:=TStringList.Create;
   //FindFiles(GetCurrentDir+'\','*.wmv',False,liste);
   FindFiles('D:\deneme\','*.wmv',False,liste);
   for i:=1 to liste.Count do
   begin
   ClientSocket1.Socket.SendText(liste[i-1]);
   end;
   liste.Free;
end;                                                

end.

Kendimce birşeyler karaladım umarım iş görür. Kolay gelsin.
Cevapla
#9
teşekkürler hocam denedim çalıştı 
FindFiles('D:\media\kucuk\','*.wmv',False,liste);
  for i:=1 to liste.Count do
  begin
  ClientSocket1.Socket.SendText(liste[i-1]);
  end;

sorum şu burda sadece dosya adını nasıl alırız doya yolu ile birlikte listeye atıyor birde  satır satır göndermek için nasıl bir değişiklik yapmak lazım.
SendTextln gibi buna benzer bir komut bulamadım.

tekrar teşekkürler

"FindFiles" komutunu araştrayım bakalım bir şey bulabilecekmiyim.

List.Add( SearchRec.Name); burda değişiklik yaparak sorunu çözdüm tek sorun satır satır kaldı bakalım

satır satır ekleme olayını çözemedim mesela gelen datayı bir dizi içine almak istersek nasıl yaparız bunu araştırıyorum inşallah size zahmet vermeden çözeriz
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
İğne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla
#10
(20-02-2020, Saat: 19:34)sadikacar60 Adlı Kullanıcıdan Alıntı: arkadaşlar 
local ağdaki bir klasör içindeki wmv uzantılı dosya isimlerini almak listbox içine atmak istiyorum

kullandığımız pc için netde bir çok örnek var ama local ağda başka bir pc deki klasörün içindeki dosya adlarını nasıl listeleriz
hangi yolu veya komutlara araştırmak lazım.

saygılarımla.

(20-02-2020, Saat: 23:31)Abdullah ILGAZ Adlı Kullanıcıdan Alıntı: Yerel ağ içerisinde cihazınızın dışındaki herhangi bir değere (bilgisayar, klasör, dosya vb.) ulaşabilmeniz için paylaşıma açık olması gerekir. Eğer açık olduğundan emin olursanız, Windows API ile çok rahat bu isteğinizi gerçekleştirebilirsiniz. WNetOpenEnum* ile yerel ağdaki bilgisayarları, NetShareEnum* ile makine üzerinde paylaşılanları görüntüleyebilirsiniz.

Örnek Delphi Kodları: https://www.developpez.net/forums/d68047...ost3984824


---
Referanslar
*: https://docs.microsoft.com/en-us/windows...topenenuma
*: https://docs.microsoft.com/en-us/windows...tshareenum
Abdullah Ilgaz beyin söylediği doğrudur. Ya karşı tarafa, bu işi yapacak bir sunucu kurmanız ya da bunu Windows Network'un yapmasını sağlamanız gerekiyor (ya da kullandığınız sistem neyse o!...). Bu durumda bu işi yapacak kişinin oturumu istenilen yere bağlanma hakkına sahip olmalı. Bu da zaten işin doğal akışı demektir. Sistemciler bunu düzenleyeceklerdir, gerekli paylaşımları tanımlayacaklardır. Bu hak yoksa ve FTP vs. kullanırsanız, bu işlem bilgi çalma anlamına gelecektir. Mutlaka işletim sisteminin izin verdiği şekilde kullanın. Aksi halde sorunlara yol açabilir!

Bunu yaparken UNC (Universal Naming Convention) kullanırsanız paylaşımı harflere atamanız gerekmez.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Question Delphi formunu nasıl otomatik tam ekran yapabilirim ? erdemklt0 2 671 23-01-2026, Saat: 10:02
Son Yorum: csunguray
  SuperObject dosyaları hakkında adelphiforumz 2 797 18-06-2025, Saat: 11:02
Son Yorum: engerex
  TMS Web Core- REST İşlemlerini Nasıl Yapabilirim? kajmerantime 0 541 13-06-2025, Saat: 14:07
Son Yorum: kajmerantime
  Delphi 7 deki pencereleri nasıl sabitleyebilirim? mxpain 1 667 12-12-2024, Saat: 08:50
Son Yorum: 3ddark
  Delphi IDE project kısmına Klasör ekleme yanniosman 1 696 01-12-2024, Saat: 12:17
Son Yorum: frmman



Konuyu Okuyanlar: 1 Ziyaretçi