using System.IO;
using JBin;
public partial class Form1 : Form
{
// Iniciar Jbin con un buffer de un megabyte
AG myJBin = new AG();
private void Form1_Load(object sender, EventArgs e)
{
// crear el evento para detectar errores
myJBin.Error += new JBin.AG.ErrorEventHandler (this.JBIN_Error);
// Iniciar Jbin con un buffer de un megabyte
Array.Resize(ref myJBin.Binary, 1000000 );
// Colocar el puntero del buffer al principio
myJBin.pLFO = 0
// aquí puedes añadir todos los datos que necesites guardar
int id = 1;
string name = "Franky";
string email = "franky@dominio.com";
// añadirlos al buffer
myJBin.AddInt(myClients.Item[i].ID);
myJBin.AddStr(myClients.Item[i].Name);
myJBin.AddStr(myClients.Item[i].email);
// crear el archivo binario JBin
myJBin.Save("miBinario.bin", FileMode.Create);
}
// la función que nos devuelve si hay un error de lectura o escritura de JBin
private void JBIN_Error(AGError e)
{
string message = ((char)e.Error).ToString();
string caption = "Error Detected in Input";
MessageBox.Show(message , caption);
}
}
Imports System.IO
Imports JBin
Public Class Form1
Private WithEvents myJBin As New AG
Private FileClients As String = Application.StartupPath & "\clients.bin"
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub myJBin_Error(e As AGError) Handles myJBin.[Error]
MsgBox(e.Error.ToString & vbCrLf & e.Mensage)
AbortWrite = True
End Sub
Dim AbortWrite As Boolean = False
Private Sub WriteClients()
' Iniciar el puntero del buffer
myJBin.pLFO = 0
' Asignar el tamaño del buffer para crear el archivo
ReDim myJBin.Binary(50000000)
myJBin.AddInt(myClients.CountClient)
For i As Integer = 0 To myClients.CountClient - 1
With myClients.Item(i)
myJBin.AddInt(.ID)
myJBin.AddStr(.Name)
myJBin.AddStr(.Email)
myJBin.AddStr(.Mobile)
myJBin.AddColor(.HairColor)
myJBin.AddDate(.Birthdate)
myJBin.AddStr(.Address)
myJBin.AddStr(.Country)
myJBin.AddStr(.Details)
' EXAMPLE FOR DETECT ERROR
If AbortWrite Then Exit Sub
End With
Next
' Redimensionar el tamaño del buffer al tamaño final del archivo
ReDim Preserve myJBin.Binary(myJBin.pLFO)
' Guardar el buffer en el disco
myJBin.Save(FileClients, FileMode.Create)
End Sub
Private Sub ReadClients()
myJBin.Load(FileClients, FileMode.Open, FileAccess.Read)
myJBin.pLFO = 0
Dim NumCl As Integer = myJBin.GetInt
For i As Integer = 0 To NumCl - 1
Dim newCl As New Client
With newCl
.ID = myJBin.GetInt
.Name = myJBin.GetStr
.Email = myJBin.GetStr
.Mobile = myJBin.GetStr
.HairColor = myJBin.GetColor
.Birthdate = myJBin.GetDate
.Address = myJBin.GetStr
.Country = myJBin.GetStr
.Details = myJBin.GetStr
End With
myClients.AddClient(newCl)
Next
End Sub
End Class