PDA

View Full Version : مبتدی: تبدیل C#‎‎‎‎‎‎ به VB کمک فوری



nasseritemp
شنبه 21 بهمن 1391, 09:27 صبح
سلام

لطفا برای تبدیل کد زیر به Vb منو راهنمایی کنید.
تو اکثر سایت هایی که این کار رو انجام میدند تست کردم ولی جواب نداد.
با تشکر

namespace UserControlEvents
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

formControlPointer += new controlcall(btnHello_Click);
ucMyControl.userControlPointer = formControlPointer;

formFunctionPointer += new functioncall(Replicate);
ucMyControl.userFunctionPointer = formFunctionPointer;
}

public delegate void controlcall(object sender, EventArgs e);
public delegate void functioncall(string message);

private event controlcall formControlPointer;
private event functioncall formFunctionPointer;

private void btnHello_Click(object sender, EventArgs e)
{
MessageBox.Show("You typed: " + txtMessage.Location.Y );
}

private void Replicate(string message)
{
txtReplicate.Text = message;
}
}
}

SHD.NET
شنبه 21 بهمن 1391, 12:14 عصر
سلام

ببین این درست تبدیل شده :

Namespace UserControlEvents

Public Class Form1
Inherits Form

Public Sub New()
MyBase.New
InitializeComponent
formControlPointer = (formControlPointer + New controlcall(btnHello_Click))
ucMyControl.userControlPointer = formControlPointer
formFunctionPointer = (formFunctionPointer + New functioncall(Replicate))
ucMyControl.userFunctionPointer = formFunctionPointer
End Sub

Public Delegate Sub controlcall(ByVal sender As Object, ByVal e As EventArgs)

Public Delegate Sub functioncall(ByVal message As String)

Private Event formControlPointer As controlcall

Private Event formFunctionPointer As functioncall

Private Sub btnHello_Click(ByVal sender As Object, ByVal e As EventArgs)
MessageBox.Show(("You typed: " + txtMessage.Location.Y))
End Sub

Private Sub Replicate(ByVal message As String)
txtReplicate.Text = message
End Sub
End Class
End Namespace

**یاعلی**

