Avatar billede cronck Nybegynder
29. juli 2004 - 20:47 Der er 15 kommentarer og
1 løsning

Skal jeg opgradere til .NET ?

Jeg har i den sidste tid lavet mange små applikationer i Visual Basic 6.0
Jeg er igang med et lidt større projekt, og nu fortæller folk mig at det er dumt ikke at opgradere til .NET først.

Hvis jeg opgraderer til net, kan jeg ikke bruge min gamle kode, og skal derfor genskrive mit projekt som jeg er igang med.
Så tænkte jeg på om der ikke findes programmer til at konvertere VB 6.0 Projekter til .NET ?

Og, hvorfor opgradere? Ved godt at det er mere fremtidssikret.. :o)
Men, skal jeg til at lære et nyt sprog? eller findes der bare uhyr' mange nye funktioner?

Nogen der kan hjælpe mig med en stor beslutning?
Avatar billede arne_v Ekspert
29. juli 2004 - 20:57 #1
Medmindre du regner med at stoppe som udvikler på MS platform, så skal du i
gang med .NET på et eller andet tidspunkt.

Der er rigtigt meget funktionalitet i .NET frameworket. De fleste projekter
vil have fordel af det. Men om dit projekt har det kan vi ikke fortælle.

VB.NET er fuldt objekt orienteret og bør derfor give fordele ved
større projekter alene af den grund (tommelfinger regel: ved mere end
10000 linier kode).

Men selvom syntaksen ligner VB6 meget, så er det et stort skift. Der vil
være meget at sætte sig ind i.

Jeg ved ikke om der eksisterer programmer der kan konvertere VB6 kode
til VB.NET kode (jeg er sådan set ikke VB mand).

Men hvis der gør vil jeg nok fraråde brugen af det. Skal man have fuld nytte
af .NET skal man gøre alting på den rigtige .NET facon og ikke nødvendigvis
på den måd esom ligner VB6 mest.
Avatar billede cronck Nybegynder
29. juli 2004 - 21:09 #2
Ok... Flot skrevet! :-)
Jeg lader lige spørgsmålet stå åbent, i håb om mere information...

Jeg kan lige kort fortælle om mit projekt: Mit projekt omhandler spillet RuneScape på www.runescape.com .
Jeg laver både et server applikation og en klient. Klienten skal have mulighed for at oprette brugere, chatte, sende mails til hinanden (internt). Oplysninger som for eks. brugere bliver gemt i en database.
Og så lige en vigtig ting: Programmet behøver ikke at virke i andre operativ systemer end Windows, da spillet heller ikke fungerer i andre ;-)
Avatar billede cronck Nybegynder
29. juli 2004 - 21:15 #3
Glemte lige en ret vigtig ting.
Kompabilitet! Behøver folk nogen specielle ting installeret? hvor kan jeg linke dem til?
Kan de for eks. nøjes med nogle .ocx filer eller lign. for at køre programmet?
Avatar billede arne_v Ekspert
29. juli 2004 - 21:15 #4
Der er fremragende client/server muligheder i VB.NET (både high level via remoting
og low level via sockets).

Der er selvfølgelig også gode database muligheder, men det er så vidt jeg ved lavet
meget om i forhold til VB6.

Både VB6 og VB.NET er vel windows only (medmindre man vil satse på at Mono får
VB.NET op at køre på Mono på Linux).
Avatar billede arne_v Ekspert
29. juli 2004 - 21:17 #5
Folk skal have .NET Framework installeret for at kunne køre en .NET app.

Det fylder godt 20 MB og kan hentes gratis hos MS (også via Windows Update).

Det er allerede i Win2003 og vil uden tvivl være i alle fremtidige Windows
versioner.
Avatar billede cronck Nybegynder
29. juli 2004 - 21:34 #6
Jeg sad og læste lidt guides om database udtræk og sådan noget i VB.Net...
De eneste metoder jeg kunne finde, var ved brug af SQL Server... :(
I VB 6.0 brugte jeg for eks.
Sub Form_Load()
Dim db As Database
Dim rs As Recordset
Set db = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\data\Profiles.mdb")
Set rs = db.OpenRecordset("tblProfiles")
End Sub

Login Funktion
        rs.MoveFirst
          Do While rs.EOF = False
            If rs!User = strUser And rs!Pass = strPass Then
                UpdateConnectionArray rs!User, Index, rs!Country
                db.Execute "UPDATE tblProfiles SET LastLogin = '" & rs!NowLogin & "', NowLogin = '" & Now & "', LastIp = '" & rs!NowIp & "', NowIp = '" & Winsock(Index).RemoteHostIP & "', LoginCount = '" & rs!LoginCount + 1 & "' WHERE User = '" & strUser & "'"
                Exit Sub
            End If
        rs.MoveNext
        Loop


Og det er jo forholdsvist nemt og overskueligt. Også update, funktionen som opdaterer hvornår brugeren for eks. sidst loggede ind, og hvilken IP det skete fra...
Avatar billede arne_v Ekspert
29. juli 2004 - 21:37 #7
.NET har SqlXxxx for SQLServer, OleDbXxxx for OLE DB og OdbcXxxx for ODBC.

Plus specielle for Oracle, MySQL etc..
Avatar billede arne_v Ekspert
29. juli 2004 - 21:38 #8
Simpel query mod Access database i VB.NET:

Imports System
Imports System.Data.OleDb

Class MainClass
    Public Shared Sub Main(ByVal args As String())
        Dim con As OleDbConnection = New OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Database\MSAccess\Test.mdb;User Id=admin;Password=")
        con.Open
        Dim cmd As OleDbCommand = New OleDbCommand ("SELECT * FROM T1", con)
        Dim rdr As OleDbDataReader = cmd.ExecuteReader
        While rdr.Read
            Dim f1 As Integer = CType(rdr(0), Integer)
            Dim f2 As String = CType(rdr(1), String)
            Console.WriteLine(f1 & " " & f2)
        End While
        con.Close
    End Sub
End Class
Avatar billede cronck Nybegynder
29. juli 2004 - 21:40 #9
Det er jo meget kode i forhold til den tidligere... :(
Well... Det må man jo vænne sig til, og det der kræver ingen server?
Avatar billede arne_v Ekspert
29. juli 2004 - 21:40 #10
Og en opdatering kan være:

Dim cond As Integer = 3;
Dim newval As String = "Test"
cmd.ExecuteNonQuery("UPDATE T1 SET F2 = '" & newval & "' WHERE F1 = " & cond)
Avatar billede arne_v Ekspert
29. juli 2004 - 21:41 #11
Access kræver ingen server.
Avatar billede cronck Nybegynder
29. juli 2004 - 21:44 #12
Jeg takker mange gange for din gode støtte... Send svar, du har vist fortjent point'ne :D
Avatar billede arne_v Ekspert
29. juli 2004 - 21:45 #13
Jeg tror iøvrigt ikke at det er specielt flere linier end i VB6.

4 linier til at åbne connection, udføre query og få et result set +
en while løkke + 1 linie til at lukke efter sig.
Avatar billede arne_v Ekspert
29. juli 2004 - 21:45 #14
Det er ihvertfald nogenlunde det samme i ASP.
Avatar billede arne_v Ekspert
29. juli 2004 - 21:45 #15
svar
Avatar billede cronck Nybegynder
29. juli 2004 - 21:50 #16
Tja... Du har jo nok ret :o)
Synes bare lige at en "simpel" var lidt voldsom, men, ja jeg er jo vant til at det bliver delt op :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester