PDA

View Full Version : آموزش: تبدیل کدهای VB6 به VB.Net



earse+erse
پنج شنبه 20 اسفند 1388, 13:09 عصر
به نام یگانه برنامه نویس هستی

باسلام

VB6 (http://barnamenevis.org/forum/forumdisplay.php?s=&daysprune=-1&f=43) زبان خیلی خوبیه و VB6 (http://barnamenevis.org/forum/forumdisplay.php?s=&daysprune=-1&f=43) کارها هم خیلی زیادن! ولی با اومدن VB.Net (http://barnamenevis.org/forum/forumdisplay.php?s=&daysprune=&f=20) و نسخه های مختلف اون خیلی از وی بی کاران به اون رو آوردند و خیلی ها می خوان رو بیارن،ولی به دلیل تفاوت هایی که در نگاه اول این دو زبان دارنددودل هستند که: «خدایا چی کار کنم ... اگه کد هایش خیلی فرق بکنه چی؟ ... اگه بمونم توی گل چی؟ »
خوب من اومدم اینجا یک تاپیک بزنم که بگم: « نگران نباشید با کمک هم VB6 رو به VB.Net تبدیل می کنیم.»

خوب یعنی چی؟
یعنی در این تاپیک در مورد تبدیل کد ها از VB6 (http://barnamenevis.org/forum/forumdisplay.php?s=&daysprune=-1&f=43) به VB.Net (http://barnamenevis.org/forum/forumdisplay.php?s=&daysprune=&f=20) صحبت میشه.

به چند نکته توجه کنید:
1- این تاپیک با کمک خود شما باید پر بشه پس خواهش می کنم به خودتون و خودمون کمک کنید.
2- از پست کردن پاسخ های بی ربط با موضوع، اظهار نظر ، کد های مخرب و …. شدیدا پرهیز کنید.
3- حتما در پست کردن پاسخ هایتان به " شکل کلی پاسخ ها " توجه کنید.
4- سوال ها و در خواست کد رو هم به به صورت " شکل کلی سوال ها " مطرح کنید
5- پست هایی که از " شکل کلی پاسخ ها " و " شکل کلی سوال ها " تبعیت نکرده باشد بدوناعلام حذف می شود.
6- تشکر <== دکمه تشکر




شکل کلی پاسخ ها








1- توضیح در مورد کد اول (اگه امکانش هست دسته بندی)

VB6

کد اول در وی بی 6


VB 7, 8, 9 (هر کدوم از ورژن ها)

کد اول در وی بی دات نت









شکل کلی سوال ها





1- توضیح در مورد سوال اول (اگه امکانش هست دسته بندی)

VB6

کد اول در وی بی 6


VB 7, 8, 9 (هر کدوم از ورژن ها)
؟










کلام آخر:
این تاپیک با کمک xxxxx_xxxxx"" مدیر بخش VB6 (http://barnamenevis.org/forum/forumdisplay.php?s=&daysprune=-1&f=43) و "Mani_rf" مدیر بخش VB.Net (http://barnamenevis.org/forum/forumdisplay.php?s=&daysprune=&f=20) شروع شده از این دو عزیز متشکرم.
این تاپیک، تاپیک مشترکی بین بخش VB6 (http://barnamenevis.org/forum/forumdisplay.php?s=&daysprune=-1&f=43) و VB.Net (http://barnamenevis.org/forum/forumdisplay.php?s=&daysprune=&f=20) است.



باز هم تاکید می کنم این تاپیک رو پر رونق کنید.( مخصوصا دات نتی های عزیز )


با تشکر سید علیرضا اصفهانی

earse+erse
پنج شنبه 20 اسفند 1388, 13:14 عصر
اولیش هم خودم میدم ولی بقیه باشما


1- پیدا کردن مسیر دایرکتوری فایل اجرایی برنامه

VB6

App.path



Vb7, 8, 9

My.Application.Info.DirectoryPath

Netsky
پنج شنبه 20 اسفند 1388, 18:37 عصر
سلام .
با تشکر از تاپیکی که راه اندازی کردید . میتونه تاپیک خیلی خوبی باشه واسه دوستانی که تازه از VB6 به VB.Net آپگرید میکنن .
البته خود ویژوال استدیو ابزاری داره که کدهای VB6 رو به معادل VB.Net تبدیل میکنه . از منوی Tools قابل دسترسی هستش . گزینه ای به نام Upgrade Visual Basic 6 Code .
البته بازم تشکر میکنم و اگه خودم هم کدی به ذهنم رسید معادل VB.Net ش رو قرار میدم .
با تشکر ..................

Mani_rf
پنج شنبه 20 اسفند 1388, 19:58 عصر
1- انتقال پروسس به سایر قسمت های برنامه.
(در حلقه های طولانی برای جلو گیری کردن از هنگ کردن برنامه از این دستور استفاده می شود.)


VB6

DoEvents



Vb7, 8, 9

Application.DoEvents

Mani_rf
پنج شنبه 20 اسفند 1388, 20:10 عصر
(این هم روشی که دوستمو گفت البته با توضیحات و عکس؛ این تاپیک را من چند وقت پیش زده بودم که به دلیل اینکه به به این موضوع مربوط می شه همون را براتون می گذارم.)

باسلام خدمت همه دوستان.

من خیلی وقت پیش زبان برنامه نویسی خودم را از VB6 به VB.Net ارتقا دادم . در این بین پروژه ها و کدهای داشتم که با VB6 نوشته بودم و نیاز داشتم که از اونها از در VB.Net استفاده کنم. اما خوب همه می دانیم که تغییراتی بین این دو زبان به و جود آمده.

هدف من از ایجاد این تاپیک این بود که این امکانات را به افرادی که به آنها نیاز دارند اما از و جود آنها بی اطلاع هستند معرفی کنم. چون بعضی وقت ها دوستانی را دیدم که برای تبدیل و معادل کد های دو زبان دچار مشکل می شدند.

اولین امکانی که VB.Net در اختیار برنامه نویسان VB6 قرار داده این است که می توانند پروژه VB6 خود را مستقیما درون VB.Net باز کنند تا همه کدها و پروژه به معادل آن در زبان VB.Net تبدیل شود پروژه آنها در VB.Net باز و قابل ویرایش باشد.


نکته دوم این که در VB.Net بخشی با نام Upgrade Visual Basic 6 Code... در نظر گرفته شده که شما می توانید کد های خود را به زبان VB6 در آن تاپیپ کنید تا کد ها را برایتان به VB.Net تبدیل کند.
برای استفاده از این امکان باید به قسمت کد نویسی VB.Net رفته و از منوی Tools این گزینه را انتخاب کنید.


http://barnamenevis.org/forum/attachment.php?attachmentid=36111&stc=1&d=1251552365


در پنجره باز شده کدهای مورد نظر را تایپ کرده و سپس دکمه Upgrade را بفشارید.


http://barnamenevis.org/forum/attachment.php?attachmentid=36112&stc=1&d=1251552775

masoud.t123
پنج شنبه 20 اسفند 1388, 21:36 عصر
پردازش یا مدیریت خطا : exception Handling


VB6

On Error Resume Next


On Error goto 0


On Error goto er


Vb7, 8, 9
Try
کدی که احتمال خطا در آن وجود دارد
Catch
کدی که در صورت بروز خطا اجرا می شود
Finally
کدی که در هر دو صورت اجرا می شود.
End try

masoud.t123
پنج شنبه 20 اسفند 1388, 21:39 عصر
تغییر نام کنترل ها:


VB6
Command button
Option button
Frame
Image


Vb7, 8, 9

Button
Radio button
Group box
nonly Picture box

Mani_rf
جمعه 21 اسفند 1388, 11:48 صبح
3- جدا کردن قسمتی از رشته از سمت راست و چپ


VB6


$Right
$Left



Vb7, 8, 9


Strings.Right
Strings.Left

earse+erse
جمعه 21 اسفند 1388, 14:47 عصر
خوش حالم تاپیک راه افتاد ولی انتظار بیشتره.....



2- انتخاب هندل شيء

VB6
Me.hWnd

Vb7, 8, 9

Me.Handle.ToInt64

earse+erse
شنبه 22 اسفند 1388, 12:57 عصر
3- پیدا کردن نام فایل اجرایی برنامه



VB6


App.Title




Vb7, 8, 9

My.Application.Info.Title

earse+erse
شنبه 22 اسفند 1388, 13:01 عصر
4- پیدا کردن نام شرکت برنامه


VB6
App.Comments

Vb7, 8, 9
My.Application.Info.Description

earse+erse
شنبه 22 اسفند 1388, 13:06 عصر
5- نوشته روی شی(فرم، تکست باکس، برچسب و ... )



VB6

Object.Caption



Vb7, 8, 9

Object.Text

HamedNet_ir
شنبه 22 اسفند 1388, 20:13 عصر
خیلی ممنون!

ولی بهتر نیست از کدهای ابتدایی تر مثل print و ... غیره شروع کنید؟
این ابزار upgrade هم درست حسابی کار نمیکنه!

بهر حال از کدهای خیلی ابتدایی تر شروع کنید! چون من خیلی دوست دارم خودمو به vb.net آپگرید کنم.
باتشکر فراوان!

Mani_rf
یک شنبه 23 اسفند 1388, 09:43 صبح
4- حلقه تکرار While


VB6

While
.
.
Wend



Vb7, 8, 9

While
.
.
End While

Mani_rf
یک شنبه 23 اسفند 1388, 11:04 صبح
توضیحات درباره برخی تفاوت های دوزبان.




در کل قسمت عمده ای از دستورات دو زبان برنامه نویسی کاملا به یک دیگر شبیهند؛ تفاوت هایی کوچک در زبان VB.Net ایجاد شده که در کل به راحت تر شدن کد نویسی و همچنی بالا رفتن خوانایی و سرعت عمل منجر شده است.
برای مثال برای تعریف متغیر و مقدار دادن به آن در VB6 می توانستید به این شکل عمل کنید:


Dim Test as integer

Test = 25




در VB.Net علاوه برا این روش می توانید از این روش نیز استفاده کنید.


Dim Test as integer = 25


با اضافه شدن چنین روشی تعریف و استفاده از متغیر راحت تر شده است.
یا چند نمونه از اعمال ریاضی :

VB6
Test = Test + X
Test = Test - X
Test = Test \ X
Test = Test * X
Test = Test ^ X



VB.NET
Test += X
Test -= X
Test \= X
Test *= X
Test ^= X


با استفاده از این روش می توانید ، در هنگامی که نیاز است یک عدد خاص (یا یک متغیر ) با یک متغیر خاص جمع شود و مقدار آن در همان متغیر ریخته شود بدون، به تکرار نام ، آن عدد (یا متغیر ) را جمع کنید.

اما در بیشتر قسمت های زبان تغیيرات چندانی ایجاد نشده. برای مثال شرط IF در هر دو زبان به شکل :

Then شرط IF
.
.
Else If
.
.
End If

نوشته می شود ؛ یا برای حلقه ها در هر دو زبان به شکل :




Dim I as Byte





For I = 0 to 50 Step 5
.
.
Next




البته شما در VB.Net می توانی بعضی چیز ها را باهم ترکیب کنید؛ برای مثال کد بالا را به این شکلی هم می توان نوشت:




For I as Byte= 0 to 50 Step 5
.
.
Next



عمده تفاوتی که در VB.Net ایجاد شده است دسته بندی شدن توابع است ، برای مثال شما در VB6 برای بریدن 3 کاراکتر از سمت راست رشته Hello می توانستید از تابع Right$ به این شکل استفاده کنید :



Right$("Hello",3)



در VB.Net به دلیل زیاد تر شدن توابع ، روال ها و کلاس های آماده و همچنین بخشیدن تنوع بی نهایت به توابع و روال ها، برای دسترسی سریع تر به آنها همچنین سرعت در یافتن آنها ، دسته بندی هایی ایجاد شده که این توابع در این دسته ها که به اصتلاح به آنها کتابخانه گفته می شود قرار داده شده اند؛ برای مثال تمامی توابع و روال هایی که با رشته ها سرو کار دارند درون کتابخانه ای با نام Strings قرار گرفته اند که برای استفاده از آنها باید نام آن کتابخانه را در ابتدای نام تابع بیاورید.



Strings.Right("Hello",3)



پیدا کردن دسته ای که توابع مورد نظر ما در آن قرار دارد خیلی کار دشواری نیست، به عنوان مثال اگر شما در VB6 برای گرفتن قدر مطلق یک عدد از تابع ABS استفاده می کردید و حال در VB.Net با نوشت ABS از کد شما خطا می گیرید بسیار راحت می توانید متوجه شوید که این کد باید در کتابخانه ای در مربوط به توابع ریاضی قرار گرفته باشد؛ پس کافیست Mat را تایپ کنید تا خود VB.Net کتابخانه Math را به شما پیشنهاد کند. پس از انتخاب Math و قرار دادن یک نقطه می توانید به تمامی توابع ریاضی از جمله Tan, Cot, Abs, Round ,Pi , Sqrt و... دسترسی داشته باشد .

البته این نکته را یاد آور شوم که توابعی پر کاربرد مانند تابع Int ، Var ، Str ، Fix و ... بدون نوشتن نام کتابخانه آن قابل استفاده است.

این که شما نام کتاب خانه ای را به دانید تا بتوانید از آن استفاده کنید نکته ای کاملا مهم است که در صورتی که یک VB6 کار خوب باشد نهایتا در یک هفته خواهید توانست پرکاربرد ترین آنها را شناسایی و از آنها استفاده کنید.

اما در صورتی که شما از توابع یک کتابخانه در برنامه توان به کرات استفاده می کنید و از نوشتن نام کتابخانه خسته شده این می توانید آن کتابخانه را معرفی کنید تا دیگر نیازی به نوشت نام آن نداشته باشد.

به عنوان مثال در VB.Net تقویم فارسی به صورت پیش فرض اضافه شده که در کتابخوانه Globalization قابل استفاده می باشد؛


در صورتی که شما بخواهید متغیری از نوع تقویم فارسی تعریف کنید کافیست نام کتابخانه + . + نام کلاس را بنویسد.




Dim P As Globalization.PersianCalendar


در این حالت بدین نوشتن نام کتابخانه (Globalization) برنامه از شما ایراد خواهد گرفت که کلاس تعریف شده را نمی‌یابد اما در صورتی که این کد را در ابتدایی ترین خط بنویسید :





Imports System.Globalization


دیگر با چنین خطایی مواجه نخواهید شد.



این کد کتابخوانه Globalization را که خود زیر مجموعه کتابخانه بزرگتری با نامه System است به برنامه می شناسند و شما می توانید بدون نیاز به نوشتن نام کتابخانه از توابع درون آن استفاده کنید.



تمامی کتابخانه ها از جمله Math و String چنین قابلیتی دارند.



Imports System.Math

Mani_rf
دوشنبه 24 اسفند 1388, 11:45 صبح
6- ساختن داده از نوع دلخواه.


VB6


Type UserName
LoginName As String
FullName As String
Address As String
MaxLogins As Integer
End Type


VB.Net

Structure UserName
Dim LoginID As String
Dim FullName As String
Dim Address As String
Dim MaxLogins As Short
End Structure

Mani_rf
دوشنبه 24 اسفند 1388, 11:51 صبح
7- خواندن خط به خط از فایل.

VB6


Dim sLine As String
Open "C:\File.txt" For Input As #1
Do Until EOF(1)
Line Input #1, sLine
Loop
Close #1

Vb.Net

Dim sr As StreamReader = File.OpenText("c:\file.txt")
Dim sLine As String
Do
sLine = sr.ReadLine()
Loop Until sLine = Nothing
sr.Close()

Mani_rf
دوشنبه 24 اسفند 1388, 11:54 صبح
8- خواندن کل فایل.

Vb6


Dim sAllText As String
Open "C:\File.txt" For Input As #1
sAllText = Input(LOF(1), #1)
Close #1


VB.Net

Dim sr As StreamReader = File.OpenText("c:\file.txt")
Dim sAllText As String
sAllText = sr.ReadToEnd()
sr.Close()

Mani_rf
دوشنبه 24 اسفند 1388, 11:57 صبح
9- چک کردن وجود فایل.


Vb6

If Dir("c:\file.txt") <> "" Then
MsgBox("File Found!")
Else
MsgBox("File Not Found!")
End If
VB.Net

If File.Exists("C: \File.txt") Then
MessageBox.Show("File Found!")
Else
MessageBox.Show("File Not Found!")
End If

earse+erse
سه شنبه 25 اسفند 1388, 13:24 عصر
8- تانژانت عدد




VB6

(#)Tan



VB.Net

(#)System.Math.Tan

بچه ها این همه کد یعنی هیچ کس چیزی به ذهنش نمیرسه؟

sina26
یک شنبه 08 فروردین 1389, 14:08 عصر
سلام
دوستان یه فایل آموزشی جالبی در رابطه با تبدیل کد های vb6به VB.Net تقدیم میگردد

دانلود (http://www.4shared.com/file/251138852/c0a6c80d/VB6-to-VBNET-eBook_r2.html)

aryasoft2872
پنج شنبه 12 فروردین 1389, 17:23 عصر
ببخشید دستورهای load , unload توی دات نت جطوری هستن؟

و سوال دوم اینکه توی وی بی 6 برای رندوم بودن می نوشتیم randomize timer ولی توی دات نت بخش دومش رو نمی شناسه... «چه باید کرد؟»

earse+erse
جمعه 13 فروردین 1389, 00:10 صبح
ببخشید دستورهای load , unload توی دات نت جطوری هستن؟

و سوال دوم اینکه توی وی بی 6 برای رندوم بودن می نوشتیم randomize timer ولی توی دات نت بخش دومش رو نمی شناسه... «چه باید کرد؟»

شیوه سوال کردن این طوری نبود دوست عزیز


VB6
unload me
form1.show

vb.net
Me.hide
form1.show


sجواب سوال دومت رو هم بدون تفره رفتن نمیدونم!:اشتباه:

xxxxx_xxxxx
جمعه 13 فروردین 1389, 01:44 صبح
VB6
unload me
form1.show

vb.net
Me.hide
form1.show






Me.Hide در VB.NET معادل همان Me.Hide در VB6 است. برای Unload کردن فرم در VB.NET:

'VB.NET
Me.Close()
'or
Me.Dispose()


سوال دوم اینکه توی وی بی 6 برای رندوم بودن می نوشتیم randomize timer ولی توی دات نت بخش دومش رو نمی شناسه... «چه باید کرد؟»

در VB6 هم اگر عبارت Timer را مقابل Randomize ننویسید مشکلی پیش نمیاد، به طور پیش فرض پارامتر Randomize همان Timer هست.

'VB6
Randomize Timer
'or
Randomize
--------------------------------
'VB.NET
Randomize()

aryasoft2872
جمعه 13 فروردین 1389, 10:44 صبح
ببخشید من دستور load و Unload رو برای ساخت و از بین بردن شی می خواستم پس دوباره سوالم رو مطرح می کنم:

'VB 6
Load Shape1(1)

Unload Shape1(1)

'VB.NET
??

??

Mani_rf
جمعه 13 فروردین 1389, 11:49 صبح
ببخشید من دستور load و Unload رو برای ساخت و از بین بردن شی می خواستم پس دوباره سوالم رو مطرح می کنم:

'VB 6
Load Shape1(1)

Unload Shape1(1)

'VB.NET
??

??

کنترلر Shape و همچنین Line که در VB6 مورد وجود داشت در VB.NET به کلی حذف شده اند.
برای استفاده ایجاد اشکال گرافیکی باید از کلاس Drawing و یا رویداد Paint خود فرم استفاده نمایید.
برای مثال :


Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
e.Graphics.DrawRectangle(Pens.Blue, 20, 20, 50, 50)
End Sub

aryasoft2872
جمعه 13 فروردین 1389, 11:52 صبح
منظورم خاص کنترل shape نیست هر کنترلی فقط بحث به وجود آوردن و از بین بردن هستش..

Mani_rf
جمعه 13 فروردین 1389, 11:56 صبح
ایجاد شئ در زمان اجرا :

VB6

1- ایجاد شئی از نوع آرایه :
2- فراخوانی نسخه جدید آن با فرمان Load

Load BtnTest(2)
3- تغییر دادن مشخصات مربوط به شئ :
BtnTest(2).Caption = "1"



VB.Net

1- تعریف آرایه ای به تعداد دلخوا از نوع آن شئ (مثلا Button یا همان Command در VB6) :
Dim BtnTest(9) as Button
2- بر خلاف انواع داده ها مانند Integer و String که صریحا تعریف می شوند ، اشیاء یا کنتلر ها از نوع اشاره ای هستند و باید قبل از استفاده آنها را ایجاد کنید :
BtnTest(0) = New Button
3- اضافه کردن شئ به کنترل مورد نظر - اگر می خواهید شئ مستقیم به فرم اضافه شود و یا به کنترل های دیگر مانند GroupBox ها یا Panel ها باید کد مربوط به اضافه شدن در آن کنترل را بنویسید. -
Me.Controls.Add(BtnTest(0))
یا برای GroupBox :
GroupBox1. Controls.Add(BtnTest(0))
4- تغییر دادن مشخصات مربوط به شئ :
BtnTest(0).Text = "0"
5- ایجاد یک تابع برای اجرای کد های مورد نیاز در هنگام رخ دادن رویداد خاص :
Private Sub BtnTest_Click()
MsgBox("Button Pressed")
End Sub
6- تخصیص دادن رویداد های مورد نیاز شئ به توابع تعریف شده:
AddHandler BtnTest.Click, AddressOf BtnTest_Click



مثال :
Dim BtnTest(9) As Button
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For I As Byte = 0 To 9
BtnTest(I) = New Button

BtnTest(I).Text = I + 1
BtnTest(I).Left = 100

If I = 0 Then
BtnTest(I).Top = 20
Else
BtnTest(I).Top = BtnTest(I - 1).Top + BtnTest(I - 1).Height + 5
End If

Me.Controls.Add(BtnTest(I))
AddHandler BtnTest(i).Click, AddressOf BtnTest_Click
Next

Private Sub BtnTest_Click()
MsgBox("Button Pressed")
End Sub

End Sub

Mani_rf
جمعه 13 فروردین 1389, 13:22 عصر
تخصیص دادن کمه (Button) پیش فرض به هنگام فشرده شدن Enter و Escape :


VB6
' زده شدن Enter
Command1.Default = True

'زده شدن Escape
Command2.Cancel = True


VB.Net
در VB.Net این خاصیت از دکمه ها به فرم انتقال پیدا کرده است :

' زده شدن Enter
Me.AcceptButton = Button1
'زده شدن Escape
Me.CancelButton = Button2

xxxxx_xxxxx
شنبه 14 فروردین 1389, 00:51 صبح
SendKeys
ارسال یک کلید (دکمه) از طریق برنامه، در دو حالت immediately و wait :


VB6


SendKeys "A" 'Immediately
SendKeys "A", 1 'Wait

VB.NET


SendKeys.Send("A") 'Immediately
SendKeys.SendWait("A") 'Wait

Mani_rf
شنبه 14 فروردین 1389, 02:01 صبح
با سلام و تشکر فراوان از توجه آقای Mani_Rf (http://barnamenevis.org/forum/member.php?u=81144) ولی انگار من منظورم رو بد بیان کردم

کد اولی برای ساخت شی جواب داد ولی بخش دوم نه.یعنی من می خوام حالا که اشیا رو ساختم با زدن یک دکمه دیکه button های برای مثال سه تا 5 حذف بشن (Unload در ویژوال بیسیک)

دوستمون xxxxx_xxxxx قبلا این قسمت را توضیح داده بود برای همین من دیگه اشاره ای نکردم .
برای حذف کردن یک کنترل از فرمان Dispose استفاده میکنیم.

BtnTest.Dispose(True)

محسن شامحمدی
سه شنبه 17 فروردین 1389, 14:47 عصر
بدست آوردن تعداد کاراکترهای رشته

vb6
a=len(text1.text)


vb.net
dim a=text1.text.length

aryasoft2872
جمعه 20 فروردین 1389, 08:56 صبح
با سلام

اینطور که به نظر می آد خاصیت index در دات نت حذف شده می خواستم ببینم به جای اون چه خاصیتی جایگزین شده:



VB 6
For i = 0 To 10
labe1(i).Visible = False
Next

.NET 2008
??
??

Mani_rf
یک شنبه 22 فروردین 1389, 10:28 صبح
با سلام

اینطور که به نظر می آد خاصیت index در دات نت حذف شده می خواستم ببینم به جای اون چه خاصیتی جایگزین شده:



VB 6
For i = 0 To 10
labe1(i).Visible = False
Next

.NET 2008
??
??

نه دوست عزیز ، حذف نشده ، روش استفاده از او عوض شد، برای اطلاعات بیشتر به پاسخ شماره 28 (http://barnamenevis.org/forum/showpost.php?p=943301&postcount=28)همین تاپیک مراجعه کن.

Dr.Bronx
پنج شنبه 26 فروردین 1389, 00:36 صبح
چند تا دستور هم من میزارم . امیدوارم تکراری نباشه

دستور doevent

--------*vb6*----------

Doevents

--------*vb.net*----------

Application.DoEvents()


خوندن خط به خط یک فایل

دستور doevent

--------*vb6*----------

Dim sLine As String
Open "C:\File.txt" For Input As #1
Do Until EOF(1)
Line Input #1, sLine
Loop
Close #1

--------*vb.net*----------

Dim sr As StreamReader =
File.OpenText("c:\file.txt")
Dim sLine As String
Do
sLine = sr.ReadLine()
Loop Until sLine = Nothing
sr.Close()



چک کردن اینکه آیا فایلی وجود دارد یا خیر


--------*vb6*----------

If Dir("c:\file.txt") <> "" Then
MsgBox("File Found!")
Else
MsgBox("File Not Found!")
End If

--------*vb.net*----------

If File.Exists("C: \File.txt") Then
MessageBox.Show("File Found!")
Else
MessageBox.Show("File Not
Found!")
End If



موفق باشید ./

JaguarXF
جمعه 27 فروردین 1389, 08:17 صبح
مسائل ساده است یا شما ساده میگیردشون ؟
این ها همه رو باید بصورت regular expression نوشت تا کل عمل find - replace رو در کل سورس کدها انجام بده. مگر اینکه سورس کد حداکثر 50 خط باشه که بشه بصورت دستی هم انجامش داد! لوول.
مسائل پیچیده بسیاری هم پیش خواهد اومد. مثلا کلاسهایی که در ویبی 6 مثلا startup object اونها روی یک modMain تنظیم شده شده بوده بصورت single use و حالا با دات نت رفتن دیگه اون ساپورت نمیشه مگر در برنامه های کنسولی. .راهش هم سادست .. استتیک کانستراکتور...
الان حضور ذهن ندارم. این کار پیچیده تر از این حرفهاست

Mani_rf
شنبه 18 اردیبهشت 1389, 18:32 عصر
مسائل ساده است یا شما ساده میگیردشون ؟
این ها همه رو باید بصورت regular expression نوشت تا کل عمل find - replace رو در کل سورس کدها انجام بده. مگر اینکه سورس کد حداکثر 50 خط باشه که بشه بصورت دستی هم انجامش داد! لوول.
مسائل پیچیده بسیاری هم پیش خواهد اومد. مثلا کلاسهایی که در ویبی 6 مثلا startup object اونها روی یک modMain تنظیم شده شده بوده بصورت single use و حالا با دات نت رفتن دیگه اون ساپورت نمیشه مگر در برنامه های کنسولی. .راهش هم سادست .. استتیک کانستراکتور...
الان حضور ذهن ندارم. این کار پیچیده تر از این حرفهاست

مسائل ساده اند و ما هم مسائل سخت را ساده می انگاریم تا به خودمان باور بدهیم که تفکرمان توان حل هر مسئله ای هرچند دشوار را دارد...
سخت نگیر دوست من؛ بلاخره از جایی باید شروع کرد...

parselearn
دوشنبه 27 اردیبهشت 1389, 10:52 صبح
معادل اين دستور vb.net چي ميشه؟


If App.PrevInstance = True Then MsgBox "برنامه در حال اجراست", vbExclamation: End

M.T.P
پنج شنبه 30 اردیبهشت 1389, 14:38 عصر
معادل اين دستور vb.net چي ميشه؟


If App.PrevInstance = True Then MsgBox "برنامه در حال اجراست", vbExclamation: End

از پنجره Project propertis گزینه make single instance رو تیک بزنید.

earse+erse
چهارشنبه 12 خرداد 1389, 09:17 صبح
اینم یجا دیدم برای دانلود گذاشتم شاید بدرد بخوره

مقایسه تفاوت های دو زبان
http://www.barnamenevis.org/forum/attachment.php?attachmentid=10578&d=1188284778

ehsanocx
چهارشنبه 12 خرداد 1389, 12:29 عصر
نکته دوم این که در VB.Net بخشی با نام Upgrade Visual Basic 6 Code... در نظر گرفته شده که شما می توانید کد های خود را به زبان VB6 در آن تاپیپ کنید تا کد ها را برایتان به VB.Net تبدیل کند.

برای من چنین گزینه ای توی vb.net نیست چرا؟ چیکار باید کنم تا این گزینه ظاهر بشه؟

ricky22
جمعه 14 خرداد 1389, 13:37 عصر
نکته دوم این که در VB.Net بخشی با نام Upgrade Visual Basic 6 Code... در نظر گرفته شده که شما می توانید کد های خود را به زبان VB6 در آن تاپیپ کنید تا کد ها را برایتان به VB.Net تبدیل کند.

برای من چنین گزینه ای توی vb.net نیست چرا؟ چیکار باید کنم تا این گزینه ظاهر بشه؟
این گزینه وقتی ظاهر میشه که شما در حالت کد نویسی باشید در حالت design نیست

REZADG
یک شنبه 16 خرداد 1389, 07:35 صبح
عزیزان معادل
LstNames.Clear
و
unload me
در vs2005 چیه؟

ali reza mansoori 2
دوشنبه 17 خرداد 1389, 14:34 عصر
(این هم روشی که دوستمو گفت البته با توضیحات و عکس؛ این تاپیک را من چند وقت پیش زده بودم که به دلیل اینکه به به این موضوع مربوط می شه همون را براتون می گذارم.)

باسلام خدمت همه دوستان.

من خیلی وقت پیش زبان برنامه نویسی خودم را از VB6 به VB.Net ارتقا دادم . در این بین پروژه ها و کدهای داشتم که با VB6 نوشته بودم و نیاز داشتم که از اونها از در VB.Net استفاده کنم. اما خوب همه می دانیم که تغییراتی بین این دو زبان به و جود آمده.

هدف من از ایجاد این تاپیک این بود که این امکانات را به افرادی که به آنها نیاز دارند اما از و جود آنها بی اطلاع هستند معرفی کنم. چون بعضی وقت ها دوستانی را دیدم که برای تبدیل و معادل کد های دو زبان دچار مشکل می شدند.

اولین امکانی که VB.Net در اختیار برنامه نویسان VB6 قرار داده این است که می توانند پروژه VB6 خود را مستقیما درون VB.Net باز کنند تا همه کدها و پروژه به معادل آن در زبان VB.Net تبدیل شود پروژه آنها در VB.Net باز و قابل ویرایش باشد.


نکته دوم این که در VB.Net بخشی با نام Upgrade Visual Basic 6 Code... در نظر گرفته شده که شما می توانید کد های خود را به زبان VB6 در آن تاپیپ کنید تا کد ها را برایتان به VB.Net تبدیل کند.
برای استفاده از این امکان باید به قسمت کد نویسی VB.Net رفته و از منوی Tools این گزینه را انتخاب کنید.


http://barnamenevis.org/forum/attachment.php?attachmentid=36111&stc=1&d=1251552365


در پنجره باز شده کدهای مورد نظر را تایپ کرده و سپس دکمه Upgrade را بفشارید.


http://barnamenevis.org/forum/attachment.php?attachmentid=36112&stc=1&d=1251552775


دوست عزیز برای این کار باید MSDN رو نصب کنیم؟

REZADG
دوشنبه 17 خرداد 1389, 15:28 عصر
دوست عزیز برای این کار باید MSDN رو نصب کنیم؟
نه من نصب نکردم میتونم استفادش کنم

ehsanocx
سه شنبه 18 خرداد 1389, 00:28 صبح
این کد ها با vb.net نوشته شده. معادل vb چی میشه؟

میشه این کد ها رو به vb تبدیل کنین؟

((SerialPort1.Write("AT" & Chr(13) & Chr(10
((SerialPort1.Write("AT+CMGF=1" & Chr(13) & Chr(10
((SerialPort1.Write("AT+CSCA=" & Chr(34) & "09350001400" & Chr(34) & Chr(13) & Chr(10
(System.Threading.Thread.Sleep(500)
()SerialPort1.ReadExisting
Recieved = ""
IsPrint = True

((SerialPort1.Write("AT+CMGS=" & Chr(34) & TextBox2.Text & Chr(34) & Chr(13
(System.Threading.Thread.Sleep(500
((SerialPort1.Write(TextBox3.Text & Chr(26

alih110
دوشنبه 31 خرداد 1389, 02:49 صبح
نکته‌ی مهم قبل از ارتقای پروژه
ویژوال بیسیك دات‌نت نسبت به نسخه‌های قبلی ویژوال بیسیك تغییرات زیادی داشته است. چون این نسخه برای بهره‌برداری بیش‌تر از امکانات چارچوب دات‌نت طراحی شده، تمامی راه‌های حفظ سازگاری با نسخه‌های قبلی در آن بسته شده است.
▪ نکته:
هر دو نسخه‌ی ۶ و دات‌نت ویژوال بیسیك و برنامه‌های نوشته شده با این دو زبان را می‌توان هم‌زمان بدون هیچ مشکلی با هم روی یک کامپیوتر نصب و اجرا كرد. اجزا و کنترل‌های ایجاد شده در ویژوال بیسیك دات‌نت می‌توانند با اجزای COM ایجاد شده در نسخه‌های قبلی و نیز در سایر زبان‌ها ارتباط برقرار كرده و بدون دردسر با هم کار کنند.
در بیش‌تر موارد، هدف از ارتقای یک پروژه به دات‌نت، برخورداری از امکانات و قابلیت‌های موجود در چارچوب دات‌نت برای توسعه‌ی برنامه‌هاست. با این حال به دلایل مختلفی هم‌چون عدم پشتیبانی دات‌نت از برخی از امكانات مورد نیاز و یا دوباره‌كاری زیاد به دلیل عدم سازگاری دو نسخه و ...، مواردی نیز پیش می‌آید که طی آن توسعه‌ی یک برنامه‌ی تحت ویژوال بیسیك ۶ خیلی باصرفه‌تر از ارتقای آن به دات‌نت خواهد بود.
● امکانات فراموش شده
▪ امکاناتی که قبلاً در ویژوال بیسیك ۶ وجود داشتند اما در دات‌نت فعلی حذف شده‌اند:
- OLE Container Control:
در دات‌نت کنترلی معادل این کنترل وجود نـــدارد. به همین دلیل ارتقای برنامه‌هایی که از این کنترل استفاده می‌كنند، ممکن نخواهد بود.
- Dynamic Data Exchange (DDE): متدهای کانال DDE نیز در دات‌نت پشتیبانی نمی‌شوند. برنامه‌هایی که شامل این کنترل باشند، یا باید از سایر متدهای مربوط به برقراری ارتباط بین برنامه‌های مختلف استفاده كنند و یا این‌که اصلاً ارتقا نیابند.
- DAO or RDO Data Binding:
اتصال به بانک‌های اطلاعاتی با استفاده از این دو کنترل در دات‌نت حذف شده است. کنترل‌های Data و Remote Data در دات‌نت کنترل معادلی نـــدارند و استفاده از آن‌ها فقط از طریق کدنویسی امکان دارد. برنامه‌های متکی به این دو کنترل یا باید از کنترل ADO استفاده کنند تا امکان ارتقای آن‌ها فراهم شود و یا این‌که از ارتقای آن‌ها صرف‌نظر شود.
- Visual Basic ۵.۰ Controls:
در ویژوال بیسیك ۶ برای حفظ سازگاری برنامه‌ها با نسخه‌ی ۵، از کنترل‌های این نسخه همانند کنترل‌های رایج ویندوز (Windows Common Controls) و Data-Bound Grid نیز پشتیبانی می‌شود. اما اگر قصد ارتقای برنامه‌هایی را دارید که این‌گونه کنترل‌ها در آن‌ها به کار رفته است، یا باید این برنامه‌ها را با نسخه‌ی ۶ به‌روز كنید و یا این‌که آن‌ها را به حال خود رها كرده و از خیر ارتقا بگذرید.
- DHTML Applications:
تولید چنین برنامه‌هایی در دات‌نت امکان نـــدارند. اما برنامه‌هایی که قبلاً با نسخه‌ی ۶ ویژوال بیسیك ایجاد شده‌اند، می‌توانند در محیط دات‌نت اجرا شوند.
- ActiveX Documents:
برنامه‌های مبتنی بر اسناد اکتیو‌ایکس نیز از دات‌نت حذف شده‌اند. این قبیل برنامه‌ها قبل از ارتقا باید با استفاده از کنترل‌های کاربر (User Controls) بازنویسی شوند، در غیر این صورت امکان ارتقای آن‌ها وجود نخواهد داشت.
- Property Pages:
این مورد نیز در دات‌نت وجود نـــدارد و تغییر آن‌ها در ویژوال بیسیك ۶ نیز ممکن نیست، به همین دلیل چنین برنامه‌هایی را نیز نمی‌توان ارتقا داد.
● لزوم و میزان دوباره‌کاری در فرآیند ارتقا
به دلیل وجود تفاوت‌های بسیار زیاد بین دو نسخه‌ی مورد بحث ویژوال بیسیك، بیش‌تر برنامه‌هایی که برای ارتقا انتخاب می‌شوند، نیازمند تجدید نظر و تغییراتی هر چند اندک در عناصری هستند که نمی‌توانند مستقیماً به دات‌نت تبدیل شوند و یا این‌که با دات‌نت سازگاری نـــدارند، میزان این دوباره‌کاری‌ها بستگی به عواملی هم‌چون نوع برنامه، امکانات و ابزارهای مورد استفاده در آن و ساختار زبان برنامه‌نویسی دارد.
ساده‌ترین راه برای تعیین میزان دوباره‌کاری مورد نیاز، اجرای ویزارد ارتقا و مشـــاهده‌ی فهرست نتایج گزارش ارتقاست. ویزارد ارتقا برای تبدیل یک برنامه به دات‌نت، نسخه‌ی جدیدی از روی آن می‌سازد و نسخه‌ی قبلی را دست نخورده باقی می‌گذارد. پس از مشـــاهده‌ی گزارش ارتقا، اگر میزان تغییراتی که باید اعمال شوند به‌صرفه نبود، پروژه‌ی جدید را حذف كرده و برنامه‌نویسی و توسعه‌ی سیستم خود را در همان محیط ویژوال بیسیك ۶ ادامه دهید.
در زمان تصمیم‌گیری برای ارتقای یک پروژه، حتماً به نکات زیر توجه داشته باشید:
▪ Single-tier Database Applications:
چون ارتباط با داده‌ها توسط کنترل DAO در دات‌نت پشتیبانی نمی‌شود، برنامه‌های ساده‌ای که با استفاده از این کنترل به داده‌های محلی مانند بانک‌های اطلاعاتی ایجاد شده توسط مایكروسافت اَكسس متصل شده‌اند، نیاز به دوباره‌کاری بیش‌تری نسبت به سایر برنامه‌ها دارند.
▪ Visual Basic Add-ins:
چون ویژوال بیسیك دات‌نت از محیط توسعه‌ی یکپارچه‌ی ویژوال استودیو دات‌نت استفاده می‌كند، مدل شیئی قابل توسعه‌ی آن با ویژوال بیسیك ۶ تفاوت‌های زیادی دارد. به همین دلیل کنترل‌های افزودنی Add-ins نیاز به دوباره‌کاری قابل توجهی دارند.
▪ Games:
برنامه‌هایی مانند بـــازی‌ها که در آن‌ها از کاراکترهای انیمشینی ویژوال بیسیك ۶ استفاده شده است، نیاز به دوباره‌کاری خواهند داشت، زیرا این کاراکترها نیز در دات‌نت متفاوت هستند.
▪ Graphics:
در دات‌نت از متدهای طراحی فرم، شکل و یا خط خبری نیست. برنامه‌هایی که در آن‌ها از این متدها زیاد استفاده شده است، نیز نیاز به دوباره‌کاری قابل توجهی خواهند داشت.
▪ Drag and Drop Functionality:
مدل توابع مربوط به کشیدن و رها کردن در دات‌نت تفاوت بسیاری با ویژوال بیسیك ۶ دارد. این توابع نیز برای کسب کارایی بهتر نیاز به بازنویسی دارند.
▪ Variants:
زمانی که پروژه‌ای را به دات‌نت تبدیل می‌كنید، داده‌های از نوع واریانت به داده‌های شیئ تبدیل می‌‌شوند. اگر برنامه‌ای دارید که در آن از این نوع داده زیاد استفاده شده است، این نوع تبدیل می‌تواند تفاوت‌های بسیار کوچکی در خروجی نرم‌افزار داشته باشد. به عنوان مثال، عبارت IsObject(Variant) در ویژوال بیسیك ۶ مقدار False را باز می‌گرداند. در حالی که پس از ارتقا، همین عبارت به IsObject(Object) تبدیل می‌شود که مقدار True را باز می‌گرداند.
▪ Windows APIs:
به علت تغییراتی که در زبان جدید انجام شده است، برخی از فراخوانی‌های مربوط به توابع ویندوز نیاز به تجدید نظر و یا جایگزینی با توابع جدید چارچوب دات‌نت دارند.

lahij.ir
چهارشنبه 09 تیر 1389, 16:11 عصر
3- جدا کردن قسمتی از رشته از سمت راست و چپ


VB6


$Right
$Left



Vb7, 8, 9


Strings.Right
Strings.Left

دوست من سلام این کد right و left تو visual studio 2005 کار نمیکنه ، چیه معادل کدش ؟

Mr'Jamshidy
چهارشنبه 06 مرداد 1389, 20:48 عصر
سلام به همه دوستان عزیز

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

اگر با ویندوز ویستا یا سون کار کرده باشید حتما با User Account Control مواجه شدید

این برنامه برای امنیت ویندوز نوشته شده که البته این موضوع مهم نیست

مساله مهم اطلاعاتی که این برنامه در مورد فایلی که در حال اجرا شدنه میده که از 4 قسمت تشکیل شده

به عنوان مثال:

1. Program Name: Yahoo! Messenger
2. Verified Publisher: Yahoo! Inc
3. File Origin: Harddisk on this computer
4. Program location: C:\Program Files\Yahoo!\Messenger\YahooMessenger.exe

خوب اینا اطلاعاتی که به ما میده
حالا کاری که من میخوام انجام بدم اینه که گزینه Verified Publisher رو مقدار دهی کنم

برنامه هایی که (VB6 یا VB.Net) نوشته میشه تا جایی که من دیدم قسمتی برای این گزینه نداره.

خوب دیگه فعلا خدافظی

Mr'Jamshidy
چهارشنبه 06 مرداد 1389, 20:56 عصر
عزیزان معادل
LstNames.Clear
و
unload me
در vs2005 چیه؟

lstNames.Items.Clear

برای خارج کردن فرم از حافظه

Me.Close
برای خارج کردن کنترل از حافظه

Me.Controls.Remove(ObjName)

m.javvi
یک شنبه 17 مرداد 1389, 14:48 عصر
با سلام
تابع معکوس کردن رشته در vb 6 که reverse هست در vb.net 2008 چیه؟؟؟

ricky22
یک شنبه 17 مرداد 1389, 14:49 عصر
با سلام
تابع معکوس کردن رشته در vb 6 که reverse هست در vb.net 2008 چیه؟؟؟
StrReverse

kiss_my_l0ve
چهارشنبه 08 دی 1389, 21:51 عصر
سلام دوستان معادل دستور lock در .net چیه
vb
text1.lock=true
vb.net
??

xxxxx_xxxxx
پنج شنبه 09 دی 1389, 22:16 عصر
سلام دوستان معادل دستور lock در .net چیه
vb
text1.lock=true
vb.net
??

Text1.ReadOnly = True

ali190
جمعه 10 دی 1389, 10:06 صبح
سلام
دوستان واقعاً تایپیک جالبی هست
خیلی خیلی ممنون
من یه پروژه دیتابیس ساده رو که با Vb6 نوشته بودم با visual studio باز کردم ، راحت کار کرد
اما یه پروژه دیگه که یه مقدار از اولی پیچیده تر بود و از کامپوننتهای codejock توش استفاده کره بودم رو باز کردم نتونست اجراش کنه و حدود 30 ارور رو به من نشون داد
آیا دستوراتی که در vb6 در کار با کامپوننتها و خواص اونها استفاده میکنیم در visual sttudio هم همونجوریه؟
در ویژوال استودیو بخشی به نام Upgrade vb6 code وجود دارد ، (در پست های قبلی اشاره ای بهش شده بود) میشه دقیقاً بگید وظیفه این بخش چیه؟
همونطور که گفتم هنگام اجرای بعض از پروژه ها ارورهایی از جانب visual studio صادر میشه :
64346
آیا رفرنسی جهت این خطا ها و برطرف نمودنشون وجود داره؟
ممنون
یاعلی

محسن شامحمدی
شنبه 11 دی 1389, 09:58 صبح
اما یه پروژه دیگه که یه مقدار از اولی پیچیده تر بود و از کامپوننتهای codejock توش استفاده کره بودم رو باز کردم نتونست اجراش کنه و حدود 30 ارور رو به من نشون داد
طبیعتا هر چی حجم کدهای نوشته شده بیشتر می شه امکان وجود کدهای ناسازگار بیشتر می شه.


آیا دستوراتی که در vb6 در کار با کامپوننتها و خواص اونها استفاده میکنیم در visual sttudio هم همونجوریه؟
نه فرقی نمی کنه.چون اون متدها و خاصیت ها مخصوص همون کامپوننته.اگر همون کامپوننت رو ببریدش توی ویژوال سی ++ باز هم متدهاش همونه.


در ویژوال استودیو بخشی به نام Upgrade vb6 code وجود دارد ،
(در پست های قبلی اشاره ای بهش شده بود) میشه دقیقاً بگید وظیفه این بخش چیه؟
شما کد وی بی 6 تو توش می نویسی این تا جایی که می تونه توابعتو تبدیل می کنه به مدل جدیدش.
مثلا اگر اینو بهش بدی:
open "c:\a.txt" for binary as #1

می شه
fileopen( "c:\a.txt",1)

mohsen_archi
یک شنبه 12 دی 1389, 17:08 عصر
64448
با سلام
من visual studio 2010 رو نصب کردم، ولی چیزی به نام Upgrade vb6 code رو ندیدم، یعنی امکان داره تو این نسخه حذف شده باشه؟

ali reza mansoori 2
یک شنبه 26 دی 1389, 14:08 عصر
دوستان بهتره این تایپیک فعال باشه آخه دیگه باید به VB.Net کوچ کنیم اگر یه نگاه به VB.Net 2010 و امکاناتش بندازید دیگه VB6 رو خودتون میریید پاک می کنید
بهتره این تایپیک هم از نکات مفید تر استفاده کنه مانند اتصال به بانک ،گرفتن گزارش و دیگر امکانات که خیلی در VB.Net بهتر و آسان تر شده و برای دیگر دوستان جزابیت بیشتری داره

ali190
یک شنبه 26 دی 1389, 20:11 عصر
دوستان بنظرم اينطوري كاري انجام نميشه
من ميگم براي اينكه بتونيم به جايي برسيم يك پروژه كامل vb6 كه ترجيحاً پروژه بانك اطلاعاتي هم باشه (بدليل اينكه بانك اطلاعاتي علاوه بر استفاده موارد روتين از ساير توابع vb6 از مباحث ديتابيسي هم بهره ميبره) رو به vb.net ببريم و تبديل كنيم
اگر اين كار رو انجام بديم اكثر كاربرها سادگي و قدرت بيشتر .net رو درك كرده و با شوق و ذوق بيشتري به سمت اين قضيه ميرن
دوستان من خودم بارها تصميم گرفتم به سمت .net برم ، ولي هر سري دست از پا درازتر به سمت vb6 برگشتم
از مديران عزيز تالار خواهشمندم اين تايپيك رو جزو تايپيك مهم قرار بدن تا گذر زمان اين تايپيك رو به سمت پايين سوق نده
در مرحله بعد هم يه پروژه رو براي نمونه از vb6 به vb.net‌ تبديل كنيم تا اين امر براي همه عزيزان مسجل بشه
ممنون و متشكر از همه عزيزان

Slytherin
یک شنبه 26 دی 1389, 20:21 عصر
نوشته شما بسیار اندک است ، تعداد کاراکتر های هر نوشته دست کم 10 عدد میبایست باشد.


ذخیره فایل:
VB6:

Private Sub Command1_Click()
Open App.Path + "/A.txt" For Output As #1
LName = Text1.Text
Write #1, LName
Close #1
End Sub

VB.Net
?

zahedi121
پنج شنبه 13 مرداد 1390, 06:27 صبح
سلام
فکر کنم اگر به مشکل برخوردیم و منبع فارسی پیدا نکردیم این کتاب مفید باشه :
http://msdn.microsoft.com/en-us/vbasic/ms788236

موفق باشید

zahedi121
پنج شنبه 13 مرداد 1390, 07:26 صبح
سلام
در تاپیک : http://barnamenevis.org/showthread.php?232717-تبدیل-کد-های-VB6-به-VB2010
که به علت تکراری بودن به این تاپیک ارجاع شده گفته شده که در vb2010 فایلهای vb6 خودکار آپگرید
می شوند ولی من وقتی می خوام اینکار را بکنم این خطا میاد :
73265

ضمنا گفته شده که در منوی tools هم گزینه ای برای این مطلب وجود داره ولی در منوی تولز من :

73266

همچین گزینه ای وجود نداره .
لطفا راهنمایی کنید ، خیلی سپاسگزارم.

ali reza mansoori 2
پنج شنبه 13 مرداد 1390, 12:24 عصر
دوستانی که آمادگی دارن به این تایپیک کمک کنند اعلام کنند تا به صورت برنامه ریزی شده بریم جلو

zahedi121
پنج شنبه 13 مرداد 1390, 20:17 عصر
سلام
ببخشید دوستان ولی خیلی به تبدیل کد vb6 به vb2010 احتیاج دارم اگر لطف کنید به سوالم (پست 62) پاسخ بدهید خیلی ممنون میشم.
ضمنا سرچ که کردم به این برنامه برخوردم : http://www.artinsoft.com/msdn/?msdn اگر خود vb.net اینکار را انجام می دهد پس این برنامه چیه ؟ کسی با برنامه vbuc که لینکش بالا هست کار کرده ؟


خیلی سپاسگزارم

emperor_vb6
شنبه 28 آبان 1390, 16:49 عصر
(این هم روشی که دوستمو گفت البته با توضیحات و عکس؛ این تاپیک را من چند وقت پیش زده بودم که به دلیل اینکه به به این موضوع مربوط می شه همون را براتون می گذارم.)

باسلام خدمت همه دوستان.

من خیلی وقت پیش زبان برنامه نویسی خودم را از VB6 به VB.Net ارتقا دادم . در این بین پروژه ها و کدهای داشتم که با VB6 نوشته بودم و نیاز داشتم که از اونها از در VB.Net استفاده کنم. اما خوب همه می دانیم که تغییراتی بین این دو زبان به و جود آمده.

هدف من از ایجاد این تاپیک این بود که این امکانات را به افرادی که به آنها نیاز دارند اما از و جود آنها بی اطلاع هستند معرفی کنم. چون بعضی وقت ها دوستانی را دیدم که برای تبدیل و معادل کد های دو زبان دچار مشکل می شدند.

اولین امکانی که VB.Net در اختیار برنامه نویسان VB6 قرار داده این است که می توانند پروژه VB6 خود را مستقیما درون VB.Net باز کنند تا همه کدها و پروژه به معادل آن در زبان VB.Net تبدیل شود پروژه آنها در VB.Net باز و قابل ویرایش باشد.


نکته دوم این که در VB.Net بخشی با نام Upgrade Visual Basic 6 Code... در نظر گرفته شده که شما می توانید کد های خود را به زبان VB6 در آن تاپیپ کنید تا کد ها را برایتان به VB.Net تبدیل کند.
برای استفاده از این امکان باید به قسمت کد نویسی VB.Net رفته و از منوی Tools این گزینه را انتخاب کنید.


http://barnamenevis.org/forum/attachment.php?attachmentid=36111&stc=1&d=1251552365


در پنجره باز شده کدهای مورد نظر را تایپ کرده و سپس دکمه Upgrade را بفشارید.


http://barnamenevis.org/forum/attachment.php?attachmentid=36112&stc=1&d=1251552775

دات نت من ultimate 2010 نصب كردم اما چنين گزينه اي وجود نداره . چيكار بايد بكنم؟

Veteran
شنبه 28 آبان 1390, 18:09 عصر
بابا یکم روی کار با بانک اطلاعاتی کار کنین
معادل اینا چیه ؟ توی vb.net 2010

Path = App.Path & "\bank\mybank.mdb"
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Path & "; Persist Security Info=False"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "Select * From [info]"
Adodc1.Refresh



Adodc1.Recordset.Fields("code") = Text1


Adodc1.Recordset.Delete



Adodc1.Recordset.Update "Code", Text1

کلا کار با بانک رو یاد بدید

M.T.P
شنبه 28 آبان 1390, 18:11 عصر
دات نت من ultimate 2010 نصب كردم اما چنين گزينه اي وجود نداره . چيكار بايد بكنم؟

در حالت Design این منو مخفیه ،، تب کد نویسی رو که باز می کنید پیداش میشه.

M.T.P
شنبه 28 آبان 1390, 18:17 عصر
بابا یکم روی کار با بانک اطلاعاتی کار کنین
معادل اینا چیه ؟ توی vb.net 2010

همون Adodc رو به ToolBox اضافه کنید ، کدتون تغییر خاصی نمی خواد فقط App.Path ldai:


My.Application.Info.DirectoryPath

Veteran
شنبه 28 آبان 1390, 18:24 عصر
Adodcکجاست ؟ اینارو میگی ؟

M.T.P
شنبه 28 آبان 1390, 18:35 عصر
Adodcکجاست ؟ اینارو میگی ؟


Tools \ choose toolbox intems \ {Tab}COM Components \ Microsoft Ado Data Control 6.0

_behnam_
شنبه 28 آبان 1390, 22:52 عصر
سلام!
با اجازه آقای M.T.P (http://barnamenevis.org/member.php?132020-M.T.P)
به نظرم اصلا کار درستی نیست که بخوایم از Microsoft Ado Data Control 6.0 توی VB.net استفاده کنیم!!!چراکه توی اجرای بعضی دستورات حتی داخل VB6 کم میاره چه برسه به VB.net
همون OleDb (http://msdn.microsoft.com/en-us/library/system.data.oledb%28v=vs.71%29.aspx) دات نت بهتره
ببینید اگه بخوایم به این فکر کنیم که بیایم همون دستورات و همون روش برنامه نویسی VB6 رو توی VB.net پیاده کنیم 100% یه جا به مشکل بر میخوریم
بنده هم قبلا همین کارو کردم اما دیدم در اشتباه بودم , الان دارم VBdotNET رو از اول کار میکنم انگار نه انگار که قبلا VB6 کار کرده باشم
(البته بلاجبار :لبخند: توی دانشگاه بهمون یاد میدن :بامزه:)

butterfly8528
پنج شنبه 11 اسفند 1390, 02:21 صبح
سلام دوست عزیز .
امکان آپگرید از VB6 به VB2010 وجود نداره ، شما باید با استفاده از VS2008 کدهای VB6 رو آپگرید کنبد به VB.Net .
موفق باشید .

mohammad bayervand
دوشنبه 22 اسفند 1390, 17:55 عصر
يك سوال :
اقا اين مطلب كه كه ميگن كدهاي .net نسبت به vb6 خيلي راحت تر كرك ميشه صحت داره ؟؟؟؟
با تشكر.

IamOverlord
دوشنبه 22 اسفند 1390, 18:18 عصر
در شرایط برابر بخواهیم مقایسه کنیم، اکثر فایل های اجرایی Disassemble می شن، چه واسه net. و چه نه، اما Assembly های net. فکر می کنم سطح بالاتر هستند و راحت تر Crack می شن. #Dis رو امتحان کن.

butterfly8528
دوشنبه 21 فروردین 1391, 11:40 صبح
يك سوال :
اقا اين مطلب كه كه ميگن كدهاي .net نسبت به vb6 خيلي راحت تر كرك ميشه صحت داره ؟؟؟؟
بله ، 100% صحت داره .

nakhodasokoot
یک شنبه 14 خرداد 1391, 21:00 عصر
دوستانی که آمادگی دارن به این تایپیک کمک کنند اعلام کنند تا به صورت برنامه ریزی شده بریم جلو

آره. من هستم. خیلی دوس دارم .net رو از اول کامل یاد بگیرم و اون چیزایی که یاد دارم به دیگران بدم. پس با کار برنامه ریزی شده توی این تاپیک کاملن موافقم.
ولی انگار خیلی وقته تاپیک خوابیده !!! :گریه:

caspianhero
یک شنبه 14 خرداد 1391, 21:48 عصر
با سلام بر دوستان
من با نگاهی که به کدها کردم دیدم که کدهای vb.net خیلی قابل فهم تر نسبت به vb6 هست!!! و تکنولوژی که دات نت به کار رفته خیلی از vb بهتره!!!!
دوستان اگر این تایپیک را ادامه بدهند خیلی جذاب میشه!!

تشکر

SHD.NET
شنبه 20 آبان 1391, 18:54 عصر
سلام . این برنامه که با وی بی نوشتم در خصوص کار با فایل در ویژوال بیسیکه

میشه این سورس رو به وی بی.نت برام تبدیل کنید ؟؟

میخوام دقیق تبدیل بشه . ممنون میشم

فایل رو ضمیمه کردم
:لبخند::قلب::لبخند:

asheykh
یک شنبه 11 فروردین 1392, 20:32 عصر
با سلام ضمن تشکر از شما دوست عزیز
چند تا سوال فنی داشتم
اول اینکه برای Upgrade کردن vb6 باید اونو توی visual studio باز کنم و بعد tools و بعد Upgrade Visual Basic 6 Code بزنم یا اینکه نه ؟
اگه این طوره من گزینه Upgrade Visual Basic 6 Code رو توی tools نمی بینم
لطفا راهنمایی کنید(لطفا زیر دیپلم توضیح بدید)
با تشکر

Desert_son
چهارشنبه 15 فروردین 1397, 12:43 عصر
سلام و درود بر همگی. من دیدم کلا انتقال بی معناست (خود مایکروسافت هم فهمید و ویزارد آپگرید رو ورداشته) دارم برنامه رو دوباره می نویسم. دو سه تا مشکلاتم از اینجا حل شد مابقی از جاهای دیگه. چیزی که خیلی من رو اذیت می کنه ایجاد ارایه از اشیا (مثل تکست باکس). تو vb6 من زمان دیزاین فرم تمام تکست باکس هام رو ارایه می کردم تا برای اینکه با زدن اینتر از یک باکس به باکس بعدی بره راحت کد نویسی بشه. ظاهرا تو .Net باید تو کد اشیا رو ایجاد کنی و بعد آرایه ای ازشون استفاده کنی. یک کم جاگذاری و چیدمان سخت می شه. راهی نداره مثل vb6 همون اول اعلام کنی این اشیا آرایه هستن؟؟؟؟

negarm
جمعه 06 اردیبهشت 1398, 11:03 صبح
معادل تابع date در vb.net چی میشه؟

negarm
جمعه 06 اردیبهشت 1398, 11:16 صبح
لطفا توابع تاریخ و ساعتو داخل vb.net بگید مثلا الان توابع date.day.now.timeداخل دات نت وجود نداره بجای اینا از چی باید استفاده کرد؟

vbhamed
چهارشنبه 11 اردیبهشت 1398, 08:48 صبح
سلا
سوالتون رو در بخش vb.net بپرسید