PDA

View Full Version : سوال: مشکل در تبدیل vb.net به #C



reza6966
پنج شنبه 10 شهریور 1390, 17:25 عصر
با سلام خدمت همه دوستان
من یه برنامه pdu decoder رو که به زبان vb.net نوشته شده رو می خوام به سی شارپ تبدیل کنم اما حین انجام این عمل توسط http://www.developerfusion.com/tools/convert/vb-to-csharp/ با مشکل رو به رو شدم , و کد ها اشتباه تبدیل می کنه
کسی می تونه من رو راهنمایی کند ؟؟؟؟
ممنون می شم دوستان
فایل رو ضمیمه می کنم

reza6966
پنج شنبه 10 شهریور 1390, 17:29 عصر
مثلا در این تبدیل زیر برنامه زیر رو به یکسری کد های بی معنی تبدیل می کند

'Get date from SCTS format
Shared Function GetDate(ByRef SCTS As String) As Date
Dim year, month, day, hour, minute, second, timezone As Integer

year = Val(Swap(GetString(SCTS, 2))) + 2000
month = Val(Swap(GetString(SCTS, 2)))
day = Val(Swap(GetString(SCTS, 2)))
hour = Val(Swap(GetString(SCTS, 2)))
minute = Val(Swap(GetString(SCTS, 2)))
second = Val(Swap(GetString(SCTS, 2)))
timezone = Val(Swap(GetString(SCTS, 2)))

Dim result As New Date(year, month, day, hour, minute, second)
Return result


تبدیل شده آن به سی شارپ : ( که یه سری کد نا مفهوم واسه ویژوال است )



//Get date from SCTS format
public static System.DateTime GetDate(ref string SCTS)
{
int year = 0;
int month = 0;
int day = 0;
int hour = 0;
int minute = 0;
int second = 0;
int timezone = 0;

year = Conversion.Val(Swap(ref GetString(ref SCTS, 2))) + 2000;
month = Conversion.Val(Swap(ref GetString(ref SCTS, 2)));
day = Conversion.Val(Swap(ref GetString(ref SCTS, 2)));
hour = Conversion.Val(Swap(ref GetString(ref SCTS, 2)));
minute = Conversion.Val(Swap(ref GetString(ref SCTS, 2)));
second = Conversion.Val(Swap(ref GetString(ref SCTS, 2)));
timezone = Conversion.Val(Swap(ref GetString(ref SCTS, 2)));

System.DateTime result = new System.DateTime(year, month, day, hour, minute, second);
return result;
}

r0ot$harp
پنج شنبه 10 شهریور 1390, 19:27 عصر
دوست عزیز این کد رو تست کنید :


public static System.DateTime GetDate(ref string SCTS) {
int year = 0;
int month = 0;
int day = 0;
int hour = 0;
int minute = 0;
int second = 0;
int timezone = 0;

year = Conversion.Val(Swap(ref GetString(ref SCTS, 2))) + 2000;
month = Conversion.Val(Swap(ref GetString(ref SCTS, 2)));
day = Conversion.Val(Swap(ref GetString(ref SCTS, 2)));
hour = Conversion.Val(Swap(ref GetString(ref SCTS, 2)));
minute = Conversion.Val(Swap(ref GetString(ref SCTS, 2)));
second = Conversion.Val(Swap(ref GetString(ref SCTS, 2)));
timezone = Conversion.Val(Swap(ref GetString(ref SCTS, 2)));

System.DateTime result = new System.DateTime(year, month, day, hour, minute, second);
return result;
}

reza6966
پنج شنبه 10 شهریور 1390, 19:46 عصر
دوست عزیز این کد رو تست کنید :

ممنون دوست عزیز اما Conversion , Val رو نمی شناسه
کسی راهنمایی نمی کنه اگه بخوام کل برنامه رو به سی شارپ تبدیل کنم باید چیکار کنم ؟؟؟؟
ممنون

mohammad_cmd
پنج شنبه 10 شهریور 1390, 22:36 عصر
دوست عزیز این هم سی شارپ کدت می تونی تو این لینک کداتو تبدیل کنی : http://www.carlosag.net/tools/codetranslator/

// Get date from SCTS format
static DateTime GetDate(ref string SCTS) {
int year;
int month;
int day;
int hour;
int minute;
int second;
int timezone;
year = (double.Parse(Swap(GetString(SCTS, 2))) + 2000);
month = double.Parse(Swap(GetString(SCTS, 2)));
day = double.Parse(Swap(GetString(SCTS, 2)));
hour = double.Parse(Swap(GetString(SCTS, 2)));
minute = double.Parse(Swap(GetString(SCTS, 2)));
second = double.Parse(Swap(GetString(SCTS, 2)));
timezone = double.Parse(Swap(GetString(SCTS, 2)));
DateTime result = new DateTime(year, month, day, hour, minute, second);
return result;
}