Option Strict Off
Structure Record
Public suono As String
Public nome As String
End Structure
Public Class Form1
Dim recNum As Integer
Dim mioRecord As New Record
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
mioRecord.suono = TextBox1.Text
mioRecord.nome = TextBox2.Text
If System.IO.File.Exists("C:\users\antonello\desktop\file") Then
recNum = CInt((FileLen("C:\users\antonello\desktop\file") / Len(mioRecord)))
Else
recNum = 0
End If
FileOpen(1, "c:\users\antonello\desktop\file", OpenMode.Random, , , Len(mioRecord))
FilePut(1, mioRecord, recNum + 1)
FileClose(1)
End Sub
End Class
Miei appunti liberi, senza pretesa di dire necessariamente sempre cose giuste o sensate, durante l'apprendimento e la pratica della programmazione
JavascriptProva
Visualizzazione post con etichetta fileopen. Mostra tutti i post
Visualizzazione post con etichetta fileopen. Mostra tutti i post
lunedì 9 settembre 2013
Codice per scrivere files ad accesso casuale.
Per scrivere files ad accesso casuale (due TextBoxes e un Button sul form...)
sabato 7 settembre 2013
Copiare un ArrayList in una matrice (array) e riempire un ArrayList con linee di un file di testo, da trasferire in un array.
Public Class Form1
Dim insieme As ArrayList
Dim matrice As String()
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
insieme = New ArrayList
insieme.Add("gongolo")
insieme.Add("mammolo")
insieme.Add("pisolo")
ReDim matrice(insieme.Count)
insieme.CopyTo(matrice)
Debug.Print(matrice(0) & " " & matrice(1) & " " & matrice(2))
End Sub
End Class
gongolo mammolo pisoloBene. Con questo codice ho trascritto il valore di un ArrayList in un array di stringhe.
Adesso il codice che anzichè immettere manualmente gli elementi in un ArrayList li prende da un file.
Creo il file settenani.txt
gongolo pisolo mammolo eolo dotto brontolo cuccioloE adesso lo "prendo" con l'istruzione FileOpen, trascrivendo ogni linea del file in una variabile stringa e apponendolo all'ArrayList, quindi ridimensiono un array di stringhe alla stessa lunghezza dell'ArrayList e vi trascrivo i valori di questo:
Public Class Form1
Dim insieme As New ArrayList
Dim matrice As String()
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim str As String = String.Empty
Dim n As Integer = 1
FileOpen(1, "C:\Users\Antonello\Desktop\settenani.txt", OpenMode.Input)
Do Until EOF(1)
str = LineInput(1)
insieme.Add(str)
Loop
ReDim matrice(insieme.Count)
insieme.CopyTo(matrice)
For Each elemento In matrice
Debug.Print(elemento)
Next
End Sub
End Class
Ecco il risultato nella finestra di debug, dove il programma dice di stampare gli elementi della matrice di stringhe:
gongolo pisolo mammolo eolo dotto brontolo cuccioloDunque l'aver preso le linee del file di testo, l'averle messe in un ArrayList e quindi trascritte in un array di stringhe funziona.
Si potrebbe chiedersi perchè non mettere direttamente tutto in un array di stringhe: il problema è che a ogni mutamento di dimensioni di un array questo viene ritrascritto di sana pianta in un'altra locazione della memoria, e l'operazione è poco efficiente.
venerdì 6 settembre 2013
Conversione di un testo in codici ASCII esadecimali.
Il codice per convertire un file di testo nei corrispondenti codici ASCII espressi in notazione esadecimale (lo metto qui come mio promemoria).
Public Class Form1
Dim b As Byte
Dim esadecimale As String
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
FileOpen(1, "C:\Users\Antonello\Desktop\dante.txt", OpenMode.Binary)
Dim n As Integer = 1
Do Until EOF(1)
FileGet(1, b, n)
n += 1
esadecimale += Hex(b)
Loop
FileClose(1)
Debug.Print(esadecimale)
End Sub
End Class
Iscriviti a:
Post (Atom)