systam
شنبه 21 بهمن 1391, 12:39 عصر
سلام
این سایت (http://www.developerfusion.com/tools/convert/vb-to-csharp/)کد ها سناتوری برات تیدیل میکنه

nasseritemp
شنبه 21 بهمن 1391, 15:15 عصر
نه دوست عزیز خطای زیر رو میده
99823

nasseritemp
شنبه 21 بهمن 1391, 15:36 عصر
سلام
این سایت (http://www.developerfusion.com/tools/convert/vb-to-csharp/)کد ها سناتوری برات تیدیل میکنه

دوست عزیز همه این سایتها رو امتحان کردم.

من کل پروژه رو آپلود میکنم. ممنون میشم اگه کمکم کنید.

99824

f_talebi
شنبه 21 بهمن 1391, 17:04 عصر
یه نرم افزار هست vb.net to C#‎ converter
از اونم میتونید استفاده کنین

systam
یک شنبه 22 بهمن 1391, 18:49 عصر
دوست عزیز همه این سایتها رو امتحان کردم.

من کل پروژه رو آپلود میکنم. ممنون میشم اگه کمکم کنید.

UserControlEvent.rar (http://barnamenevis.org/attachment.php?attachmentid=99824&d=1360413360)
سلام
جناب sh.dehnavi (http://barnamenevis.org/member.php?254254-sh.dehnavi) زحمت کشیدند کد ها رو برای شما تبدیل کردند
شما باید ببنید مشکل کد ها کجاست برطرف کنی


یا علی

xxnagin
یک شنبه 22 بهمن 1391, 22:26 عصر
سلام

مشکل کدها ی مربوط به قسمت sub new
یه نصف ش رو من بر طرف کردم


AddHandler formControlPointer, Newcontrolcall(AddressOf btnHello_Click)
AddHandler formFunctionPointer, Newfunctioncall(AddressOf Replicate)

خط بالا به جای خط پایین


formControlPointer += new controlcall(btnHello_Click);
formFunctionPointer += new functioncall(Replicate);

ولی اون دو خط ش رو نمیدونم چطوریه

یه event به اخر خط اضافه کن
که در قسمت btnhello اشکال میگیره



ucMyControl.userControlPointer = formControlPointerEvent
ucMyControl.userFunctionPointer = formFunctionPointerEvent

arash020
یک شنبه 22 بهمن 1391, 23:23 عصر
سلام کل(همه سورس برنامه ت) رو اول تا اخر کامل وارد برنامه تبدیل کد این وبلاگ کن

http://eaglevb.blogfa.com/

ببین نتیجه رو
شاید نتیجه داد...

xxnagin
یک شنبه 22 بهمن 1391, 23:39 عصر
ببین نرم افزارت مشکل داره
اینم بگم بعضی از نرم افزارهای convert مثل مال خودم convert.net که از سایت codeplex گرفتم هم مثل شما داره تبدیل میکنه

AddressOf و AddHandler و Delegate رو کلا نادیده میگیره
دو خط بعدی
ucMyControl.userControlPointer = formControlPointer
ucMyControl.userFunctionPointer = formFunctionPointer
formControlPointer و formFunctionPointer دو تا event هستند که به این دوتا تو usercontrl ربط داده شده


publicDelegate userControlPointer;
publicDelegate userFunctionPointer;


این دو خط را باید اینجوری بشه
formControlPointer += newcontrolcall(btnHello_Click);
formFunctionPointer += newfunctioncall(Replicate);

AddHandler formControlPointer, Newcontrolcall(AddressOf btnHello_Click)
AddHandler formFunctionPointer, Newfunctioncall(AddressOf Replicate)

نه اینجوری که فقط کپی و پیست کنه

nasseritemp
دوشنبه 23 بهمن 1391, 10:58 صبح
این دو خط را باید اینجوری بشه
formControlPointer += newcontrolcall(btnHello_Click);
formFunctionPointer += newfunctioncall(Replicate);

AddHandler formControlPointer, Newcontrolcall(AddressOf btnHello_Click)
AddHandler formFunctionPointer, Newfunctioncall(AddressOf Replicate)

نه اینجوری که فقط کپی و پیست کنه

[/COLOR][/FONT][/SIZE][/COLOR][/SIZE][/FONT]

ممنون از توجهتون.
ولی من متوجه منظورتون نشدم. اگه ممکنه خروجی 2 تا پست قبلیتون رو به صورت واضحتر بیان کنید.
با تشکر

xxnagin
دوشنبه 23 بهمن 1391, 13:11 عصر
در مورد Delegate (http://barnamenevis.org/showthread.php?377630-سوال-CallBack&highlight=Delegate) به این تایپیک برید
اینم هستش http://barnamenevis.org/showthread.php?359005
خود msdn (http://msdn.microsoft.com/en-us/library/ms172879.aspx)
وقتی شما یک event برای کنترلی میسازید از AddHandler هم میشه استفاده میشه ولی تو #c همچین چیزی وجود نداره
که تو #C اینجوری بکار میره
formControlPointer += new controlcall(btnHello_Click);
که این کد همون کار رویداد Click رو انجام میده
مثلا کد زیر که همون کار Click انجام میده
controlcall هم کار EventArgs رو انجام میده
Public Delegate Sub controlcall(sender As Object, e As EventArgs)
AddHandler formControlPointer, New controlcall(AddressOf btnHello_Click)
ucMyControl.userControlPointer = formControlPointerEvent
که با این فرقی نمیکنه
PrivateSub btnHello_Click(sender AsObject, e AsEventArgs) Handles btnHello.Click

EndSub