Partage d'un répertoire

korntex5 Messages postés 10 Date d'inscription jeudi 7 août 2003 Statut Membre Dernière intervention 25 mai 2008 - 30 sept. 2003 à 12:00
cs_RMD Messages postés 84 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 21 mai 2004 - 13 juil. 2005 à 08:08
>:)

sos...je cheche a partager avec delphi un répertoire sur le réseau en accès complet quelqu'un a t'il une solution...svp

3 réponses

cs_RMD Messages postés 84 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 21 mai 2004
2 oct. 2003 à 17:48
J'avais récupéré cette unité de Thierry G. chez Developpez.net il y a quelque temps, cela devrait t'aller :
unit Unit1;

interface

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

type

_SHARE_INFO_2 = record
shi2_netname: LPWSTR;
shi2_type: DWORD;
shi2_remark: LPWSTR;
shi2_permissions: DWORD;
shi2_max_uses: DWORD;
shi2_current_uses: DWORD;
shi2_path: LPWSTR;
shi2_passwd: LPWSTR;
end;
PSHARE_INFO_2= ^_SHARE_INFO_2;

TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;

var
Form1: TForm1;
Share: PSHARE_INFO_2;
ParamErr: lpdword;
Rep : longint;

const
STYPE_DISKTREE = 0;
STYPE_PRINTQ = 1;
STYPE_DEVICE = 2;
STYPE_IPC = 3;
STYPE_DFS = 100;
STYPE_SPECIAL = $80000000;

ACCESS_NONE = 0;
ACCESS_READ = 1;
ACCESS_WRITE = 2;
ACCESS_CREATE = 4;
ACCESS_EXEC = 8;
ACCESS_DELETE = 16;
ACCESS_ATRIB = 32;
ACCESS_PERM = 64;
ACCESS_ALL = (ACCESS_READ+ACCESS_WRITE+ACCESS_CREATE+ACCESS_EXEC+ACCESS_DELETE+ACCESS_ATRIB+ACCESS_PERM);

implementation

function NetShareAdd(servername: LPWSTR;
level: DWORD;
buf: pSHARE_INFO_2;
parm_err: LPDWORD): LongWord; stdcall; external 'netapi32.dll';

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
new(share);
Share^.shi2_netname := 'TESTSHARE'; //nom de partage du dossier
Share^.shi2_type := STYPE_DISKTREE; // disk drive
Share^.shi2_remark := 'TESTSHARE to test NetShareAdd'; // zone commentaire
Share^.shi2_permissions := ACCESS_ALL; //definition des droits
Share^.shi2_max_uses := 4; // nb max de users simultane
Share^.shi2_current_uses := 0;
Share^.shi2_path := 'C:\alert'; //ici le chemin du dossier a partager
Share^.shi2_passwd := Nil; // nil si pas password

rep := NetShareAdd(nil, 2, SHARE, ParamErr);
if rep = 0 then
messagedlg('OK Dossier partagé',mtInformation,[mbOK], 0)
else
messagedlg(inttostr(rep) + ' - ' +SysErrorMessage(rep),mtWarning, [mbOK], 0);
dispose(share);
end;

end.

RMD

www.Logiciels-RMD.com
0
otopro Messages postés 1 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 12 juillet 2005
12 juil. 2005 à 18:40
bonjour!

j'ai utilisé ce code pour partager un dossier mais probleme, il n'est pas accessible depuis d'autre PC je mexplique: le dossier est bien partagé, on le vois sur reseau, mais on ne peux pas entrer. est ce qu'il faut changer un paramètre dans ce code ou bien il faut ajouter une ligne de commande comme quoi il est accessible pour tous les utilisateurs...

et merci bcp...
0
cs_RMD Messages postés 84 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 21 mai 2004
13 juil. 2005 à 08:08
Bonjour,

Va voir ici : http://www.developpez.net/forums/viewtopic.php?t=232050&highlight=partage+dossier
Cela t'aidera peut-être...


RMD

www.Logiciels-RMD.com
0
Rejoignez-nous