# Native Code > برنامه نویسی در 6 VB > آموزش: تبدیل کدهای VB6 به VB.Net

## earse+erse

*به نام یگانه برنامه نویس هستی* باسلام

VB6 زبان خیلی خوبیه و VB6 کارها هم خیلی زیادن! ولی با اومدن VB.Net و نسخه های مختلف اون خیلی از وی بی کاران به اون رو آوردند و خیلی ها می خوان رو بیارن،ولی به دلیل تفاوت هایی که در نگاه اول این دو زبان دارنددودل هستند که: «خدایا چی کار کنم ... اگه کد هایش خیلی فرق بکنه چی؟ ... اگه بمونم توی گل چی؟ »
خوب من اومدم اینجا یک تاپیک بزنم که بگم: « نگران نباشید *با کمک هم* *VB6** رو به* *VB.Net** تبدیل می کنیم.*»

خوب یعنی چی؟
یعنی در این تاپیک در مورد تبدیل کد ها از VB6 به VB.Net صحبت میشه.

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


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

 

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


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






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

 1- توضیح در مورد سوال اول (اگه امکانش هست دسته بندی) VB6 کد اول در وی بی 6      
VB 7, 8, 9 (هر کدوم از ورژن ها)  
؟







    

کلام آخر:
این تاپیک با کمک xxxxx_xxxxx""  مدیر بخش VB6  و "Mani_rf" مدیر بخش VB.Net شروع شده از این دو عزیز متشکرم.
این تاپیک، تاپیک مشترکی بین بخش VB6 و VB.Net است.

*باز هم تاکید می کنم این تاپیک رو* *پر رونق** کنید.( مخصوصا دات نتی های عزیز )*با تشکر *سید علیرضا اصفهانی*

----------


## earse+erse

اولیش هم خودم میدم ولی بقیه باشما



> 1- پیدا کردن مسیر دایرکتوری فایل اجرایی برنامه
> VB6  
> 
> App.path 
> 
> 
> 
>  Vb7, 8, 9
> 
> My.Application.Info.DirectoryPath

----------


## Netsky

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

----------


## Mani_rf

1- انتقال پروسس به سایر قسمت های برنامه.
(در حلقه های طولانی برای جلو گیری کردن از هنگ کردن برنامه از این دستور استفاده می شود.)

*VB6* 

DoEvents



*Vb7, 8, 9
*
Application.DoEvents

----------


## Mani_rf

(این هم روشی که دوستمو گفت البته با توضیحات و عکس؛ این تاپیک را من چند وقت پیش زده بودم که به دلیل اینکه به به این موضوع مربوط می شه همون را براتون می گذارم.)

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

من خیلی وقت پیش زبان برنامه نویسی خودم را از 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 این گزینه را انتخاب کنید.



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

----------


## masoud.t123

پردازش یا مدیریت خطا : exception Handling

VB6On Error Resume Next


On Error goto 0


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

----------


## masoud.t123

تغییر نام کنترل ها:

VB6
Command button
Option button
Frame
Image


Vb7, 8, 9

Button
Radio button
Group box
nonly Picture box

----------


## Mani_rf

3- جدا کردن قسمتی از رشته از سمت راست و چپ

*VB6*  
$Right 
 $Left   

*Vb7, 8, 9* 
Strings.Right
Strings.Left

----------


## earse+erse

خوش حالم تاپیک راه افتاد ولی انتظار بیشتره.....
     2- انتخاب هندل شيءVB6
Me.hWnd
 
Vb7, 8, 9

Me.Handle.ToInt64

----------


## earse+erse

3- پیدا کردن نام فایل اجرایی برنامه 

VB6


App.Title


Vb7, 8, 9

My.Application.Info.Title

----------


## earse+erse

4- پیدا کردن نام شرکت برنامه 
VB6 
App.Comments 

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

----------


## earse+erse

5- نوشته روی شی(فرم، تکست باکس، برچسب و ... )
VB6Object.CaptionVb7, 8, 9Object.Text

----------


## HamedNet_ir

خیلی ممنون!

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

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

----------


## Mani_rf

