Click to See Complete Forum and Search --> : Convert VB.NET to C++


wubaz
October 27th, 2009, 05:48 PM
I'm really bad at converting code, and i hope for someon who can convert this text for me:

Public Class Form1
Dim int As Integer = 0

Private Sub Loading(ByVal sender As Object, ByVal e As Windows.Forms.WebBrowserProgressChangedEventArgs)
ToolStripProgressBar1.Maximum = e.MaximumProgress
ToolStripProgressBar1.Value = e.CurrentProgress
End Sub

Private Sub Done(ByVal sender As Object, ByVal e As Windows.Forms.WebBrowserDocumentComplete dEventArgs)
TabControl1.SelectedTab.Text = CType(TabControl1.SelectedTab.Controls.I tem(0), WebBrowser).DocumentTitle
ComboBox1.Text = CType(TabControl1.SelectedTab.Controls.I tem(0), WebBrowser).Url.ToString
End Sub


Dim Browser As New WebBrowser
TabControl1.TabPages.Add("New Page")
Browser.Name = "Web Browser"
Browser.Dock = DockStyle.Fill
TabControl1.SelectedTab.Controls.Add(Bro wser)
AddHandler Browser.ProgressChanged, AddressOf Loading
AddHandler Browser.DocumentCompleted, AddressOf Done
int = int + 1
CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).GoHome()


Dim Browser As New WebBrowser
TabControl1.TabPages.Add("New Page")
TabControl1.SelectTab(int)
Browser.Name = "Web Browser"
Browser.Dock = DockStyle.Fill
TabControl1.SelectedTab.Controls.Add(Bro wser)
AddHandler Browser.ProgressChanged, AddressOf Loading
AddHandler Browser.DocumentCompleted, AddressOf Done
int = int + 1
CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).GoHome()

If Not TabControl1.TabPages.Count = 1 Then
TabControl1.TabPages.RemoveAt(TabControl 1.SelectedIndex)
TabControl1.SelectTab(TabControl1.TabPag es.Count - 1)
int = int - 1
End If


NOTE: There may be some spelling mistakes.

David Anton
October 27th, 2009, 06:15 PM
The following is the conversion to C++/CLI - if you want native C++ you'll need to rewrite from scratch since there are no direct native equivalents to the .NET library references you are using:

public ref class Form1
{
private:
int __identifier(int);

void Loading(System::Object ^sender, Windows::Forms::WebBrowserProgressChangedEventArgs ^e)
{
ToolStripProgressBar1->Maximum = e->MaximumProgress;
ToolStripProgressBar1->Value = e->CurrentProgress;
}

void Done(System::Object ^sender, System::Object ^e)
{
TabControl1::SelectedTab->Text = (safe_cast<WebBrowser^>(TabControl1::SelectedTab->Controls->I tem(0)))->DocumentTitle;
ComboBox1->Text = (safe_cast<WebBrowser^>(TabControl1::SelectedTab->Controls->I tem(0)))->Url->ToString();
}
};

WebBrowser ^Browser = gcnew WebBrowser();
TabControl1::TabPages->Add("New Page");
Browser->Name = "Web Browser";
Browser->Dock = DockStyle::Fill;
TabControl1::SelectedTab->Controls->Add(Bro wser);
Browser->ProgressChanged += gcnew System::Windows::Forms::WebBrowserProgressChangedEventHandler(this, &Loading);
Browser->DocumentCompleted += gcnew System::Windows::Forms::WebBrowserDocumentCompletedEventHandler(this, &Done);
__identifier(int) = __identifier(int) + 1;
(safe_cast<WebBrowser^>(TabControl1::SelectedTab->Controls[0]))->GoHome();

WebBrowser ^Browser = gcnew WebBrowser();
TabControl1::TabPages->Add("New Page");
TabControl1::SelectTab(__identifier(int));
Browser->Name = "Web Browser";
Browser->Dock = DockStyle::Fill;
TabControl1::SelectedTab->Controls->Add(Bro wser);
Browser->ProgressChanged += gcnew System::Windows::Forms::WebBrowserProgressChangedEventHandler(this, &Loading);
Browser->DocumentCompleted += gcnew System::Windows::Forms::WebBrowserDocumentCompletedEventHandler(this, &Done);
__identifier(int) = __identifier(int) + 1;
(safe_cast<WebBrowser^>(TabControl1::SelectedTab->Controls[0]))->GoHome();

if (! (TabControl1::TabPages->Count == 1))
{
TabControl1::TabPages->RemoveAt(TabControl 1.SelectedIndex);
TabControl1::SelectTab(TabControl1::TabPag es->Count - 1);
__identifier(int) = __identifier(int) - 1;
}

wubaz
October 27th, 2009, 06:44 PM
Thanks alot! It worked great :D