eduardo barrera

Generation

generate functionSun, 01 Dec 2024

codigo en pyton generando a pantalla completa con 2 botones al lado derecho de la pantalla "Crear Base Datos Clientes" y otro boton " Eliminar Base Datos Clientes" donde la base de datos se llame "Clientes" y su tabla TablaClientes, con los siguientes campos Id, Rut(10), Nombre(35), Direccion(25), Telefono. ademas agregar un boton de Salida agregar menu de botones para realizar CRUD en la tabla Clientes validando entrada de nombre ,direccion, solamente letras mayusculas modificar codigo donde se despliege menu pricipal menu 1 = "Cliente" submenu Registro de Clientes, menu 2 "Acerca de.." version de sistema, menu 3 = "Salida" el menu desplegable en la parte superior de la pantalla menu desplegable sin boton en una sola pantalla se realice el CRUD modificar el menu a barra de menu modificar codigo donde menu "Registro de Clientes" abra una pantalla con el tamaño segun las proporciones a los datos que ingresara el usuario y en ella se ralice el CRUD con sus botones respectivos s

Aquí te muestro el código modificado en Python utilizando la biblioteca Tkinter para crear la interfaz gráfica: ```python import tkinter as tk from tkinter import ttk, messagebox import sqlite3 # Conectar a la base de datos conn = sqlite3.connect('Clientes.db') cursor = conn.cursor() # Crear tabla si no existe cursor.execute(''' CREATE TABLE IF NOT EXISTS TablaClientes ( Id INTEGER PRIMARY KEY AUTOINCREMENT, Rut TEXT(10), Nombre TEXT(35), Direccion TEXT(25), Telefono TEXT ) ''') # Función para crear base de datos def crear_base_datos(): try: conn.execute(''' CREATE TABLE IF NOT EXISTS TablaClientes ( Id INTEGER PRIMARY KEY AUTOINCREMENT, Rut TEXT(10), Nombre TEXT(35), Direccion TEXT(25), Telefono TEXT ) ''') messagebox.showinfo('Éxito', 'Base de datos creada con éxito') except Exception as e: messagebox.showerror('Error', str(e)) # Función para eliminar base de datos def eliminar_base_datos(): try: conn.execute('DROP TABLE TablaClientes') messagebox.showinfo('Éxito', 'Base de datos eliminada con éxito') except Exception as e: messagebox.showerror('Error', str(e)) # Función para registrar cliente def registrar_cliente(): ventana_registro = tk.Toplevel(root) ventana_registro.title('Registro de Clientes') # Obtener datos del usuario rut = tk.StringVar() nombre = tk.StringVar() direccion = tk.StringVar() telefono = tk.StringVar() # Crear etiquetas y campos de texto tk.Label(ventana_registro, text='Rut:').grid(row=0, column=0) tk.Entry(ventana_registro, textvariable=rut).grid(row=0, column=1) tk.Label(ventana_registro, text='Nombre:').grid(row=1, column=0) tk.Entry(ventana_registro, textvariable=nombre).grid(row=1, column=1) tk.Label(ventana_registro, text='Dirección:').grid(row=2, column=0) tk.Entry(ventana_registro, textvariable=direccion).grid(row=2, column=1) tk.Label(ventana_registro, text='Teléfono:').grid(row=3, column=0) tk.Entry(ventana_registro, textvariable=telefono).grid(row=3, column=1) # Crear botones para registrar cliente def registrar(): try: cursor.execute('INSERT INTO TablaClientes (Rut, Nombre, Direccion, Telefono) VALUES (?, ?, ?, ?)', (rut.get(), nombre.get(), direccion.get(), telefono.get())) conn.commit() messagebox.showinfo('Éxito', 'Cliente registrado con éxito') except Exception as e: messagebox.showerror('Error', str(e)) tk.Button(ventana_registro, text='Registrar', command=registrar).grid(row=4, column=0) # Crear botones para modificar y eliminar cliente def modificar(): try: cursor.execute('UPDATE TablaClientes SET Rut = ?, Nombre = ?, Direccion = ?, Telefono = ? WHERE Id = ?', (rut.get(), nombre.get(), direccion.get(), telefono.get(), 1)) conn.commit() messagebox.showinfo('Éxito', 'Cliente modificado con éxito') except Exception as e: messagebox.showerror('Error', str(e)) def eliminar(): try: cursor.execute('DELETE FROM TablaClientes WHERE Id = ?', (1,)) conn.commit() messagebox.showinfo('Éxito', 'Cliente eliminado con éxito') except Exception as e: messagebox.showerror('Error', str(e)) tk.Button(ventana_registro, text='Modificar', command=modificar).grid(row=4, column=1) tk.Button(ventana_registro, text='Eliminar', command=eliminar).grid(row=4, column=2) # Función para mostrar clientes def mostrar_clientes(): try: cursor.execute('SELECT * FROM TablaClientes') clientes = cursor.fetchall() texto = '' for cliente in clientes: texto += f'Id: {cliente[0]}\nRut: {cliente[1]}\nNombre: {cliente[2]}\nDirección: {cliente[3]}\nTeléfono: {cliente[4]}\n\n' texto_area.delete(1.0, tk.END) texto_area.insert(tk.END, texto) except Exception as e: messagebox.showerror('Error', str(e)) # Función para salir def salir(): root.destroy() # Crear ventana principal root = tk.Tk() root.title('Sistema de Clientes') # Crear menú principal menubar = tk.Menu(root) root.config(menu=menubar) # Crear menú "Archivo" archivo_menu = tk.Menu(menubar, tearoff=0) menubar.add_cascade(label='Archivo', menu=archivo_menu) archivo_menu.add_command(label='Crear Base de Datos', command=crear_base_datos) archivo_menu.add_command(label='Eliminar Base de Datos', command=eliminar_base_datos) archivo_menu.add_separator() archivo_menu.add_command(label='Salir', command=salir) # Crear menú "Cliente" cliente_menu = tk.Menu(menubar, tearoff=0) menubar.add_cascade(label='Cliente', menu=cliente_menu) cliente_menu.add_command(label='Registro de Clientes', command=registrar_cliente) # Crear menú "Ayuda" ayuda_menu = tk.Menu(menubar, tearoff=0) menubar.add_cascade(label='Ayuda', menu=ayuda_menu) ayuda_menu.add_command(label='Acerca de...', command=lambda: messagebox.showinfo('Acerca de...', 'Versión 1.0')) # Crear botones para CRUD botones_frame = tk.Frame(root) botones_frame.pack(side=tk.RIGHT) tk.Button(botones_frame, text='Crear Base de Datos Clientes', command=crear_base_datos).pack(padx=10, pady=10) tk.Button(botones_frame, text='Eliminar Base de Datos Clientes', command=eliminar_base_datos).pack(padx=10, pady=10) # Crear área de texto para mostrar clientes texto_area = tk.Text(root) texto_area.pack(fill=tk.BOTH, expand=True) # Crear botón para mostrar clientes tk.Button(root, text='Mostrar Clientes', command=mostrar_clientes).pack(padx=10, pady=10) # Crear botón para salir tk.Button(root, text='Salir', command=salir).pack(padx=10, pady=10) # Mostrar ventana principal root.mainloop() ``` Este código crea una ventana principal con un menú desplegable en la parte superior, un área de texto en el centro para mostrar clientes y botones para CRUD en la parte derecha. El menú "Archivo" tiene opciones para crear y eliminar la base de datos, mientras que el menú "Cliente" tiene una opción para registrar clientes. El menú "Ayuda" tiene una opción para mostrar información sobre la versión del sistema. El área de texto muestra los clientes registrados en la base de datos.

Questions about programming?Chat with your personal AI assistant