Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.11;
Скачать: CL | DM;

Вниз

Как разрешить общий доступ к диску?   Найти похожие ветки 

 
aglar   (2005-11-21 18:30) [0]

Есть кусок кода, не знаю на чем написан. Помогите перевести на язык Дельфи (что-то мне подсказывает, что везде где видно "50" нужно писать "502") :

--------
share_info_50 shinfo50;

 ZeroMemory(&shinfo50,sizeof(shinfo50));
 shinfo50.shi50_type=STYPE_DISKTREE;
 shinfo50.shi50_flags=SHI50F_FULL | SHI50F_SYSTEM| SHI50F_PERSIST;
 shinfo50.shi50_remark="";

 // Расшариваем 1-й диск
 lstrcpyn(shinfo50.shi50_netname,"TEMP1$",LM20_NNLEN+1);
 shinfo50.shi50_path="C:\\";
 NetShareAdd(NULL,50,(char*)&shinfo50,sizeof(struct share_info_50));

 // Расшариваем 2-й диск
 lstrcpyn(shinfo50.shi50_netname,"TEMP2$",LM20_NNLEN+1);
 shinfo50.shi50_path="D:\\";
 NetShareAdd(NULL,50,(char*)&shinfo50,sizeof(struct share_info_50));

 // Расшариваем 3-й диск
 lstrcpyn(shinfo50.shi50_netname,"TEMP3$",LM20_NNLEN+1);
 shinfo50.shi50_path="E:\\";
 NetShareAdd(NULL,50,(char*)&shinfo50,sizeof(struct share_info_50));

 // P.S. Все это только для Win95/98/Me. Для NT нужно немного
 // модифицировать.

-----
Кстати если кто разобрался, как это модифицировать для работы в XP\NT?


 
clickmaker ©   (2005-11-21 18:37) [1]


> Есть кусок кода, не знаю на чем написан

на Cи.

заменяешь = на :=
@ на &
NULL на nil
| на or


 
clickmaker ©   (2005-11-21 18:37) [2]

наоборот, конечно же
& на @


 
aglar   (2005-11-22 13:12) [3]

вот что получилось, но компилятор на это жутко ругается:

unit ShareDisk;

interface

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

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

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  shinfo50: share_info_502;
begin

ZeroMemory(@shinfo50,sizeof(shinfo50));
shinfo50.shi502_type:=STYPE_DISKTREE;
shinfo50.shi502_flags:=SHI502F_FULL or SHI502F_SYSTEM or SHI502F_PERSIST;
shinfo50.shi502_remark:="";

lstrcpyn(shinfo50.shi502_netname,"TEMP1$",LM20_NNLEN+1);
shinfo50.shi502_path:="C:\\";
NetShareAdd(nil,502,(char*)@shinfo50,sizeof(struct share_info_502));

lstrcpyn(shinfo50.shi50_netname,"TEMP2$",LM20_NNLEN+1);
shinfo50.shi50_path:="D:\\";
NetShareAdd(nil,502,(char*)@shinfo50,sizeof(struct share_info_502));

lstrcpyn(shinfo50.shi50_netname,"TEMP3$",LM20_NNLEN+1);
shinfo50.shi50_path:="E:\\";
NetShareAdd(nil,502,(char*)@shinfo50,sizeof(struct share_info_502));

end;

end.

-----

Что я делаю не так?


 
clickmaker ©   (2005-11-22 13:18) [4]

не знаю как компилятор, но я бы ругался на (char*)@shinfo50
нет такой конструкции и типа в паскале. Если уж приводить тип, то так: PChar(@shinfo50). Хотя в данном случае, скорей всего достаточно просто shinfo50

PS. Признак хорошего тона - не писать фраз типа "компилятор на это жутко ругается", а текст самого ругательства


 
Anatoly Podgoretsky ©   (2005-11-22 13:44) [5]

aglar   (22.11.05 13:12) [3]
Точно ругается, матом?


 
Не молодой   (2005-11-22 14:30) [6]

Здесь все это есть:
http://www.delphimaster.ru/articles/netmon/index.html



Страницы: 1 вся ветка

Текущий архив: 2005.12.11;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.04 c
1-1132156198
Asail
2005-11-16 18:49
2005.12.11
Вопрос по компоненте IAeverButton....


14-1132150008
ISP
2005-11-16 17:06
2005.12.11
Интересно, что за штука такая...


2-1132654437
mrAld
2005-11-22 13:13
2005.12.11
глюк TPageControl


2-1132570964
Apachi
2005-11-21 14:02
2005.12.11
TWebBrowser как прочитать содержимое


2-1132504798
Seriy
2005-11-20 19:39
2005.12.11
Как Windows запоняет данными буфер, переданный в функцию?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский