![]() |
Mi programa de facturación paso a paso
Bueno, pues tras mis breves preguntas de ayer acerca de como y por donde empezar la programación de una aplicación de facturación, he decidido empezar cuanto antes con el Dephi 7.
Antes de nada quiero agradecer a las personas que me han echado una mano con las dudas iniciales y me han animado a empezar con esta dura tarea. Con el permiso del moderador del foro me gustaría abrir este hilo con ánimo de ir comentando mis progresos y dudas que irán surgiendo a lo largo de este proyecto. Lo he colocado en Varios, espero que sea el sitio correcto. Antes de empezar con la programación he pensado que me vendría bien hacer un pequeño "esquema" de lo que quiero, y así lo he hecho. Ya tengo mas o menos claro los menús que necesito y los datos que tengo que mover. Desde luego que información no falta en internet, ya me he puesto con manuales que me habeis recomendado y he realizado muchas busquedas desde Google para intentar solucionar una dudas iniciales sin tener que molestar demasiado a los foreros. El resultado ?? pues ya tengo el menú principal creado con las opciones dentro de cada uno. Ya se que sobre la marcha es posible que me toque cambiarlas pero siempre tiene que haber un principio. He empezado por algo muy sencillo y ademas, que quede entre nosotros, la he cagado ya dos veces y me ha tocado empezar de nuevo, pero bueno, la tercera vez que he tenido que crear el menú ya lo hacia casi sin tener que pensar :) Ya tengo mi primera duda, y no penseis que no he buscado antes de preguntar. He visto que a través de esto (no se si se llama orden o función): if MessageDlg('¿ Seguro que desea salir del programa ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then consigo que al pulsar sobre el botón de salir me aparezca un recuadro de confirmación, lo cual es una muy buena opción que quiero incorporar. Problema; que aparece Yes y No en lugar de aparecer en castellano. He visto en este foro comentarios acerca de este problema y según veo tendría que meter unos recursos de idioma, supongo que seran una librerías o algo parecido. Mi duda es que no se de donde sacar esos recursos, he recurrido a una página de argentina que ponía un forero y buscado en google pero no doy con ello. ¿Me podría poner alguien un link o algun tipo de información que me ayude a conseguirlos? Gracias a todos por adelantado, espero que mi experiencia tambien sirva a otras personas y puedan sacarle provecho. Me gustaría ir subiendo los archivos de lo que hago a medida que avance para que los aproveche quien los necesite o los critique quien lo vea conveniente, ¿puedo hacerlo en .zip por ej o recargaría demasiado el foro? Un abrazo. |
Hola
En Español: Por lo menos a mi me sale asi, no se si tendra que ver que uso XP en Español. Saludos |
Hola,
Un enlace con los recursos traducidos e instrucciones de instalación. Respecto de lo de subir archivos... por el momento, si no ocupan más de 30 KB comprimidos (no creas, cabe mucho en 30 KB comprimidos) puedes adjuntarlos a cualquiera de tus mensajes en los Foros. Si ocupan más podrías utilizar algún servicio similar a RapidShare.de y subir los archivos allí y proporcionarnos la URL que ellos te proporcionen a ti. Cita:
|
La verdad Dec es que soy un perezoso y uso un programa para hacer estos mensajes, los hace muy rapido y con valores de retorno si quiero, If , Case Of etc... esta practico para el principiante como yo va bien.
Saludos |
|
Cita:
Cita:
Lo ideal sería hacer un diagrama de flujo por procedimiento, función o método. Cuando hagas el diagrama no vayas al detalle, en vez de eso haz un diagrama general aunque no sepas cómo hacer todo. Luego, haz otro diagrama de flujo por cada parte del diagrama que no sepas como hacerlo diréctamente. ¡Ah! Y haz los diagramas en papel y con un bolígrafo o lapicero, nunca con un programa de dibujo: es mucho mejor. Lo digo por experiencia. Cita:
Y esto es una sentencia, llamada condicional que incluye una función cuyo nombre es MessageDlg... Cita:
|
No Dec. El de GExprert lo tengo tambien, en una consulta me lo indico Roman, pero me resulta mas engorroso, no se la verdad talvez no le he puesto cuidado.
El que uso se llama Constructor es muy pequeño y facil de usar. Saludos |
Perfecto Dec,
Ya lo he descargado y seguido los pasos, funciona a la perfección, ya aparecen los textos en español. Acabo de preparar el ZIP con lo que tengo hecho, me ha costado enterarme de que archivos tenía que comprimir, por lo que veo el que mas ocupa lo genera de nuevo Delphi al abrir el proyecto por lo tanto no es necesario incluirlo. Iba a subirlo pero por lo que comenta Nuño es mejor no hacerlo, lo que veais, no tiene ningún secreto, cuando empiece a tener algun dato que quiera ocultar procuraré omitirlo en los ficheros que suba. Bueno, lo tengo preparado, si hay que subirlo se sube y sino el que lo quiera que me lo pida. Gracias por vuestra ayuda, mañana empiezo con las fichas de los clientes, ya estoy temblando :o |
1 Archivos Adjunto(s)
Iba a subir un pantallazo pero casi me cuesta menos meter todo los archivos en un .zip, visto que por ahora no tiene mucho que ver os lo adjunto a este mensaje por si quereis echarle un vistazo y decirme si voy por buen camino o ya empiezo a cojear en algo.
Lo he llamado Gesatrans (Gestion agencia de transporte) Por ahora solo tiene un menu con la opciones que he visto suficiente y únicamente funcionan las opciones Salir de gesatrans.... (Ficheros) y Calculadora (Herramientas) El próximo objetivo como digo por encima es la opción clientes, seguro que esta va para largo ... |
Hola
Quieres un pedacito de codigo para mantenimiento de Clientes ? Bueno este vas a tener que modificarlo, pero te serviria de ejemplo. Saludos |
Por supuesto :)
todo me puede venir bien. Ya ando estudiando el tema de las bases de datos y por ahora empiezo con Paradox, espero que no sea mala elección. Por hoy lo dejo ya, no se cuantas horas llevo entre tutoriales, trucos, ejemplos ... :) Aunque mis primeras lecciones han cundido mas de lo que yo contaba, ya veremos cuando se empiece esto a complicar. Buenas noches a todos |
Bueno este es hecho con conexion ado y motor Access (de 1 Hp).:D
Este es el codigo, ya se que es pequeño pero por algo hay que empezar: Por supuesto vas a tener que cambiar los nombres de las tablas etc. pero es una manera de ver un programa que hace lo que quieres. Espero te sirva, es el principio, ya se .:D :D Saludos |
Muchas gracias Caral por facilitarme el código,
de momento me suena todo un poco a chino, lo que he hecho es copiarlo al bloc de notas e imprimirlo, asi voy aislando lo que voy entiendo y poniendo comentarios de lo que hace. Ayer me lo tomé libre por el día festivo pero ya estoy de nuevo con ello. Parece que esto de las BD me va a costar un poco y ya temo llegar a la parte de las facturas pero no pierdo el animo. Os mantendré informados sobre mi evolución gracias de nuevo por vuestra ayuda. Un saludo y que tengais buen día |
1 Archivos Adjunto(s)
Hola de nuevo Caral,
te importaría poner un pantallazo de la ficha de clientes, es para ver los objetos que hay en ella e intentar entender algo mejor el código. por mi parte ya he hecho una ficha pero reconozco que me está costando entender alguna cosa. Por ahora, os pongo lo que tengo. He creado a través del Data Bases Desktop una tabla llamada clientes (no la ando subiendo pq es muy sencilla, si alguien la quiere que me la pida). Como campos claves he puesto el código de cliente y el dni, el resto de datos son los tipicos ... solo un detalle para el campo código y es que lo he puesto para que se autoincremente (asi a parte de ser único se rellena solo) No lo sabía pero sobre la marcha he visto que tengo que crear otro Form para la ficha del cliente, casi mejor asi lo tengo de forma independiente y quizas me sirva para otros programas. En lugar de Unit2 lo he renombrado a clientes, suena mejor ;) Veo que no es demasiado dificil por ahora hacer lo "gordo" ya que hay objetos que simplifican las tareas, pero claro, en cuanto quiere uno hacer algo mas pues ya llegan las dudas. Para la base de datos he tenido que insertar en el Form los compomentes Table y DataSource, parece que con eso ya se indica donde está la base de datos y el nombre de la tabla. Despues para el diseño he recurrido a los "Data Controls" y a simples etiquetas de texto para las cabeceras de las lineas. He insertado una historia muy cómoda que se encarga de todos los controles de la tabla (insertar, borrar ...) menudo ahorro de tiempo, pensaba que todo eso lo tenía que hacer a mano con botones independientes :) Por cierto, este form lo muestro al pulsar la opción Ficheros/Clientes. Ahora voy con alguna duda a ver si me podeis echar una mano: - Por defecto todos los campos que he añadido con DBEdit son editables directamente sin hacer nada, eso tiene su peligro y ademas he visto que en los controles existe una flecha que supuestamente es para editar el registro. ¿Hay alguna forma de hacer que los campos no se dejen modificar mientras no pulse ese boton edit o es mejor dejarlo asi ? - A la hora de crear la ficha inevitablemente he ido poniendo los campos a mi aire, lo que hace que ahora al rellenar la ficha siga el orden de creación y no el que aparece en la pantalla, o sea que salta de Nombre comercial a Codigo postal y cosas de esas, ¿para solucionarlo es necesario respetar el orden a la hora de crearlo o puedo cambiarlo ahora que ya está hecho? En cuanto solucione esto paso a la siguiente fase, gracias a todos de nuevo. |
La segunda duda ya está solucionada, he encontrado que pulsando en el Form de clientes con el boton derecho del ratón aparece una opción llamaba Tab Order y que permite indicar el orden de los campos a la hora de saltar con la tecla TAB.
un problema menos ... |
Hola Delphitest.
¡Adivina que! Hay un sistemita en sourceforge, que es un punto de venta, creado con Delphi y firebird, lamentablemente no puedo ponderte el link, ya que tengo restringida esa página en mi trabajo. pero entra en sourceforge.net busca "punto de venta" delphi. y te tiene que treaer esa aplicación, con la cual la curva de aprendizaje que requieras va a ser menos. Saludos del Paoti. |
Hola
Vas bien, en realidad son los primeros pasos, pero poco a poco se llega. Tienes una pantalla normal, el caso es que en esta puedes editar, insertar,borrar, etc. de la tabla clientes, ya que pusiste en el from un DBNavigator, bueno luego veras otras maneras de hacer lo mismo, por ahora continua con lo que tienes. Hay que pensar en, que hara el que use la pantalla: Bueno, al iniciarla se mostrara el primer cliente que pusiste. ? Que pasa si quieres buscar un cliente en especial, pues con las flechas del dbnavigator tendras que recorer la tabla hasta llegar al que buscas, solucion, hacer un flitro, sea por codido o nombre comercial, como ? asi: El componente que enlaza tu tabla debe terner un nombre, puede ser table1 u otro, este es el nombre que vas a poner en este codigo: Supongamos que el campo codigo es el DBEdit1, Bueno filtraremos por codigo los clientes asi: En el evento OnChange del DBEdit1, pondras este codigo, con el nombre de la tabla que tienes, yo le he puesto table1: Cada vez que cambies el numero de codigo, este filtrara la tabla y regresara los datos, esto mismo se puede hacer con el nombre comercial etc. Con este paso solo trato de hacerte ver que el programa tiene que ofrecer varias alternativas de uso y que son realmente faciles de progamar. Cuando quieras vamos a por otro, vas bien.:D Saludos |
Hola
Con respecto a esto: Cita:
Necesito saber que motor de base de datos usas y los nombres de los componentes que as puesto, asi te voy dando el dato correcto. Prefiero que se pones la pntalla sea en modo diseño, he tratado de poner la mia pero es de 830k no se puede. Saludos |
1 Archivos Adjunto(s)
Adjunto lo último y completo (con BD) para que veais por donde voy.
Ando buscando una alternativa para subir los archivos y poneros solo un link, mas que nada para no sobrecargar el foro (supongo que a muchos no les parecerá bien que ponga estas cosas tan sencillas), seguro que encuentro algo para la semana que viene en algun servidor. Muchas gracias de nuevo a los que me estais auydando, asi da gusto ;) Esto de la busqueda que indicas Caral había pensado poner un botón que me lleve a una ventana de buscar pero todavía busco la forma. He probado con lo que me pones y no consigo hacerlo funcionar, he sustituido el campo codigo por el del nombre comercial, no se si tendrá algo que ver la longitud y el tipo, el caso es que el error que da es que no encuentra la cadena que busca, pero si que está ... La verdad es que hoy me duele un poco la cabeza, no veas las vueltas que le estoy dando :rolleyes: . Tengo varios codigos fuentes que me habeis estado pasando, tutoriales, articulos ... me sale humo del craneo. Buen fin de semana a todos, a ver si mañana o el lunes estoy mas despejado y consigo avanzar :) |
Buenas tardes a tod@s,
os cuento por donde voy en este momento. En primer lugar para no ocupar espacio en el foro voy a subir los ficheros a través de rapidshare, lo ultimo que tengo hecho está aquí: http://rapidshare.de/files/36976866/Gesatrans.zip.html - He añadido un campo F_Pago a la base de datos, se me había pasado y creo que lo voy a necesitar. Para mostrarlo en el Form he utilizado el DBComboBox que parecía el mas apropiado. - Recorriendo foros y articulos he encontrado la forma (muy sencilla por cierto) para que el usuario no pueda cambiar el tamaño de la ventana, solo lo he aplicado a Clientes añadiendo este código en el evento OnCreate: Código:
procedure TForm2.FormCreate(Sender: TObject); Código:
procedure TForm2.BitBtn1Click(Sender: TObject); (si se resolviese dentro de este mismo form sería lo mejor ;) ) Hasta aquí he dado de sí hoy, por cierto Caral, he probado lo que ponías par buscar pero no hay manera, no lo hago funcionar y me da errores que no consigo solucionar. Hasta la próxima y gracias :) |
La franja horaria es GMT +2. Ahora son las 18:28:25. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi