Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.12.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.038 c
2-1132905010
rsboarder
2005-11-25 10:50
2005.12.11
Фунция Round


4-1128951430
Gluk
2005-10-10 17:37
2005.12.11
Перехват окна сохранения


14-1132530722
SVASH
2005-11-21 02:52
2005.12.11
USBPRINT.SYS


9-1121154375
Xenon
2005-07-12 11:46
2005.12.11
Вопрос по GLScene


3-1130310225
carmen
2005-10-26 11:03
2005.12.11
Обращение в SQL запросе не по имени поля





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