lunes, 23 de abril de 2018

Conexion python mysql y pip

pip instalado:


Importacion de libreria pymysql y lineas de codigo para la conexion:


Librerias para conectar python y mysql:

pymysql
mysql
myslqdb


Vídeos de ayuda:
https://www.youtube.com/watch?v=1zv9DXy8FiM
https://www.youtube.com/watch?v=1VV1ludVeBk&t=34s
https://dev.mysql.com/doc/connector-python/en/connector-python-example-connecting.html



Ejemplo con interfaz y base de datos biblioteca--insertar


martes, 17 de abril de 2018

Ejemplo de procedimientos almacenados :loop


CREATE DEFINER=`root`@`localhost` PROCEDURE `lolop`(in num int)
BEGIN
DECLARE x INT;
SET x = 0;
loop_label: LOOP
insert into editoriales (nombre_edi)
values (rand());
SET x = x + 1;
IF x >= num
THEN
LEAVE loop_label;
END IF;
END LOOP;
END

lunes, 16 de abril de 2018

Ejemplos de procediemientos almacenados

CREATE DEFINER=`root`@`localhost` PROCEDURE `PROCESOS_alumnos`(in _numcon int,
in _nombreA varchar(10),
in _apellidoP varchar(10),
in _apellidoM varchar(10),
in _correo varchar(20),
in accion varchar(20))
BEGIN
case accion
when "nuevo" then
insert into alumnos(num_control,Nombre_A,apellido_p,apellido_m,correo)
values (_numcon,_nombreA,_apellidoP,_apellidoM,_correo);
when "editar" then
update alumnos set
Nombre_A=_nombreA ,apellido_p=_apellidoP,apellido_m=_apellidoM,correo=_correo
where num_control=_numcon;

when "eliminar" then
delete from alumnos where num_control=_numcon;

when "consultar" then
select *from alumnos where num_control=_numcon;
end case;
END


Ejemplo delete
CREATE DEFINER=`root`@`localhost` PROCEDURE `delete_procedure`(in hj int)
BEGIN
delete  from editoriales where ideditoriales=hj;
END

