Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Перевод кода из VB в C# / 15 сообщений из 15, страница 1 из 1
13.05.2004, 14:00
    #32516283
chess
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод кода из VB в C#
Люди добрые помогите. Откопал следующий код на VB, но никак не могу перевести его в C#.
Помогите плз.

Once you have installed the ADSI run-time, you will have the Active DS Type Library (ActiveDS.tlb) available. The Active DS Type Library provides the ADSI object model.


Create a Standard EXE project in Visual Basic. Form1 is created by default.
Set a reference to the Active DS Type Library by selecting Project, References, and then selecting Active DS Type Library.

NOTE: You may not see the Active DS Type Library in the list of available References. To add the Library to the list:


1. Click Browse.
2. Go to the Windows\System folder or WinNT\System32 folder.
3. Select the file ActiveDS.tlb.
4. From now on, the Active DS Type Library is among the list of available References.
5. Add a ListBox and CommandButton to Form1.
6. Add the following code to Form1's Code Window.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
 Private Sub Command1_Click()

     Dim TheDomain As IADsDomain
     Dim Computer As IADsComputer
     Dim strDomain As String
     Dim iMousePointer As Integer

     'Accept the Domain name
     strDomain = InputBox("Domain Name: ")

     'Use the WinNT Directory Services
     strDomain = "WinNT://" & strDomain

     'Initialize the User Interface
     List1.Clear
     iMousePointer = Me.MousePointer
     Me.MousePointer = vbHourglass

     'Create the Domain object
     Set TheDomain = GetObject(strDomain)

    'Search for Computers in the Domain
     TheDomain.Filter = Array("Computer")

     For Each Computer In TheDomain
       List1.AddItem Computer.Name
     Next Computer

    'Clean up
     Me.MousePointer = iMousePointer
     Set Computer = Nothing
     Set TheDomain = Nothing

End Sub 'Command1_Click

Run the test project by doing the following:


Click CommandButton.
When prompted, enter the Domain name. Depending on the number of computers in the domain, the enumeration may take a while.
...
Рейтинг: 0 / 0
13.05.2004, 14:56
    #32516418
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод кода из VB в C#
Ну что то типа этого можешь попробовать, только я не понял где Computer, List1, Array. Что это такое?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
private void Command1_Click()
{
	IADsDomain TheDomain;
	IAdsComputer strDomain;
	string strDomain;
	int iMousePointer;
	//Accept the Domain name
	strDomain = InputBox("Domain Name: ");
	//Use the WinNT Directory Services
	strDomain = "WinNT://" + strDomain;
	//Initialize the User Interface
	List1.Clear();
	iMousePointer = this.MousePointer;
	this.MousePointer = vbHourglass;
	//Create the Domain object
	TheDomain = GetObject(strDomain);
	//Search for Computers in the Domain
	TheDomain.Filter = Array("Computer");
	foreach (Computer in TheDomain)  // Где Computer потерял?
	{
		List1.AddIterm(Computer.Name);
	}
	//Clean up
	this.MousePointer = iMousePointer;
	Computer = null;
	TheDomain = null;

}
...
Рейтинг: 0 / 0
13.05.2004, 15:19
    #32516482
chess
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод кода из VB в C#
Как где, объявлен в самом верху.

Dim TheDomain As IADsDomain
Dim Computer As IADsComputer
...
Рейтинг: 0 / 0
13.05.2004, 15:29
    #32516501
chess
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод кода из VB в C#
В самом начали создать проект Visual C# Projects WindowsApplication
На форме разсположены ListBox.Name=List1 и Button. Говорят что это работает на VB6. Но я не могу ни как запустить в C#.
А это ссылка откуда это все.
http://support.microsoft.com:80/support/kb/articles/q194/1/15.asp&NoWebContent=1&NoWebContent=1
...
Рейтинг: 0 / 0
13.05.2004, 16:01
    #32516585
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод кода из VB в C#
тогда пока так;

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
private void Command1_Click()
{
	IADsDomain TheDomain;
	IAdsComputer strDomain;
	IADsComputer Computer ;
	string strDomain;
	//Accept the Domain name
	strDomain = "DomainName";
	//Use the WinNT Directory Services
	strDomain = "WinNT://" + strDomain;
	//Initialize the User Interface
	List1.Items.Clear();
	//Create the Domain object
	TheDomain = GetObject(strDomain);
	//Search for Computers in the Domain
	TheDomain.Filter = Array("Computer"); // здесь пока не понятно
	foreach (IADsComputer Computer in TheDomain)
	{
		List1.Items.Add("Computer.Name")
	}
	//Clean up
	Computer = null;
	TheDomain = null;
}

А что не работает то где ругается?
...
Рейтинг: 0 / 0
13.05.2004, 16:52
    #32516729
chess
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод кода из VB в C#
Не а не работае
Ругается

Код: plaintext
1.
//Create the Domain object
TheDomain = GetObject(strDomain);

D:\Мои документы\Visual Studio Projects\WindowsApplication6\Form1.cs(112): The name 'GetObject' does not exist in the class or namespace 'WindowsApplication6.Form1'

Код: plaintext
TheDomain.Filter = Array("Computer");

D:\Мои документы\Visual Studio Projects\WindowsApplication6\Form1.cs(114): 'ActiveDs.IADsDomain' does not contain a definition for 'Filter'


Код: plaintext
foreach (IADsComputer Computer in TheDomain)

D:\Мои документы\Visual Studio Projects\WindowsApplication6\Form1.cs(115): foreach statement cannot operate on variables of type 'ActiveDs.IADsDomain' because 'ActiveDs.IADsDomain' does not contain a definition for 'GetEnumerator', or it is inaccessible

Вот в этих местах и ругается.
...
Рейтинг: 0 / 0
13.05.2004, 18:44
    #32516981
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод кода из VB в C#
Лучше поделись библиотечкой этой а мы попробуем

GetObject ищи в Reflection

Array сам не знаю.
...
Рейтинг: 0 / 0
14.05.2004, 09:13
    #32517316
chess
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод кода из VB в C#
Скажи на какой адрес слить библиотеку. Весит она 105Kb
...
Рейтинг: 0 / 0
14.05.2004, 09:17
    #32517322
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод кода из VB в C#
Выложи сюда
http://www.webfile.ru/
чтобы каждый желающий смог забрать
...
Рейтинг: 0 / 0
14.05.2004, 09:25
    #32517336
chess
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод кода из VB в C#
Скачай по адресу webfile.ru/7638
...
Рейтинг: 0 / 0
14.05.2004, 09:54
    #32517366
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод кода из VB в C#
А System.DirectoryServices ты не пробовал?
...
Рейтинг: 0 / 0
14.05.2004, 09:58
    #32517370
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод кода из VB в C#
Какая у тебя задача?
...
Рейтинг: 0 / 0
14.05.2004, 10:07
    #32517386
chess
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод кода из VB в C#
Работал.
Смотри /topic/91325
...
Рейтинг: 0 / 0
14.05.2004, 13:58
    #32518141
chess
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод кода из VB в C#
Значит ни кто мне помочь не сможет??:((
...
Рейтинг: 0 / 0
14.05.2004, 14:05
    #32518167
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевод кода из VB в C#
Посмотри вот это.
http://www.devtrain.de/artikel_806.aspx
Там есть пример также и с COM.
Результаты пиши сюда. Интересно хотя для меня и не актуально.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Перевод кода из VB в C# / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]