Network üstünde çalışmayan Assignfile reset

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ertank
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

Re: Network üstünde çalışmayan Assignfile reset

Mesaj gönderen ertank »

Merhaba,

Reset() fonksiyonu standart olarak dosyayı Okuma/Yazma modunda açar. Sizin yazma yetkiniz olmadığı için hata almanız mümkün. Sadece okunur şekilde dosya açmak istiyorsanız global FileMode değişkenini Reset() prosedürünü çağırmadan önce sadece okunur şekilde ayarlamalısınız.

Kod: Tümünü seç

var
  F: TextFile;
begin
  AssignFile('\\sunucu\dizin\dosya.txt');
  FileMode := fmOpenRead;
  Reset(F);
end;
ertank
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

Re: Network üstünde çalışmayan Assignfile reset

Mesaj gönderen ertank »

Daha önce forumda ShellApi ile klasör silme örneği verilmişti
viewtopic.php?f=2&t=9902&p=197665&p197661#p197661

Bu örnek aşağıdaki şekilde genişletilebilir:

Kod: Tümünü seç

procedure CopyFolder(const AHandle: HWND; const Source, Destination: string);
var
  ShOp: TSHFileOpStruct;
begin
  ShOp.Wnd := AHandle;
  ShOp.wFunc := FO_COPY;
  ShOp.pFrom := PChar(Source + #0);
  ShOp.pTo := PChar(Destination + #0);
  ShOp.fFlags := FOF_SIMPLEPROGRESS;
  SHFileOperation(ShOp);
end;
Kullanımı şöyle olacaktır:

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
begin
  CopyFolder(Self.Handle, 'C:\temp\temp.rar', 'C:\temp\tempnew.rar');
end;
Parametre olarak klasör adı da verilebilir. Alternatif kullanım şekilleri için fFlags parametresinin alabileceği değerleri (FOF_ ile başlayan sabit tanımlar) inceleyebilirsiniz.
Cevapla