server dan dosya çekmek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
programmer76
Üye
Mesajlar: 14
Kayıt: 13 Tem 2005 12:18
Konum: Adana
İletişim:

server dan dosya çekmek

Mesaj gönderen programmer76 »

herkese kolay gelsin..!!

Benim sorunum şu ki bir terminal makinesine 2003 xp kullanan bir ana makinadan dosya kopyalamak istiyorum.. ama ana makine şifreli olduğu için olacak ki terminal makinesi paylaşıma açtığım dosyayı görmüyor.. ve dosyayı kopyalayıp getirmiyor bu engeli nasıl aşabilirim..ana makineye ulaşmak için yazdığım kodlar şöyle..!

CopyFile('\\recep\yeni_exeler\hbys.exe', 'C:\c_4\hbys.exe', False);


yardımlarınız için şimdiden teşekkürler..
Kullanıcı avatarı
Murat DİCLE
Kıdemli Üye
Mesajlar: 702
Kayıt: 19 Nis 2006 04:12
Konum: İstanbul
İletişim:

Mesaj gönderen Murat DİCLE »

\\recep\yeni_exeler\ için bir sürücü harfi oluştur. birde öyle dene.
programmer76
Üye
Mesajlar: 14
Kayıt: 13 Tem 2005 12:18
Konum: Adana
İletişim:

Mesaj gönderen programmer76 »

murat bey dediğiniz gibi sürücü tanımlamaya çalıştım ama halen ana makineye ulaşamıyorum.. kodlarım mı hatalı acaba yardımcı olursanız sevinirim..

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
AResult:Word;
begin
  AResult := WNetAddConnection('\\recep\c$\yeni_exeler','123321','z:');
      if AResult <> NO_ERROR then
       Begin
        Showmessage('baglanamadı');
       end
       else
       Showmessage('baglandı');
end;
Kullanıcı avatarı
Murat DİCLE
Kıdemli Üye
Mesajlar: 702
Kayıt: 19 Nis 2006 04:12
Konum: İstanbul
İletişim:

Mesaj gönderen Murat DİCLE »

kodlarla nasıl yapıldığını bilmiyorum ama manuel olarak sen kendin bir sürücü oluştur uzak makina için. sonra bak bakalım kopyalama yapabiliyor musun? sonrasına bakarsın..
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip »

ulaşan kişilerdeki yetki olaylarına bi bak

saygılar...
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
Kullanıcı avatarı
otherside
Üye
Mesajlar: 65
Kayıt: 11 Mar 2005 02:48
Konum: istanbul

Re: server dan dosya çekmek

Mesaj gönderen otherside »

programmer76 yazdı:herkese kolay gelsin..!!
CopyFile('\\recep\yeni_exeler\hbys.exe', 'C:\c_4\hbys.exe', False);
..
ag da baska bir bilgisayardan o şekilde kopyalama yapamzsınız socketleri kullanarak yapabirlirsiniz bir diger yoluda dosyayı maplayıp bir surucu harfi verin x diye sonra Copyfile(x\c_4\hbys.exe) diye kopyalama yapabilirsiniz .
programmer76
Üye
Mesajlar: 14
Kayıt: 13 Tem 2005 12:18
Konum: Adana
İletişim:

Mesaj gönderen programmer76 »

arkadaşlar sorunum halloldu herkese çok teşekkür ederim..
şöyle yaptım: öncelikle serverımın d: sinde güncelleme diye bir klasör açtım ve onu paylaşıma açtım.. izinlerinide full yaptım.. daha sonra aşağıdaki wnetadd connection kodu ile paylaşıma girerek gerekli dosyaları çektim.. çalışmam aşağıdaki gibi..

Kod: Tümünü seç

procedure TForm1.getir;
var
nr: TNetResource;
zlocal:Tdatetime;
zremote:Tdatetime;
begin
if fileexists('c:\c_4\hbys.exe') then
  begin
  nr.dwType := RESOURCETYPE_DISK;
  nr.lpLocalName := 'K:';
  nr.lpRemoteName := '\\recep\d$';
  nr.lpProvider := '';
  WNetAddConnection2(nr, '123321','administrator',CONNECT_UPDATE_PROFILE);
  zlocal:=Filedatetodatetime(fileage('c:\c_4\hbys.exe'));
  zremote:=Filedatetodatetime(fileage('\\recep\guncelleme\hbys.exe'));
  if zlocal <> zremote  then
        begin
        deletefile('c:\c_4\hbys.exe');
        CopyFile('\\recep\guncelleme\hbys.exe', 'C:\c_4\hbys.exe', False);
        WinExec('c:\c_4\hbys.exe',sw_shownormal);
        WNetCancelConnection2(Pchar('K:'), CONNECT_UPDATE_PROFILE, FALSE);
        end
    else
        begin
        WinExec('c:\c_4\hbys.exe',sw_shownormal);
        end;
  end
  else
  showmessage('c_4 dizininde gerekli dosya bulunamıyor.!');

  nr.dwType := RESOURCETYPE_DISK;
  nr.lpLocalName := 'K:';
  nr.lpRemoteName := '\\recep\d$';
  nr.lpProvider := '';
  WNetAddConnection2(nr, '123321','administrator',CONNECT_UPDATE_PROFILE);

  CopyFile('\\recep\guncelleme\hbys.exe', 'C:\c_4\hbys.exe', False);
  WinExec('c:\c_4\hbys.exe',sw_shownormal);
  WNetCancelConnection2(Pchar('K:'), CONNECT_UPDATE_PROFILE, FALSE);
  end;

herkese kolay gelsin!!!!
Cevapla