|
AG Clase
.NET Framework 4.5.1
Publicado: Julio de 2018
Instancia principal que gestiona una estructura de datos binaria y tiene la capacidad de guardarla y recuperarla en un archivo e incluso con encriptación.
Espacio de nombres: JBin
Ensamblado: jbin.Dll
JBin es un protocolo que genera y lee archivos binarios, que pueden ser encriptados para garantizar la seguridad de su contenido.
Con JBin puedes almacenar datos tanto en archivos como en un buffer en memoria y puedes comunicar diferentes programas para pasar información, aunque estos están en diferentes lenguages o plataformas de programación.
AG (Add & Get) es la clase principal de JBin y el centro de gravedad en donde toda la librería gira.
Propiedades
Devuelve o establece si la instancia admite nulos en los archivos. Si AllowNull es false, no se admiten nulos en las funciones de Add y Get.
Devuelve o establece si el archivo que se va generando se auto redimensiona según va creciendo el buffer.
Devuelve el copyright de JBin.
Devuelve la fecha de creación del archivo leido.
Devuelve la información de la aplicación que a creado el archivo JBin leido.
Devuelve si el archivo JBin leido está encriptado.
Devuelve si la licencia demo de JBin está activa.
Propiedad para validar la licencia de JBin (en desuso, preparada para el futuro).
Devuelve la fecha y hora de expiración de la licencia de JBin.
Devuelve el Propietary de JBin.
Devuelve o establece el tamaño del buffer que se agina cada vez que se redimensiona con AutoResize a True.
Devuelve o establece el tamaño inicial que se asigna al buffer.
Devuelve o establece el tipo de archivo JBin.
Devuelve la Url del propietario de JBin.
Devuelve la Url de Validación de JBin (en desuso, preparada para el futuro).
Devuelve la versión actual de JBin.
Métodos
Añade un array binario al buffer binario en la posición LFO.
Añade un Boolean al buffer binario en la posición LFO.
Añade un Byte al buffer binario en la posición LFO.
Añade un Char al buffer binario en la posición LFO.
Añade un objeto Color al buffer binario en la posición LFO.
AddContextMenu (ContextMenu) Añade un objeto ContextMenu al buffer binario en la posición LFO.
AddContextMenuStrip (ContextMenuStrip) Añade un objeto ContextMenuStrip al buffer binario en la posición LFO.
Añade un objeto Cursor al buffer binario en la posición LFO.
Añade un objeto Date al buffer binario en la posición LFO.
Añade un Decimal al buffer binario en la posición LFO.
Añade un Double al buffer binario en la posición LFO.
Añade un objeto Font al buffer binario en la posición LFO.
Añade un objeto Image al buffer binario en la posición LFO.
AddImageFromFile (String) Añade un objeto Image desde un archivo al buffer binario en la posición LFO.
Añade un objeto de clase ImageList al buffer binario en la posición LFO.
Añade un Integer al buffer binario en la posición LFO.
Añade un objeto ListView al buffer binario en la posición LFO.
AddListViewGroup (ListViewGroup) Añade un objeto ListViewGroup al buffer binario en la posición LFO.
AddListViewItem (ListViewItem) Añade un objeto ListViewItem al buffer binario en la posición LFO.
AddListViewSubItem (ListViewItem.ListViewSubItem) Añade un objeto ListViewItem.ListViewSubItem al buffer binario en la posición LFO.
Añade un Long al buffer binario en la posición LFO.
Añade un objeto MenuStrip al buffer binario en la posición LFO.
Añade un objeto Padding al buffer binario en la posición LFO.
AddPictureBox (PictureBox) Añade un objeto PictureBox al buffer binario en la posición LFO.
Añade un objeto Point al buffer binario en la posición LFO.
Añade un objeto PointF al buffer binario en la posición LFO.
Añade un objeto Rectangle al buffer binario en la posición LFO.
AddRectangleF (RectangleF) Añade un objeto RectangleF al buffer binario en la posición LFO.
Añade un SByte (sin signo) al buffer binario en la posición LFO.
Añade un Short al buffer binario en la posición LFO.
Añade un Single (float en C#) al buffer binario en la posición LFO.
Añade un objeto Size al buffer binario en la posición LFO.
Añade un objeto SizeF al buffer binario en la posición LFO.
Añade una cadena de texto al buffer binario en la posición LFO.
AddToolStripComboBox (ToolStripComboBox) Añade un objeto ToolStripComboBox al buffer binario en la posición LFO.
AddToolStripItem (ToolStripItem) Añade un objeto ToolStripItem al buffer binario en la posición LFO.
AddToolStripSeparator (ToolStripSeparator) Añade un objeto ToolStripSeparator al buffer binario en la posición LFO.
AddToolStripTextBox (ToolStripTextBox) Añade un objeto ToolStripTextBox al buffer binario en la posición LFO.
Añade un UInteger (sin signo) al buffer binario en la posición LFO.
Añade un ULong (sin signo) al buffer binario en la posición LFO.
Añade un UShort (sin signo) al buffer binario en la posición LFO.
Devuelve un array binario igual que el añadido con AddBinary del buffer binario en la posición LFO.
Devuelve un Boolean del buffer binario en la posición LFO.
Devuelve un Byte del buffer binario en la posición LFO.
Devuelve un Chart del buffer binario en la posición LFO.
Devuelve un objeto Color del buffer binario en la posición LFO.
GetContextMenu(ContextMenu) Rellena en resCtx por refencia un objeto ContextMenu extraido del buffer binario en la posición LFO.
GetContextMenuStrip (ContextMenuStrip) Rellena en vMenu por refencia un objeto ContextMenuStrip extraido del buffer binario en la posición LFO.
Devuelve un objeto Cursor del buffer binario en la posición LFO.
GetDataBinary(Optional EncryptCredentials, Optional Boolean) Devuelve el contenido del buffer en formato binario. Si Allbuffer es True, devuelve el buffer completo, si es False, devuelve hasta la posición de pLFO.
Devuelve un objeto Date del buffer binario en la posición LFO.
Devuelve un Decimal del buffer binario en la posición LFO.
Devuelve un Double del buffer binario en la posición LFO.
Devuelve un objeto Font del buffer binario en la posición LFO.
Devuelve un objeto Image del buffer binario en la posición LFO.
GetImageList(ref ImageList) Rellena en vPic por refencia un objeto ImageList extraido del buffer binario en la posición LFO.
Devuelve un Integer del buffer binario en la posición LFO.
GetListView(Ref ListView, String, Point, Size) Rellena en vPic por refencia un objeto ListViewItem extraido del buffer binario en la posición LFO.
Devuelve un objeto ListViewGroup del buffer binario en la posición LFO.
GetListViewItem(Ref ListViewItem) Rellena en vPic por refencia un objeto ListViewItem extraido del buffer binario en la posición LFO.
GetListViewSubItem(Ref ListViewItem) Rellena en vSubItem por refencia un objeto ListViewItem.ListViewSubItem extraido del buffer binario en la posición LFO.
Devuelve un Long del buffer binario en la posición LFO.
GetMenuStrip(MenuStrip, Optional String) Rellena en vMesnu por refencia un objeto ToolStripItem extraido del buffer binario en la posición LFO.
Devuelve un objeto Padding del buffer binario en la posición LFO.
Devuelve un objeto PictureBox del buffer binario en la posición LFO.
Devuelve un objeto Point del buffer binario en la posición LFO.
Devuelve un objeto PointF del buffer binario en la posición LFO.
Devuelve un objeto Rectangle del buffer binario en la posición LFO.
Devuelve un objeto RectangleF del buffer binario en la posición LFO.
Devuelve un SByte (sin signo) del buffer binario en la posición LFO.
Devuelve un Short del buffer binario en la posición LFO.
Devuelve un Single (float en C#) del buffer binario en la posición LFO.
Devuelve un objeto Size del buffer binario en la posición LFO.
Devuelve un objeto SizeF del buffer binario en la posición LFO.
Devuelve una cadena de texto del buffer binario en la posición LFO.
Devuelve una cadena de texto del buffer binario en la posición LFO. Fuerza a leer solo la longitud indicada.
Devuelve un objeto ToolStripComboBox y los ImageList que contenga del buffer binario en la posición LFO.
GetToolStripItem(ToolStripItem) Rellena en resCtx por refencia un objeto ToolStripItem extraido del buffer binario en la posición LFO.
Devuelve un objeto ToolStripSeparator y los ImageList que contenga del buffer binario en la posición LFO.
Devuelve un objeto ToolStriptextBox y los ImageList que contenga del buffer binario en la posición LFO.
Devuelve un Integer (sin signo) del buffer binario en la posición LFO.
Devuelve un Long (sin signo) del buffer binario en la posición LFO.
Devuelve un UShort (sin signo) del buffer binario en la posición LFO.
Load(String, Optional EncryptCredentials) Lee y carga el contindo del archivo JBin en el buffer. Éste debe tener el protocolo JBin.
Save(String, Optional EncryptCredentials) Guarda el contindo del buffer en un archivo binario con el protocolo JBin.
SetDataBinary(Byte(), Optional EncryptCredentials) Transfiere DataBinary al buffer y pone pLFO a cero.
Eventos
OnError (Object, AGError) Evento que se dispara cuando se produce algún error excepción no controlada.
Ejemplo en VB.Net
En este ejemplo, creamos una clase 'Class User' para los datos de un usuario, una lista 'List(Of User)' de usuarios y los guardamos en un archivo JBin, despues lo cargamos en una nueva lista vacia.
Después, el mismo ejemplo en C#.
Imports System.IO
Imports JBin
' Creamos una clase para guardar a los usuarios
Public Class User
Public Name As String
Public City As String
Public DateCreated As Date
Public Avatar As Image
End Public
Public Class Form1
' Iniciar una colección en una lista de la clase Users
Dim Users As List(Of User) = New List(Of User)
' Iniciar Jbin con eventos y con un buffer de 10 megabytes
Dim WithEvents myJBin As New AG(10000000)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' *********************************************************************
' Creamos la lista y la guardamos en un archivo de formato JBin
' *********************************************************************
' Creamos dos usuarios
Dim User1 As New User
With User1
.Name = "Franky Smith"
.City = "London"
.DateCreated = Now()
.Avatar = Image.FromFile("C:\avatarFranky.png")
End With
Dim User2 As New User
With User2
.Name = "Mikel Fomi"
.City = "Madrid"
.DateCreated = Now()
.Avatar = Image.FromFile("C:\avatarMikel.png")
End With
Users.Add(User1)
Users.Add(User2)
' Tipo de archivo personalizado
myJBin.TypeFile = TypeFileJBin.Custom
' Creamos el binario JBin
myJBin.Add(User.Count) ' número de usuarios
For Each item As User In Users ' recorrer la lista
myJBin.AddString(item.Name)
myJBin.AddString(item.City)
myJBin.AddDate(item.DateCreated)
myJBin.AddImage(item.Avatar)
Next
' Guardamos la Lista en un archivo
myJBin.Save("c:\users.jbin")
' *********************************************************************
' Procedemos a leer el archivo y cargar los usuarios en otro List nuevo
' *********************************************************************
' Iniciar una colección nueva de Users
Dim newUsers As List(Of User) = New List(Of User)
' Reinicamos el objeto JBin
myJBin = New AG()
' Cargamos el JBin
myJBin.Load("c:\users.jbin")
' creamos el List y lo rellenamos
Dim num As Integer = myJBin.GetInt()
For i = 0 To num -1
Dim myUser As New User
With myUser
.Name = myJBin.GetString()
.City = myJBin.GetString()
.DateCreated = myJBin.GetDate()
.Avatar = myJBin.GetImage()
End With
newUsers.Add(myUser)
myUser = Nothing
Next
End Sub
' la función que nos devuelve si hay un error de lectura o escritura de JBin
Private Sub JBIN_Error(e As AGError)
MsgBox(e.Error.ToString & vbCrLf & e.Mensage)
End Sub
End class
Ejemplo en C#
En este ejemplo, creamos una clase 'Class User' para los datos de un usuario, una lista 'List(Of User)' de usuarios y los guardamos en un archivo JBin, despues lo cargamos en una nueva lista vacia.
using System.IO;
using JBin;
public partial class Form1 : Form
{
// Iniciar una colección en una lista de la clase Users
List< User> Users = new List< User>();
// Iniciar Jbin con un buffer de un megabyte
AG myJBin = new AG();
private void Form1_Load(object sender, EventArgs e)
{
// *********************************************************************
// Creamos la lista y la guardamos en un archivo de formato JBin
// *********************************************************************
// Creamos dos usuarios
User User1 = new User();
User1.Name = "Franky Smith";
User1.City = "London";
User1.DateCreated = DateTime.Now;
User1.Avatar = Image.FromFile("C:\avatarFranky.png");
User User2 = new User();
With User2
.Name = "Mikel Fomi"
.City = "Madrid"
.DateCreated = Now()
.Avatar = Image.FromFile("C:\avatarMikel.png")
End With
Users.Add(User1);
Users.Add(User2);
// Tipo de archivo personalizado
myJBin.TypeFile = TypeFileJBin.Custom;
// Creamos el binario JBin
myJBin.Add(User.Count); // número de usuarios
foreach (User item in Users) // recorrer la lista
{
myJBin.AddString(item.Name);
myJBin.AddString(item.City);
myJBin.AddDate(item.DateCreated);
myJBin.AddImage(item.Avatar);
}
// Guardamos la Lista en un archivo
myJBin.Save("c:\users.jbin");
// *********************************************************************
// Procedemos a leer el archivo y cargar los usuarios en otro List nuevo
// *********************************************************************
// Iniciar una colección nueva de Users
List< User> newUsers = new List< User>();
// Reinicamos el objeto JBin
myJBin = new AG();
// Cargamos el JBin
myJBin.Load("c:\users.jbin");
// creamos el List y lo rellenamos
int num = myJBin.GetInt();
for (i = 0; i < num; i++){
User myUser = new User();
myUser.Name = myJBin.GetString();
myUser.City = myJBin.GetString();
myUser.DateCreated = myJBin.GetDate();
myUser.Avatar = myJBin.GetImage();
newUsers.Add(myUser):
myUser = null;
}
}
// 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);
}
}
|