Главная страница
    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.041 c
14-1132314922
Opilki_Inside
2005-11-18 14:55
2005.12.11
Полупрозрачность иконок


2-1132550552
Mamur
2005-11-21 08:22
2005.12.11
Обращение из папки которой запускается


14-1132254389
Kerk
2005-11-17 22:06
2005.12.11
Является ли Финляндия скандинавской страной?


4-1128934874
Vano85
2005-10-10 13:01
2005.12.11
Мониторинг за файлами


2-1133073559
Jester2
2005-11-27 09:39
2005.12.11
Люди pls помогите, я только начинаю кодить на Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский