powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Перевод кода из VB в C#
15 сообщений из 15, страница 1 из 1
Перевод кода из VB в C#
    #32516283
chess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди добрые помогите. Откопал следующий код на 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
Перевод кода из VB в C#
    #32516418
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну что то типа этого можешь попробовать, только я не понял где 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
Перевод кода из VB в C#
    #32516482
chess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как где, объявлен в самом верху.

Dim TheDomain As IADsDomain
Dim Computer As IADsComputer
...
Рейтинг: 0 / 0
Перевод кода из VB в C#
    #32516501
chess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В самом начали создать проект 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
Перевод кода из VB в C#
    #32516585
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда пока так;

Код: 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
Перевод кода из VB в C#
    #32516729
chess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не а не работае
Ругается

Код: 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
Перевод кода из VB в C#
    #32516981
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше поделись библиотечкой этой а мы попробуем

GetObject ищи в Reflection

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


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