CJYARLEQuE-SYSTEM

domingo, 10 de octubre de 2010

Estructuras y Arreglos en vb.net

Este es un tema de VisualBasic.net  almacenando datos sin necesidad de conectarse a una Base de datos

1.-En el Modulo programar lo siguiente:

Module Module1

    Public Structure regi
        Public Cliente As String
        Public pelicula As String
        Public f_ini As String
        Public dias As String
        Public f_fin As String
        Public costo As String
        Public total As String
    End Structure
---------------------------------------------
    Public sw As Boolean
    Public indice As Integer
    Public registro() As regi
    Public registros(0) As regi
End Module

2..-En el Form1

Public Class Form1

    'Dim alqui As alquiler
    Dim i As Integer = 0
    Dim a As Integer = 10
    Public cadena As String = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyzáíóúé "
    Public numeros As String = "0123456789"
    Private Structure datosalquiler
        Public Cliente As String
        Public pelicula As String
        Public f_ini As String
        Public dias As String
        Public f_fin As String
        Public costo As String
        Public total As String
    End Structure

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        sw = True
        TextBox1.Text = ""
        TextBox2.Text = ""
        TextBox3.Text = ""
        TextBox4.Text = ""
        TextBox5.Text = ""
        TextBox6.Text = ""
        DateTimePicker1.Text = ""
        DateTimePicker2.Text = ""
        TextBox1.Focus()
    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        End
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If Trim(TextBox1.Text).Length = 0 Then
            MessageBox.Show("El cliente no es Nulo", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End If

        If Trim(TextBox2.Text).Length = 0 Then
            MessageBox.Show("La Pelicula no es Nulo", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End If

        'If Trim(TextBox3.Text).Length = 0 Then
        '    MessageBox.Show("Dias de alquiler no es Nulo", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        '    Exit Sub
        'End If
        'If Trim(TextBox4.Text).Length = 0 Then
        '    MessageBox.Show("costo de alquiler no es Nulo", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        '    Exit Sub
        'End If
        'If Trim(TextBox5.Text).Length = 0 Then
        '    MessageBox.Show("total de alquiler no es Nulo", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        '    Exit Sub
        'End If

        'Dim f1, f2 As Date
        'Dim d As Integer
        'f1 = CDate(DateTimePicker1.Value)
        'f2 = CDate(DateTimePicker2.Value)
        Dim hoy As DateTime = DateTime.Now
        Dim diaFinal As DateTime = hoy.AddDays(TextBox3.Text)
        DateTimePicker2.Value = diaFinal
        'd = DateDiff(DateInterval.Day, f1, f2)

        TextBox4.Text = 12.5
        TextBox5.Text = TextBox3.Text * 12.5

    End Sub

    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        Dim validarcaracter As Integer = InStr(cadena, e.KeyChar)
        If validarcaracter = 0 And AscW(e.KeyChar) <> 8 Then e.KeyChar = ""
    End Sub

    Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
        Dim validarcaracter As Integer = InStr(cadena, e.KeyChar)
        If validarcaracter = 0 And AscW(e.KeyChar) <> 8 Then e.KeyChar = ""
    End Sub

    Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
        Dim validarnumeros As Integer = InStr(numeros, e.KeyChar)
        If validarnumeros = 0 And AscW(e.KeyChar) <> 8 Then e.KeyChar = ""
    End Sub

    Private Sub TextBox4_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox4.KeyPress
        Dim validarnumeros As Integer = InStr(numeros, e.KeyChar)
        If validarnumeros = 0 And AscW(e.KeyChar) <> 8 Then e.KeyChar = ""
    End Sub

    Private Sub TextBox5_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox5.KeyPress
        Dim validarnumeros As Integer = InStr(numeros, e.KeyChar)
        If validarnumeros = 0 And AscW(e.KeyChar) <> 8 Then e.KeyChar = ""
    End Sub


    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        TextBox6.Text = ""
        listaregistros()

    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
                Dim registro = New regi
        With registro
            .Cliente = TextBox1.Text
            .pelicula = TextBox2.Text
            .f_ini = DateTimePicker1.Value
            .dias = TextBox3.Text
            .f_fin = DateTimePicker2.Value
            .costo = TextBox4.Text
            .total = TextBox5.Text
        End With
        registros(UBound(registros)) = registro
        ' ReDim Preserve registros(UBound(registros) + 1)
        MessageBox.Show("Datos agregados...")



    End Sub
    Dim cadenar As String
    Private Sub listaregistros()
        For Each regsitro In registros
            With regsitro
                If .Cliente <> "" Then
                    cadenar &= "Cliente    : " & regsitro.Cliente & vbCrLf & _
                              "Pelicula   : " & regsitro.pelicula & vbCrLf & _
                              "F_Alquiler : " & regsitro.f_ini & vbCrLf & _
                              "Dias alqui : " & regsitro.dias & vbCrLf & _
                              "F_Entrega  : " & regsitro.f_fin & vbCrLf & _
                              "Costo alqui: " & regsitro.costo & vbCrLf & _
                              "Total alqui: " & regsitro.total & vbCrLf & vbCrLf & _
                              "------------------------------------------------------------------------------------------------" & vbCrLf
                End If
            End With
            TextBox6.Text = cadenar
        Next
    End Sub
End Class


Power Builder y Procedimientos Almacenados

Este es un Aporte se su servidor ami me fue muy dificil encontrar referencias de este tema asi q aprovechenlo


--En sql crean procedimientos almacenados Insert, Update, Delete , buscar y autogenerar codigo
mi codigo de ejemplo es usando una base datos contabilidad:

use bdcontabilidad

---EJERCICIOS

---1.- CREAR UN SP QUE PERMITA MOSTRAR LOS DATOS DE UN DETERMINADO aval.

create procedure sp_mostrar_aval
@cod char(5)
as
begin
select *  from aval where @cod=codigo
end

exec sp_mostrar_aval'A0001'


---2.- CREAR UN SP QUE PERMITA INSERTAR UN NUEVO REGISTRO EN LA TABLA AVAL.

create procedure sp_insert_aval
@codigo char(5),
@nombre varchar(60),
@direccion varchar(80),
@telefono char(9),
@banco varchar(20),
@credito decimal(8,2),
@fecha datetime
as
begin
insert into aval values(@codigo,
@nombre,
@direccion,
@telefono,
@banco,
@credito,
@fecha
)
end

exec sp_insert_aval 'A0004','carlos yarleque romero','pj puno 119 caja de agua','980625062','Continental',1500.00,'10/10/2012'



---3.- CRAR UN SP QUE PERMITA MODIFICAR O ACTUALIZAR CUALQUIER DATO DE UN AVAL.

create procedure sp_update_aval
@codigo char(5),
@nombre varchar(60),
@direccion varchar(80),
@telefono char(9),
@banco varchar(20),
@credito decimal(8,2),
@fecha datetime
as
begin
update aval set nombre=@nombre, direccion=@direccion, telefono=@telefono , banco=@banco, credito_max=@credito, fecha=@fecha
where codigo=@codigo
end
exec sp_update_aval 'A0004','carlos yarleque romero','pj puno 119 caja de agua','980625062','Continental',2500.00,'10/10/2012'


---4.- CREAR UN SP QUE PERMITA ELIMINAR UN AVAl.


create procedure sp_eliminar_aval
@codigo char(5)
as
begin
delete from aval where codigo=@codigo
end

exec sp_eliminar_aval 'A0004'


---5.- CREAR UN SP QUE PERMITA AUTOGENERAR EL CODIGO DEL AVAL.

create procedure sp_codaval_autogenerado
@codigo varchar(5) output
as
begin
declare @total int
declare @max int
select @total = count(*) from aval
if @total =0
begin
set @codigo ='A0001'
end
else
begin
select @max=MAX (right(codigo,4))+1 from aval
end
if @max >0 and @max <10
begin
set @codigo ='A000'+CONVERT (char(1),@max)
end

if @max >=10 and @max <=99
begin
set @codigo ='A00'+CONVERT (char(2),@max)
end

if @max >=100 and @max <=999
begin
set @codigo ='A0'+CONVERT (char(3),@max)
end

if @max >=1000 and @max <=9999
begin
set @codigo ='A'+CONVERT (char(4),@max)
end


print @codigo
end

declare @cod varchar(5)
exec sp_codaval_autogenerado  @cod



---6.- CREAR UN SP QUE PERMITA HACER BUSQUEDAS.

create procedure sp_filtronombre_aval
@nombre varchar(60)
as
begin
select *  from aval where nombre like  '%' + @nombre +'%'
end

exec sp_filtronombre_aval 'lu'

create procedure sp_filtrodireccion_aval
@direccion varchar(60)
as
begin
select *  from aval where direccion like  '%' + @direccion +'%'
end

exec sp_filtrodireccion_aval 'pj'

create procedure sp_filtrobanco_aval
@banco varchar(60)
as
begin
select *  from aval where banco = @banco
end

exec sp_filtrobanco_aval 'Interbank'


--El codigo en power builder es el siguiente:
delcarar una variable global
string sw

1.-Para el Boton Nuevo

string cod,codigo

sw="n"

sle_1.text=""
sle_2.text=""

sle_3.text=""
sle_4.text=""
sle_5.text=""
cbx_1.checked=false
cbx_2.checked=false
em_1.text=""
//sle_1.enabled=true
sle_2.enabled=true
sle_3.enabled=true
sle_4.enabled=true
sle_5.enabled=true
cbx_1.enabled=true
cbx_2.enabled=true
cb_2.enabled=True
cb_3.enabled=true
em_1.enabled=true
sle_2.setfocus( )


declare pb_codaval_autogenerado procedure for sp_codaval_autogenerado @codigo=:cod output;
execute pb_codaval_autogenerado;
fetch pb_codaval_autogenerado into :codigo;
close pb_codaval_autogenerado;
sle_1.text=codigo

2.-Para el Boton Guardar

integer rpta,rpta1
string banco
if sw="n" theN
cb_2.text="&Guardar"
rpta=messagebox("Aviso","Desea Grabar Los Datos Ingresados",question!,yesno!)
if rpta=1 then
if cbx_1.checked=true and cbx_2.checked=true then
messagebox ( "Aviso","Debe escojer un solo banco.")
elseif cbx_1.checked=true and cbx_2.checked=false then
banco='Interbanck'
elseif cbx_1.checked=false and cbx_2.checked=true then
banco='Continental'
elseif cbx_1.checked=false and cbx_2.checked=false then
messagebox ( "Aviso","Debe escojer un banco.")
end if
declare pb_insert_aval procedure for sp_insert_aval @codigo=:sle_1.text,@nombre=:sle_2.text,@direccion =:sle_3.text,@telefono=:sle_4.text,@banco=:banco,@credito=:sle_5.text,@fecha=:em_1.text using(sqlca);
execute pb_insert_aval;
if sqlca.sqlcode=0 then
messagebox ( "Aviso","guardado correctamente.")
elseif sqlca.sqlcode=100 then
messagebox ("Aviso", "guardado correctamente.")
elseif sqlca.sqlcode=-1 then
messagebox ("Aviso", "Error no Existe Producto ...")
end if
close pb_insert_aval;
end if
sle_2.enabled=false
sle_3.enabled=false
sle_4.enabled=false
sle_5.enabled=false
cb_2.enabled=false
cb_3.enabled=false
cb_4.enabled=false
cb_5.enabled=false

end if

if sw="m" then
cb_2.text="&Actualizar"
rpta1=messagebox("Aviso","Desea actualizar Los Datos Ingresados",question!,yesno!)
if rpta1=1 then
string codigo,nombre,direccion,telefono,credito_max,fecha
codigo=sle_6.text
nombre=sle_2.text
direccion=sle_3.text
telefono=sle_4.text
credito_max=sle_5.text
fecha=em_1.text
declare pb_update procedure for sp_update set nombre=@nombre,direccion=@direccion,telefono=@telefono,banco=@banco,credito_max=@credito,fecha=@fecha where codigo=@codigo using(sqlca) ; // set @nompro=:sle_2.text,@codcateg=:ddlb_1.text,@codprov=:ddlb_2.text,@cantuni=:sle_3.text,@precio=:sle_4.text,@stock=:sle_5.text,@f_venci=:sle_6.text where @cod=:sle_9.text using(sqlca); //:sle_2.text=@nompro,:ddlb_1.text=@codcateg,:ddlb_2.text=@codprov,:sle_3.text=@cantuni,:sle_4.text=@precio,:sle_5.text=@stock,:sle_6.text=@f_venci set :sle_9.text=@cod// using(sqlca) ;//@nompro=:sle_2.text,@codcateg=:ddlb_1.text,@codprov=:ddlb_2.text,@cantuni =:sle_3.text,@precio =:sle_4.text,@stock=:sle_5.text,@f_venci =:sle_6.text
execute pb_update;
// fetch pb_update into :sle_1.text,:sle_2.text,:ddlb_1.text,:ddlb_2.text,:sle_3.text,:sle_4.text,:sle_5.text,:sle_6.text;
//using(sqlca);
if sqlca.sqlcode=0 then
messagebox ( "Aviso","actualizado correctamente.")
elseif sqlca.sqlcode=100 then
messagebox ("Aviso", "actualizado correctamente.1")
elseif sqlca.sqlcode=-1 then
messagebox ("Aviso", "Error no Existe Producto ...")
end if
close pb_update;
end if
sle_2.enabled=false
sle_3.enabled=false
sle_4.enabled=false

sle_6.enabled=false

cb_2.enabled=false
cb_3.enabled=false
cb_4.enabled=false
cb_5.enabled=false

end if

3.-Para el Boton Modificar

sw='m'

//sle_1.enabled=true
sle_2.enabled=true
sle_3.enabled=true
sle_4.enabled=true
sle_5.enabled=true
sle_6.enabled=true
em_1.enabled=true
cb_2.enabled=True
cb_3.enabled=true
cb_4.enabled=true
cb_5.enabled=true
sle_2.setfocus( )

4.-Para el Boton Eliminar

declare pb_eliminar_aval procedure for sp_eliminar_aval @codigo=:sle_6.text using(sqlca); //,@nompro=:sle_2.text,@codcateg=:ddlb_1.text,@codprov=:ddlb_2.text,@cantuni =:sle_3.text,@precio =:sle_4.text,@stock=:sle_5.text,@f_venci =:sle_6.text
execute pb_eliminar_aval;
if sqlca.sqlcode=0 then
messagebox ( "Aviso","eliminado correctamente.")
elseif sqlca.sqlcode=100 then
messagebox ("Aviso", "eliminado correctamente.")
elseif sqlca.sqlcode=-1 then
messagebox ("Aviso", "Error no Existe Producto ...")
end if
close pb_eliminar_aval;
sle_1.text=""
sle_2.text=""
sle_3.text=""
sle_4.text=""
sle_5.text=""
sle_6.text=""
em_1.text=""
//sle_1.enabled=true
sle_2.enabled=false
sle_3.enabled=false
sle_4.enabled=false
sle_5.enabled=false
sle_6.enabled=false
em_1.enabled=false

cb_2.enabled=false
cb_3.enabled=false
cb_4.enabled=false

5.-Para el Boton Salir

close(w_ejericio1)

6.-Para el Sle que representa el Buscar(Programar en el Other)

if wparam=13 then
string cod,codigo,nombre,direccion,banco,telefono
decimal credito_max
datetime fecha
cod=sle_6.text
cb_1.enabled=false
cb_2.enabled=true
cb_3.enabled=true
cb_4.enabled=true
cb_5.enabled=true
// if banco='Interbank' then
// cbx_1.checked=true and cbx_2.checked=false
//elseif banco='Continental' then
// cbx_1.checked=false and cbx_2.checked=true
// end if
//
declare pb_mostrar_aval procedure for sp_mostrar_aval @cod=:cod using(sqlca);
execute pb_mostrar_aval;
fetch pb_mostrar_aval into :codigo,:nombre,:direccion,:telefono,:banco,:credito_max,:fecha;

if sqlca.sqlcode=0 then

sle_1.text =codigo
sle_2.text =nombre
sle_3.text =direccion
sle_4.text =telefono
if banco="Interbank" then
cbx_1.checked=true and cbx_2.checked=false
end if
if banco="Continental" then
cbx_2.checked=true and cbx_1.checked=false
end if
sle_5.text =string(credito_max)
em_1.text =string(fecha)
fetch pb_mostrar_aval into :codigo,:nombre,:direccion,:telefono,:banco,:credito_max,:fecha;
elseif sqlca.sqlcode=100 then
messagebox ( "Aviso","Aval no Existe ...")
elseif sqlca.sqlcode=-1 then
messagebox ("Aviso", "Error no Existe Aval ...")
end if
close pb_mostrar_aval;
end if

martes, 24 de agosto de 2010

Logitech presenta un batallón de asequibles auriculares con cancelación de ruido

Ya conocíamos el modelo superior, los Logitech Ultimate Ears 700 presentados hace cerca de un año. Hoy, Logitech ha desvelado tres nuevos modelos de auriculares con cancelación de ruido, también englobados bajo la marca Ultimate Ears pero pertenecientes a gamas más bajas.




Los denominados Logitech Ultimate Ears 500, 350 y 250 son auriculares de tipo in-ear, todos ellos con cancelación de ruido (mejor o peor según el modelo) y de pequeñas dimensiones. Todos son capaces de aislar el ruido externo hasta los 26 decibelios, una cifra que no es la mejor del mercado pero que no está nada mal para unos auriculares más o menos asequibles, pues su precio se sitúa entre 30 y 70 dólares.