*4-* حلقه تکرار While 

VB6

While
.
.
Wend



Vb7, 8, 9

While
.
.
End While

----------


## Mani_rf

*توضیحات درباره برخی تفاوت های دوزبان.*
 


در کل قسمت عمده ای از دستورات دو زبان برنامه نویسی کاملا به یک دیگر شبیهند؛ تفاوت هایی کوچک در زبان 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

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

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

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

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

8- تانژانت عدد 

VB6 (#)Tan 

VB.Net (#)System.Math.Tanبچه ها  این همه کد یعنی هیچ کس چیزی به ذهنش نمیرسه؟

----------


## sina26

سلام
دوستان یه فایل آموزشی جالبی در رابطه با تبدیل کد های  vb6به VB.Net تقدیم میگردد 

دانلود

----------


## aryasoft2872

ببخشید دستورهای load , unload توی دات نت جطوری هستن؟

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

----------


## earse+erse

> ببخشید دستورهای load , unload توی دات نت جطوری هستن؟
> 
> و سوال دوم اینکه توی وی بی 6 برای رندوم بودن می نوشتیم randomize timer ولی توی دات نت بخش دومش رو نمی شناسه... «چه باید کرد؟»


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

VB6
unload me
form1.show

vb.net
Me.hide
form1.show

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

----------


## xxxxx_xxxxx

> 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

ببخشید من دستور load و Unload رو برای ساخت و از بین بردن شی می خواستم پس دوباره سوالم رو مطرح می کنم:
'VB 6
Load Shape1(1)

Unload Shape1(1)

'VB.NET
??

??

----------


## Mani_rf

> ببخشید من دستور 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

منظورم خاص کنترل shape نیست هر کنترلی فقط بحث به وجود آوردن و از بین بردن هستش..

----------


## Mani_rf

ایجاد شئ در زمان اجرا :
*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

تخصیص دادن کمه (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

*SendKeys*
ارسال یک کلید (دکمه) از طریق برنامه، در دو حالت immediately و wait :

*VB6*

SendKeys "A"          'Immediately
SendKeys "A", 1       'Wait
*VB.NET*

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

----------


## Mani_rf

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


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

----------


## محسن شامحمدی

بدست آوردن تعداد کاراکترهای رشته

vb6
a=len(text1.text)


vb.net
dim a=text1.text.length

----------


## aryasoft2872

با سلام

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


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

.NET 2008
??
??

----------


## Mani_rf

> با سلام
> 
> اینطور که به نظر می آد خاصیت index در دات نت حذف شده می خواستم ببینم به جای اون چه خاصیتی جایگزین شده:
> 
> 
> VB 6
> For i = 0 To 10
>   labe1(i).Visible = False
> Next
> ...


نه دوست عزیز ، حذف نشده ، روش استفاده از او عوض شد، برای اطلاعات بیشتر به پاسخ شماره 28 همین تاپیک مراجعه کن.

----------


## Dr.Bronx

چند تا دستور هم من میزارم . امیدوارم تکراری نباشه

دستور 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

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

----------


## Mani_rf

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


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

----------


## parselearn

معادل اين دستور vb.net چي ميشه؟

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

----------


## M.T.P

> معادل اين دستور vb.net چي ميشه؟
> 
> If App.PrevInstance = True Then MsgBox "برنامه در حال اجراست", vbExclamation: End


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

----------


## earse+erse

اینم یجا دیدم برای دانلود گذاشتم شاید بدرد بخوره

مقایسه تفاوت های دو زبان

----------


## ehsanocx

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

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

----------


## ricky22

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


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

----------


## REZADG

عزیزان معادل 
    LstNames.Clear
و 
unload me  
در vs2005  چیه؟

----------


## ali reza mansoori 2

> (این هم روشی که دوستمو گفت البته با توضیحات و عکس؛ این تاپیک را من چند وقت پیش زده بودم که به دلیل اینکه به به این موضوع مربوط می شه همون را براتون می گذارم.)
> 
> باسلام خدمت همه دوستان.
> 
> من خیلی وقت پیش زبان برنامه نویسی خودم را از VB6 به VB.Net ارتقا دادم . در این بین پروژه ها و کدهای داشتم که با VB6 نوشته بودم و نیاز داشتم که از اونها از در VB.Net استفاده کنم. اما خوب همه می دانیم که تغییراتی بین این دو زبان به و جود آمده. 
> 
> هدف من از ایجاد این تاپیک این بود که این امکانات را به افرادی که به آنها نیاز دارند اما از و جود آنها بی اطلاع هستند معرفی کنم. چون بعضی وقت ها دوستانی را دیدم که برای تبدیل و معادل کد های دو زبان دچار مشکل می شدند.
> 
> اولین امکانی که VB.Net در اختیار برنامه نویسان VB6 قرار داده این است که می توانند پروژه VB6 خود را مستقیما درون VB.Net باز کنند تا همه کدها و پروژه به معادل آن در زبان VB.Net تبدیل شود پروژه آنها در VB.Net باز و قابل ویرایش باشد.
> ...


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

----------


## REZADG

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


نه من نصب نکردم میتونم استفادش کنم

----------


## ehsanocx

این کد ها با 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

نکته‌ی مهم قبل از ارتقای پروژه 
ویژوال بیسیك دات‌نت نسبت به نسخه‌های قبلی ویژوال بیسیك تغییرات زیادی داشته است. چون این نسخه برای بهره‌برداری بیش‌تر از امکانات چارچوب دات‌نت طراحی شده، تمامی راه‌های حفظ سازگاری با نسخه‌های قبلی در آن بسته شده است. 
▪ نکته: 
هر دو نسخه‌ی ۶ و دات‌نت ویژوال بیسیك و برنامه‌های نوشته شده با این دو زبان را می‌توان هم‌زمان بدون هیچ مشکلی با هم روی یک کامپیوتر نصب و اجرا كرد. اجزا و کنترل‌های ایجاد شده در ویژوال بیسیك دات‌نت می‌توانند با اجزای 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

> 3- جدا کردن قسمتی از رشته از سمت راست و چپ
> 
> *VB6*  
> $Right 
>  $Left   
> 
> *Vb7, 8, 9* 
> Strings.Right
> Strings.Left


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

----------


## Mr'Jamshidy

سلام به همه دوستان عزیز

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

اگر با ویندوز ویستا یا سون کار کرده باشید حتما با 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

> عزیزان معادل 
> LstNames.Clear
> و 
> unload me 
> در vs2005 چیه؟


lstNames.Items.Clear

برای خارج کردن فرم از حافظه
Me.Closeبرای خارج کردن کنترل از حافظه
Me.Controls.Remove(ObjName)

----------


## m.javvi

با سلام 
تابع معکوس کردن رشته در vb 6  که reverse هست در vb.net 2008 چیه؟؟؟

----------


## ricky22

> با سلام 
> تابع معکوس کردن رشته در vb 6  که reverse هست در vb.net 2008 چیه؟؟؟


StrReverse

----------


## kiss_my_l0ve

سلام دوستان معادل دستور lock در .net چیه
vb
text1.lock=true
vb.net
??

----------


## xxxxx_xxxxx

> سلام دوستان معادل دستور lock در .net چیه
> vb
> text1.lock=true
> vb.net
> ??


 Text1.ReadOnly = True

----------


## ali190

سلام
دوستان واقعاً تایپیک جالبی هست 
خیلی خیلی ممنون 
من یه پروژه دیتابیس ساده رو که با Vb6 نوشته بودم با visual studio باز کردم ، راحت کار کرد
اما یه پروژه دیگه که یه مقدار از اولی پیچیده تر بود و از کامپوننتهای codejock توش استفاده کره بودم رو باز کردم نتونست اجراش کنه و حدود 30 ارور رو به من نشون داد
آیا دستوراتی که در vb6 در کار با کامپوننتها و خواص اونها استفاده میکنیم در visual sttudio هم همونجوریه؟
در ویژوال استودیو بخشی به نام Upgrade vb6 code وجود دارد ، (در پست های قبلی اشاره ای بهش شده بود) میشه دقیقاً بگید وظیفه این بخش چیه؟
همونطور که گفتم هنگام اجرای بعض از پروژه ها ارورهایی از جانب visual studio صادر میشه :
2011-01-01 10-29-21 ق.jpg
آیا رفرنسی جهت این خطا ها و برطرف نمودنشون وجود داره؟
ممنون 
یاعلی

----------


## محسن شامحمدی

> اما یه پروژه دیگه که یه مقدار از اولی پیچیده تر بود و از کامپوننتهای codejock توش استفاده کره بودم رو باز کردم نتونست اجراش کنه و حدود 30 ارور رو به من نشون داد


طبیعتا هر چی حجم کدهای نوشته شده بیشتر می شه امکان وجود کدهای ناسازگار بیشتر می شه.




> آیا دستوراتی که در vb6 در کار با کامپوننتها و خواص اونها استفاده میکنیم در visual sttudio هم همونجوریه؟


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




> در ویژوال استودیو بخشی به نام Upgrade vb6 code وجود دارد ،
> (در پست های قبلی اشاره ای بهش شده بود) میشه دقیقاً بگید وظیفه این بخش چیه؟


شما کد وی بی 6 تو توش می نویسی این تا جایی که می تونه توابعتو تبدیل می کنه به مدل جدیدش.
مثلا اگر اینو بهش بدی:
open "c:\a.txt" for binary as #1

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

----------


## mohsen_archi

Untitled.jpg
با سلام
من visual studio 2010 رو نصب کردم، ولی چیزی به نام Upgrade vb6 code رو ندیدم، یعنی امکان داره تو این نسخه حذف شده باشه؟

----------


## ali reza mansoori 2

دوستان بهتره این تایپیک فعال باشه آخه دیگه باید به VB.Net کوچ کنیم اگر یه نگاه به VB.Net 2010 و امکاناتش بندازید دیگه VB6 رو خودتون میریید پاک می کنید
بهتره این تایپیک هم از نکات مفید تر استفاده کنه مانند اتصال به بانک ،گرفتن گزارش و دیگر امکانات که خیلی در VB.Net بهتر و آسان تر شده و برای دیگر دوستان جزابیت بیشتری داره

----------


## ali190

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

----------


## Slytherin

نوشته شما بسیار اندک است ، تعداد کاراکتر های هر نوشته دست کم 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
> ...

----------


## zahedi121

سلام
فکر کنم اگر  به مشکل برخوردیم و منبع فارسی پیدا نکردیم این کتاب مفید باشه :
http://msdn.microsoft.com/en-us/vbasic/ms788236

موفق باشید

----------


## zahedi121

سلام
در  تاپیک  : https://barnamenevis.org/showthread.p...B6-به-VB2010
که به علت تکراری بودن به این تاپیک ارجاع شده گفته شده که در vb2010  فایلهای vb6 خودکار آپگرید
می شوند ولی من وقتی می خوام اینکار را بکنم این خطا میاد :
2.JPG

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

1.JPG

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

----------


## ali reza mansoori 2

دوستانی که آمادگی دارن به این تایپیک کمک کنند اعلام کنند تا به صورت برنامه ریزی شده بریم جلو

----------


## zahedi121

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


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

----------


## emperor_vb6

> (این هم روشی که دوستمو گفت البته با توضیحات و عکس؛ این تاپیک را من چند وقت پیش زده بودم که به دلیل اینکه به به این موضوع مربوط می شه همون را براتون می گذارم.)
> 
> باسلام خدمت همه دوستان.
> 
> من خیلی وقت پیش زبان برنامه نویسی خودم را از VB6 به VB.Net ارتقا دادم . در این بین پروژه ها و کدهای داشتم که با VB6 نوشته بودم و نیاز داشتم که از اونها از در VB.Net استفاده کنم. اما خوب همه می دانیم که تغییراتی بین این دو زبان به و جود آمده. 
> 
> هدف من از ایجاد این تاپیک این بود که این امکانات را به افرادی که به آنها نیاز دارند اما از و جود آنها بی اطلاع هستند معرفی کنم. چون بعضی وقت ها دوستانی را دیدم که برای تبدیل و معادل کد های دو زبان دچار مشکل می شدند.
> 
> اولین امکانی که VB.Net در اختیار برنامه نویسان VB6 قرار داده این است که می توانند پروژه VB6 خود را مستقیما درون VB.Net باز کنند تا همه کدها و پروژه به معادل آن در زبان VB.Net تبدیل شود پروژه آنها در VB.Net باز و قابل ویرایش باشد.
> ...


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

----------


## Veteran

بابا یکم روی کار با بانک اطلاعاتی کار کنین
معادل اینا چیه ؟ توی 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

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


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

----------


## M.T.P

> بابا یکم روی کار با بانک اطلاعاتی کار کنین
> معادل اینا چیه ؟ توی vb.net 2010


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



```
My.Application.Info.DirectoryPath
```

----------


## Veteran

Adodcکجاست ؟ اینارو میگی ؟

----------


## M.T.P

> Adodcکجاست ؟ اینارو میگی ؟




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

----------


## _behnam_

سلام!
با اجازه آقای *M.T.P* 
به نظرم اصلا کار درستی نیست که بخوایم از *Microsoft Ado Data Control 6.0* توی* VB.net* استفاده کنیم!!!چراکه توی اجرای بعضی دستورات حتی داخل *VB6* کم میاره چه برسه به *VB.net*
همون* OleDb* دات نت بهتره
ببینید اگه بخوایم به این فکر کنیم که بیایم همون دستورات و همون روش برنامه نویسی *VB6* رو توی *VB.net* پیاده کنیم *100%* یه جا به مشکل بر میخوریم
بنده هم قبلا همین کارو کردم اما دیدم در اشتباه بودم , الان دارم *VBdotNET* رو از اول کار میکنم انگار نه انگار که قبلا* VB6* کار کرده باشم*
(البته بلاجبار  توی دانشگاه بهمون یاد میدن )
*

----------


## butterfly8528

سلام دوست عزیز .
امکان آپگرید از VB6 به VB2010 وجود نداره ، شما باید با استفاده از VS2008 کدهای VB6 رو آپگرید کنبد به VB.Net .
موفق باشید .

----------


## mohammad bayervand

يك سوال :
اقا اين مطلب كه كه ميگن كدهاي .net نسبت به vb6 خيلي راحت تر كرك ميشه صحت داره ؟؟؟؟
با تشكر.

----------


## IamOverlord

در شرایط برابر بخواهیم مقایسه کنیم، اکثر فایل های اجرایی Disassemble می شن، چه واسه net. و چه نه، اما Assembly های net. فکر می کنم سطح بالاتر هستند و راحت تر Crack می شن. #Dis رو امتحان کن.

----------


## butterfly8528

> يك سوال :
> اقا اين مطلب كه كه ميگن كدهاي .net نسبت به vb6 خيلي راحت تر كرك ميشه صحت داره ؟؟؟؟


بله ، 100% صحت داره .

----------


## nakhodasokoot

> دوستانی که آمادگی دارن به این تایپیک کمک کنند اعلام کنند تا به صورت برنامه ریزی شده بریم جلو


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

----------


## caspianhero

با سلام بر دوستان
من با نگاهی که به کدها کردم دیدم که کدهای vb.net خیلی قابل فهم تر نسبت به vb6 هست!!! و تکنولوژی که دات نت به کار رفته خیلی از vb بهتره!!!!
دوستان اگر این تایپیک را ادامه بدهند خیلی جذاب میشه!!

تشکر

----------


## SHD.NET

سلام . این برنامه که با وی بی نوشتم در خصوص کار با فایل در ویژوال بیسیکه

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

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

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

----------


## asheykh

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

----------


## Desert_son

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

----------


## negarm

معادل تابع date در vb.net چی میشه؟

----------


## negarm

لطفا توابع تاریخ و ساعتو داخل vb.net بگید مثلا الان توابع date.day.now.timeداخل دات نت وجود نداره بجای اینا از چی باید استفاده کرد؟

----------


## vbhamed

سلا
سوالتون رو در بخش vb.net بپرسید

----------

