Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

iz VB.NET-a u C#

[es] :: .NET :: .NET Desktop razvoj :: iz VB.NET-a u C#

[ Pregleda: 2930 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Mar_go
Wien

Član broj: 19818
Poruke: 3
*.27.11.vie.surfer.at



Profil

icon iz VB.NET-a u C#16.03.2004. u 08:23 - pre 244 meseci
Zdravo svima,
da li mi neko moze pomoci ovo iz VB.Net-a u C# da konvertujem. Hvala na svakoj pomoci.


Private Sub ButtonLog_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonLog.Click
' Login to Exchange Server
oSession = CreateObject("MAPI.Session")
oSession.Logon(ShowDialog:=False, NewSession:=False)

If (oSession.CurrentUser.Name = "Unknown") Then
'Not a good logon, logoff and exit
oSession.Logoff()
MsgBox("Logon error!", MsgBoxStyle.OKOnly + MsgBoxStyle.Exclamation, "CDO Logon")
Exit Sub
End If
End Sub

Private Sub ButtontvFill_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtontvFill.Click
' Fill Tree View with MAPI Folders
Dim oStore As MAPI.InfoStore
Dim childNode As TreeNode

rootNode = Me.TreeViewMAPIFolders.Nodes.Add("Exchange Folders")
For Each oStore In oSession.InfoStores
childNode = Me.rootNode.Nodes.Add(oStore.Name)
RecurseFolder(oStore.RootFolder, childNode)
Next
ButtontvFill.Visible = False
End Sub

Private Sub RecurseFolder(ByVal RootFolder As MAPI.Folder, ByVal parentNode As TreeNode)
Dim subNode As TreeNode
Dim subFolder As MAPI.Folder

For Each subFolder In RootFolder.Folders
subNode = New TreeNode(subFolder.Name)
parentNode.Nodes.Add(subNode)
RecurseFolder(subFolder, subNode)
Next
End Sub
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Re: iz VB.NET-a u C#16.03.2004. u 17:30 - pre 244 meseci
Imaš programe koji to automatski rade. Npr:

http://www.codeproject.com/csharp/gbvb.asp
 
Odgovor na temu

Mar_go
Wien

Član broj: 19818
Poruke: 3
*.27.11.vie.surfer.at



Profil

icon Re: iz VB.NET-a u C#16.03.2004. u 22:24 - pre 244 meseci
Hvala na odgovoru!
Ja sam sada to ovako sama pocetnicki pokusala, medjutim dobijam error da foreach
ne moze na varijable tipa object da se primenjuje, zato sto nema definiciju za "GetEnumerator"... ?????
Eine 'foreach'-Anweisung kann nicht auf Variablen des Typs 'object' angewendet werden, weil 'object' keine Definition für 'GetEnumerator' enthält, oder Zugriff nicht möglich ist.



MAPI.Session oSession = new MAPI.Session();
Object vEmpty = Missing.Value;
// Login to Exchange Server
oSession.Logon(vEmpty, vEmpty, true, true, 0, true, vEmpty);

MAPI.InfoStores oStore = null;
TreeNode childNode = null;
TreeNode rootNode = TreeViewMAPIFolders.Nodes.Add("Exchange Folders");

foreach (MAPI.InfoStores oStore in oSession.InfoStores)
{

childNode = this.rootNode.Nodes.Add(oStore.Name);
RecurseFolder(oStore.RootFolder, childNode);
}

Unapred hvala,
Margo
 
Odgovor na temu

ZokiR
Zoran Radojković
Melburn, Australija

Član broj: 15986
Poruke: 109
*.vic.bigpond.net.au



Profil

icon Re: iz VB.NET-a u C#17.03.2004. u 13:31 - pre 244 meseci
U c#, foreach se koristi samo za kolekcije koje implementiraju IEnumerable interfejs ili ako deklarišu GetEnumerator metod.

U ovom slučaju možeš da upotrebiš običnu for petlju uz Count i get_Item():

Code:
            
for (int i = 1; i <= (int)((MAPI.InfoStores)session.InfoStores).Count; i++)
{
    MAPI.InfoStore store = (MAPI.InfoStore)((MAPI.InfoStores)session.InfoStores).get_Item(i);
    childNode = rootNode.Nodes.Add((string)store.Name);
    this.RecurseFolder((MAPI.Folder)store.RootFolder, childNode);
}
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: iz VB.NET-a u C#18.03.2004. u 09:59 - pre 244 meseci
Citat:
ZokiR:
U c#, foreach se koristi samo za kolekcije koje implementiraju IEnumerable interfejs ili ako deklarišu GetEnumerator metod.

Isto važi i za VB.NET. Postoji i COM verzija IEnumerable i COM platform invoke uvek za COM kolekcije implementira .NET IEnumerable, pa su COM kolekcije dostupne kao takve u .NETu. MIslim da se ovde krije nešto drugo.
BTW, mali input, čak i MS preporučuje sa strane optimizacije da se ne koristi foreach, pošto je sporiji od for(x=0;x<Count;x++)

Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: iz VB.NET-a u C#

[ Pregleda: 2930 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.