PROBLEMA Creare programma VB indipendente da .NET

Samuele_

Nuovo Utente
120
6
Salve. Inizio dicendo che sono alle primissime armi con Visual Basic quindi non aspettatevi grandi codici da controllare, dovrebbe essere semplice.
Allora qualche giorno fa mi sono messo a giocherellare con Visual Studio (uso Microsoft Visual Basic 2010 Express perchè è veramente semplice) ed ho finito per fare questo:

Codice:
Option Explicit On
Public Class Form1
    Dim random = New Random
    Dim utente As String = System.Environment.UserName
    Dim cartella As String = "C:\Users\" & utente & "\Desktop\prova\"

    Private Sub Form1_Shown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Shown
        Me.Hide()
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If System.IO.File.Exists("C:\stop.txt") Then
            End
        ElseIf Not System.IO.Directory.Exists(cartella) Then
            System.IO.Directory.CreateDirectory(cartella)
        End If
    End Sub


    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim counter = My.Computer.FileSystem.GetFiles(cartella)
        Dim numero As String = Me.random.Next(0, 400)
        If (CStr(counter.Count)) >= 400 Then
            End
        ElseIf Not System.IO.File.Exists(cartella & numero & ".txt") Then
            System.IO.File.Create(cartella & numero & ".txt")
        End If
    End Sub
End Class

L'ho fatto compilare e poi ho scoperto che non si poteva eseguire senza .NET Framework installato nel computer. Ma io non avevo mai usato .NET nel codice, almeno secondo me no, quindi dopo una ricerca ho visto due pagine
questa (My.Computer.FileSystem Object)
e questa (Classe File).
Da queste due pagine ho creduto di capire che la funzione System.IO.File.ecc era dipendente da .NET così ho sostituito le funzioni con My.Computer.FileSystem.ecc che dovrebbe essere semplicemente VB senza .NET.
Codice:
Option Explicit On
Public Class Form1
    Dim random = New Random
    Dim utente As String = System.Environment.UserName
    Dim cartella As String = "C:\Users\" & utente & "\Desktop\prova\"

    Private Sub Form1_Shown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Shown
        Me.Hide()
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If My.Computer.FileSystem.FileExists("C:\stop.txt") Then
            End
        ElseIf Not My.Computer.FileSystem.DirectoryExists(cartella) Then
            System.IO.Directory.CreateDirectory(cartella)
        End If
    End Sub


    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim counter = My.Computer.FileSystem.GetFiles(cartella)
        Dim numero As String = Me.random.Next(0, 400)
        If (CStr(counter.Count)) >= 400 Then
            End
        ElseIf Not My.Computer.FileSystem.FileExists(cartella & numero & ".txt") Then
            System.IO.File.Create(cartella & numero & ".txt")
        End If
    End Sub
End Class
Voi cosa ne pensate?
Qualcuno sa come creare un programmino in VB completamente indipendente da .NET?

P.S.: Ignorate cosa fa effettivamente il codice perchè era così tanto per cominciare
 
Ultima modifica:
M

Mursey

Ospite
Se un programma è scritto in VB.Net il framework .Net è obbligatorio.
Se lo fai con un vb più vecchio tipo il 6 ti serve comunque una dll che fornisce le funzioni per il runtime.

Nei link che hai messo si parla di Microsoft.VisualBasic.dll e mscorlib.dll quindi per girare avresti comunque bisogno di queste librerie; ed è facile che loro abbiano bisogno di altre per funzionare.

In generale puoi sviluppare in ambiente .net con una certa tranquillità perchè saprai che il framework sarà un prerequisito per funzionare (spesso è già installato in Windows o il 10 te lo scarica se serve).

Per avere un programma che giri senza dipendenze dovresti fartelo con un linguaggio come il C ma puoi notare che anche i videogiochi ti installano le librerie C++ per funzionare quindi non è un problema mettere queste dipendenze.


Se poi il tuo è solo un esercizio per capire meglio e migliorarti allora passo la palla ad altri, io sono più pratico ;)
 
  • Mi piace
Reazioni: GrizzlyBear

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili