lunes, 14 de junio de 2010

Programa 2 --> Ruby

Ahora presento la segunda parte del programa, ahora tenemos al Cliente que hace la conexión con el Servidor. Para probarlo puedes probarlo en dos terminales dentro del mismo Unix.

#MENDOZA MONROY PAULINA

def venta#Creamos el método de venta donde se realizará la conexión con la base de datos
puts "PASSWORD PARA VENDEDOR:"#Solicitamos la contraseña para realizar una venta
STDOUT.flush #se limpia la memoria
password = gets.chomp #Se almacena la contraseña en la variable password
    if password == "pepe"#Comparamos la contraseña inttroducida
=begin
En las siguientes líneas vamos a almacenar las cantidades ingresadas por el vendedor, respecto a las ventas realizadas
=end       
        puts "PRODUCTO:"
        STDOUT.flush
        producto = gets.chomp
        puts "CANTIDAD:"
        STDOUT.flush
        cantidad = gets.to_i#Cambia el valor ingresado a una cantidad entera y lo almacena en la variable cantidad
        puts "PRECIO UNITARIO:"
        STDOUT.flush
        preciounitario = gets.to_f#Cambia el valor ingresado a una cantidad flotante y lo almacena en la variable preciounitario
        preciototal = preciounitario * cantidad #Realilza la operación de la compra
        puts "El total a pagar es : \n$#{preciototal}" #Imprime en pantalla la cantidad a pagar
        pedido = "INSERT INTO PRODUCTOS VALUES ('#{producto}','#{cantidad}','#{preciototal}');"#Se genera la instrucción en sql para almacenar en la base de datos
        time = Time.now #Muestra fecha y hora del sistema
        time1 = "#{time} " + pedido #Se concatena el tiempo con el pedido
        File.open('bitlocal.txt','a')do |f1|#Se abre bitlocal y añade una nueva línea a la bitácora
        f1.puts time1 #Coloca lo anterior en el documento
        end

require "socket" #Llamada al método socket
#Se genera el socket y se envía hacia el servidor, que es donde se encuentra almacenada la base de datos

        socket = TCPSocket.new( "192.168.1.108", 4567 )
        socket.write( pedido )#Se envía la instrucción en sql al servidor
        socket.close
    else
        puts "PASSWORD es incorrecta"
    end #FIN IF
end#Termina el método venta

##menú del sistema del OTZO
def menu #Se genera el método menu
    puts"\n\t\t**************Bienvenido a OTZO****************\n"
    puts"\n\n"
    puts "\tOPERACIÓN A REALIZAR:\n\n"
    puts "\t\t\t1)  Venta\n\n\t\t\t2)  Integrantes\n\n\t\t\t3)  Chat\n\n\t\t\t4)  Salir\n\n"
    puts "Ingresa la operación que deseas hacer: \n"
    STDOUT.flush 
    operacion = gets.chomp.to_f
#Se compara la opción ingresada por el usuario para realizar alguna de las funciones de nuestro menu   
    if operacion == 1
    venta
    puts "\nVenta Realizada con éxito\n"
    return menu #Regresa al desplegado del menu
    elsif operacion == 2
    puts "\n\t\t\t#########Características del Proyecto#########"
    puts "\n\tSistema desarrollado en el lenguaje de programación RUBY, realizando operaciones para una tienda llamada OTZO\n\n"
    puts "\nLos encargados de desarrollar este proyecto \n"
    puts "\n+  Mendoza Monroy Paulina\n"
    return menu #Regresa al desplegado del menu
    elsif operacion == 3
    chat
    puts "Server has been terminated"
    return menu#Regresa al desplegado del menu
    elsif operacion == 4
    puts "\n\n\n\t\t*********HASTA LUEGO**********\n\n"   
    else
    puts "\nOpción no encontrada, vuelva a intentar.\n\n"
    system('clear')
    return menu#Regresa al desplegado del menu   
    end #Termina if anidado
end#Finaliza metodo menu

def chat #Método chat
    system("/bin/bash -c 'sh /home/OTZO/telnet.sh'") #Se hace referencia al servidor por medio de telnet
end#Fin metodo chat
menu #Se hace una llamada al método menu


Paulina Mendoza Monroy
Facultad de Ingeniería, UNAM
Ingeniería en Computación
Servicio Social LIDSOL

No hay comentarios:

Publicar un comentario