Ejemplo insert
 CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_procedure`(in vg varchar(10))
BEGIN
insert into editoriales (nombre_edi)
values (vg);
END

Ejemplo  select 1

CREATE DEFINER=`root`@`localhost` PROCEDURE `mostrartodo_procedure`()
BEGIN
select * from editoriales;
END

Ejemplo  select 2
 
CREATE DEFINER=`root`@`localhost` PROCEDURE `select_procedure`(in hj int)
BEGIN
select * from editoriales where ideditoriales=hj;
END


Ejemplo update
CREATE DEFINER=`root`@`localhost` PROCEDURE `update_procedure`(in vh int , in th varchar(19))
BEGIN
update editoriales
set nombre_edi= th where ideditoriales=vh;
END

sábado, 14 de abril de 2018

ejemplo 3-Macros- Multiplicacion de numeros de 2 digitos

; You may customize this and other start-up templates;
; The location of this template is c:\emu8086\inc\0_com_template.txt
;Eduardo Pablo Aquino Sanchez
org 100h

multi macro chra,chrb,chrx,chr3,chr2,chr1
   mov al,chra    ;al = chr4
   mov bl,chrb    ;bl = chr2
   mul bl         ;AL = chr3*chr2 (BL*AL)
   mov Ah,0h      ;
   AAM            ;ASCII Adjusment
   mov ac,AH      ;ac = AH (Acarreo)
   mov r2,AL      ;r2 = AL       (Unidad del resultado)

   mov al,chra    ;AL = chr4
   mov bl,chrx    ;BL = chr1
   mul bl         ;AL = chr1*chr3 (BL*AL)
   mov r1,al      ;r1 = AL       (Decena del resultado)
   mov bl,ac      ;BL = Acarreo anterior
   add r1,bl      ;r1 = r1+ac (r1 + Acarreo)
   mov ah,00h     ;
   mov al,r1      ;AL = r1 (Asignaci?n para el ajust)
   AAM            ;ASCII Adjustment
   mov r1,al      ;r1 = AL
   mov ac,ah      ;ac = AH (Acarreo para la Centena del resultado)
  
   mov al,chr3    ;al = chr3
   mov bl,chr2    ;bl = chr2
   mul bl         ;AL = chr3*chr2 (BL*AL)

   AAM            ;ASCII Adjusment
   mov ac2,AH      ;ac2 = AH (Acarreo)
   mov r4,AL      ;r4 = AL       (Unidad del resultado)

   mov al,chr3    ;AL = chr3
   mov bl,chr1    ;BL = chr1
   mul bl         ;AL = chr1*chr3 (BL*AL)
   mov r3,al      ;r3 = AL       (Decena del resultado)
   mov bl,ac2      ;BL = Acarreo anterior
   add r3,bl      ;r3 = r1+ac (r1 + Acarreo)
   mov ah,00h     ;
   mov al,r3      ;AL = r3(Asignaci?n para el ajust)
   AAM            ;ASCII Adjustment
   mov r3,al      ;r3 = AL
   mov ac2,ah      ;ac2 = AH (Acarreo para la Centena del resultado)
  
  
  
  
  
endm

suma macro r1_,r4_,ac_,r3_,ac2_
   mov al,r1_;=9               ;99
   mov bl,r4_;=1              ;x99
   add al,bl            ;----------------
   aAm                       ;891
   mov r1,al;=00            ;891
   mov r4,ah;=01            ;------------------------
                           ; 8901
   mov al,ac_;=8
   mov bl,r3_;=9
   add al,bl
   add al,r4
   aAm
   mov ac,al;=8
   mov r3,ah;=1

   mov al,ac2_;=8
   mov bl,r3;=1
   add al,bl
   aAm
   mov ac2,al;=09
   mov r3,ah;=0
endm

imprime macro ac2_,ac_,r1_,r2_
   mov ah,02h
   mov dl,ac2_
   add dl,30h
   int 21h        ;Mostramos ac (millar)

   mov ah,02H
   mov dl,ac_
   add dl,30h
   int 21h        ;Mostramos r1 (centena)

   mov ah,02H
   mov dl,r1_
   add dl,30h
   int 21h        ;Mostramos r2 (decena)

   mov ah,02H
   mov dl,r2_
   add dl,30h
   int 21h        ;Mostramos r2 (Unidad)

endm

.model small ;Modelo de memoria m?s utilizado

.stack

.data        ;definición de datos(variables), donde se almacenara información
   chr1  db ?
   chr2  db ?
   chr3  db ?
   chr4  db ?
   r1    db ?
   r2    db ?
   r3    db ?
   r4    db ?
   ac    db 0
   ac2   db 0
   aca   db 0
   aca2  db 0

.code


.startup
   mov ax,@data  ;almacenamos lo que esta en el segento data  
   mov ds,ax     ;movemos ax a ds
   mov ah,00h     ;Function(Set video mode)
   mov al,03      ;Mode 80x25 8x8 16
   int 10h        ;Interruption Video

   mov ah,01h     ;Function(character read)
   int 21h        ;Interruption DOS functions
   sub al,30h     ;ajustamos valores
   mov chr1,al    ;[chr1].chr2 * chr3 = ac.r1.r2

   mov ah,01h     ;Function(character read)
   int 21h        ;Interruption DOS functions
   sub al,30h     ;Ajustamos valores
   mov chr2,al    ;chr1.[chr2] * chr3 = ac.r1.r2

   mov ah,02h     ;Function(character to send to standard output)
   mov dl,'*'     ;Character to show
   int 21h

   mov ah,01h     ;Function(Read character)
   int 21h        ;Interruption DOS Functions
   sub al,30h     ;Transform(0dec = 30hex)
   mov chr3,al    ;chr1.chr2 * [chr3] = ac.r1.r2

   mov ah,01h     ;Function(Read character)
   int 21h        ;Interruption DOS Functions
   sub al,30h     ;Transform(0dec = 30hex)
   mov chr4,al    ;chr1.chr2 * [chr3] = ac.r1.r2

   mov ah,02h     ;Character to send to standar output
   mov dl,'='     ;
   int 21h        ;Interruption DOS functions

   ;Realizamos operaci?n

   ;parte 1 multiplicar
   multi chr4,chr2,chr1,chr3,chr2,chr1
  



   ;parte 3   Suma de los resultados
   suma r1,r4,ac,r3,ac2
  
  
               


   ;Mostramos resultado
   imprime ac2,ac,r1,r2
  
  

.exit
end

miércoles, 11 de abril de 2018

Ejemplo macros 2-modificado


; You may customize this and other start-up templates; 
; The location of this template is c:\emu8086\inc\0_com_template.txt
org 100h

gotoxy macro fila,col  ;macro que  pone el cursor en la posicion deseada   
    mov ah,02h    ;funcion imprimir caracter     
    mov dh,fila   ;ingresamos la coordenada de x      
    mov dl,col    ;ingresamos la coordenada de y      
    mov bh,0h     ;numero de pagina         
    int 10h       ;interrupcion  
    endm          ;fin del macro
 
pantalla macro que  ;macro que imprime el primer caracter de la palabra escrita          
    mov ah,02h      ;funcion  imprimir caracter 
    mov dl,offset que   ;ponemos el mensaje en dl     
    int 21h             ;interrupcion
    endm                ;fin del macro
 
imprime macro eztryng   ;macro que imprime los mensajes que le enviemos    
    mov dx,offset eztryng  ;ponemos elmensaje en dx
    mov ah,9                ;funcion imprimir variable
    int 21h                 ;interrupcion
    endm                    ;fin del macro
 
.data    ;segmento de datos con  variables
    mensaje  DB "INGRESE UN CARACTER: ",13,10,"$"  
    mensaje2  DB "INGRESE X del 0 al 9: ",13,10,"$"  
    mensaje3  DB "INGRESE Y del 0 al 9: ",13,10,"$"
    mensaje4  DB "Que letra quieres",13,10,"$"   
    caracter  DB ?     
    varx  DB ?      
    vary  DB ?
    vaa   db 0
    vtext db 100 dup('$')   ;Declaracion del vector
 
       
.code  ;segmento de codigo 
    
    startup: ;funcion de inicio 
    mov ax,@data  ;almacenamos lo que esta en el segento data   
    mov ds,ax     ;movemos ax a ds
    imprime mensaje  ;llamamos al macro imprime y le enviamos la variable mensaje   
    mov si,00h       ;limpiamos el registro si
    mov caracter,0   ;limpiamos la variable caracter         
    leer:            ;inicio de la funcion leer

        mov ax,0000  ;limpiamos ax             
        mov ah,01h   ;fincion de ingreso de caracter con impresion del mismo en pantalla            
        int 21h      ;interrupcion   
        mov caracter[si],al  ;ponemos el caracter tecleado en el arreglo caracter       
        inc si       ;incrementamos si     
        cmp al,0dh   ;comparamos al=salto de linea         
        ja leer      ;de no ser igual repite la funcion leer para ingresar otro caracter   
        jb leer      ;en caso de que al=salto de linea continua el programa
        ;mov cx,si     
        mov ah,02h   ;funcion imprimir caracter       
        mov dl,10    ;imprimimos un salto de linea  
        int 21h      ;interrupcion
        imprime caracter ;llamamos al macro imprime y le enviamos la variable caracter
        mov ah,02h       ;funcion imprime caracter   
        mov dl,10         ;imprimimos un salto de linea
        int 21h           ;interrupcion
        imprime mensaje2  ;llamamos al macro imprime y le enviamos la variable mensaje2
        mov ax,0000       ;limpiamos ax
        mov ah,01h        ;fincion de ingreso de caracter con impresion del mismo en pantalla 
        int 21h           ;interrupcion  
        sub al,30h        ;le restamos 30h al caracter ingresado para transformarlo en un numero
        mov bl,al         ;ponemos el numero en bl
        mov varx,al       ;ponemos el numero en varx  
        imprime mensaje3  ;llamamos al macro imprime y le enviamos la variable mensaje3  
        mov ah,01h        ;fincion de ingreso de caracter con impresion del mismo en pantalla 
        int 21h           ;interrupcion  
        sub al,30h        ;le restamos 30h al caracter ingresado para transformarlo en un numero
        mov bl,al         ;ponemos el numero en bl
        mov vary,al       ;ponemos el numero en vary     
        mov ax,0003h      ;funcion que limpia la pantalla   
        int 10h           ;interrupcion 
        imprime mensaje4
        mov ah,01h        ;fincion de ingreso de caracter con impresion del mismo en pantalla 
        int 21h           ;interrupcion  
        sub al,30h        ;le restamos 30h al caracter ingresado para transformarlo en un numero 
        gotoxy vary,varx  ;llamamos al macro gotoxy y le enviamos las variables vary y varx
        mov ah,00          ;limpiamos la parte alta de ax
        mov si,ax          ;ingresamos en si la posicion del caracter que deseamos imprimir
        
        ;kol:          
         pantalla caracter[si] ;llamamos al macro pantalla y le enviamos el caracter en la posicion deseada 
         ;inc si  
        ;loop kol           
        
        mov ah,01h   ;funcion de captura con impresion en pantalla       
        int 21h      ;interrupcion    
        mov ax,4c00h ;funcion de fin       
        int 21h      ;interrupcion   
         
end startup          ;fin