Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ej Facturacion (sencillo pero...) (https://www.clubdelphi.com/foros/showthread.php?t=61926)

Pollo2004 27-11-2008 02:58:57

Ej Facturacion (sencillo pero...)
 
Hola a todos!
Bueno esta mi humilde contribucion a toda la ayuda recibida de parte de ustedes.
Este es el link:
http://www.terawiki.clubdelphi.com/a...ionParadox.rar
Este sistema esta desarrollado con delphi 7, BDE y paradox 7.
Para q funcionen las tablas crear en el SQL Explorer una bases de datos llamada 'FACTURACION'
Hay un par de formularios q estan vacios (ideas a futuro), y otros q estan sin terminar(falta de tiempo)....pero lo esencial creo q esta.
Espero que los q saben de esto lo revisen, me pasen sus sugerencias y sus correcciones!!!
Y a todos los novatos q se inician les sirva como una guia para dar sus primeros pasos, q son los mas dificiles (experiencia propia, jeje)
Bueno aca les indico algunas cosas q le quiero agregar a este proyecto y por cuestiones de tiempo y falta de conocimientos no he podido hasta ahora:
1.- Controlar el stock a la hora de facturar.
2.- Calcular el IVA si es Factura A, (AHORA LO HACE, PERO LARGA UN ERRROR SI EN LA PROXIMA FACTURA NO LE TENGO Q CALCULAR EL IVA)
3.- Hacer algun reporte para imprimir en pantalla o impresora.
4.- Imprimir la factura en papel.-

Gracias y me gustaria q este hilo siguiera creciendo entre todos hasta llegar a buen puerto.
Nos vemos!!!
Saludos

Caral 27-11-2008 03:38:52

Hola
Gracias por el aporte Pollo2004, lo voy a ver, seguro aprendo mucho.
Gracias.
Saludos

Caral 27-11-2008 03:40:04

Hola
Me parece que el enlace esta mal, revisalo.
Saludos
Edito: Me parece que el problema esta en el tipo de archivo: .RAR
He tratado de bajarlo pero no sale, tal vez si lo cambias a Zip se arregle, de lo contrario comunícate con algún Moderador.

Delphius 27-11-2008 04:22:19

Carlos, el archivo está bien... la cuestión es que se debe hacer clic en la flechita para descargarlo. En cualquier caso, el link desde la flechita es éste:
http://www.terawiki.clubdelphi.com/D...ionParadox.rar

Ahora si debería poder bajarse sin problemas.
Obviamente, para descomprimirlo sen necesita de WinRar instalado en el equipo.

No vi el archivo, tal vez si consigo tiempo le doy una miradita.

Saludos,

Lepe 27-11-2008 11:54:08

flechita ¿qué flechita? yo doy botón derecho con el enlace y digo guardar enlace como...

voy a cotillear un poco ;)

Saludos

Pollo2004 27-11-2008 14:37:29

Hola, queria saber si le funciona el enlace, a mi me anda barbaro, pero si hay problemas lo vuelvo a subir en formato .zip xq el de ahora esta en .rar.
No debieran tener problema pero por las dudas!
Y espero sus susgerencias y correciones con gran espectativas!
Saludos!

Caral 27-11-2008 17:11:11

Hola
Empecemos a aprender.
Baje el programa.
Puse en el SQL Explore la base de datos Facturacion.
Puedo correr el programa (no completo), pero no puedo abrir las tablas, me pide usuario y contraseña.
Como trabaja esto?.
Que hay que hacer?.
Saludos

Héctor Randolph 27-11-2008 17:45:24

Hola Carlos

Debes crear una Base de datos con SQL Explorer con el nombre FACTURACION, los parámetros de configuración son:

Driver STANDARD

DEFAULT DRIVER - PARADOX
ENABLE BCD - FALSE
PATH - [La ruta en donde se instaló el programa Ej. C:\Facturacion\Datos]

Aplicas los cambios y listo.

Saludos

Caral 27-11-2008 18:55:15

Hola
Gracias Hector, ya pude hacerlo.
Saludos

Caral 27-11-2008 19:29:15

Hola
Mi opinión constructiva.
El programa tiene buena pinta, mas aun sabiendo que es el primero.
Cosas que cambiaría:
1-Cuando arranca el programa carga todos los form en memoria.
Esto no es muy conveniente.
2-Usas muchos table.
Cuando crezca la base de datos se alentara el programa.
3-El form de facturacion da muchos problemas.
Seguro te falta pulirlo.
4-Una vez que se abren las tablas nada las cierra.
5- La manera de llamar a los form no es muy adecuada, tiene que ver con el punto 1.
Espero que te sirva de algo mi poca experiencia.
Saludos

Pollo2004 27-11-2008 22:34:35

Hola Caro, gracias por tu consejo (y), es lo q quiero para poder perfeccionarme y seguir adelante. Es muy bueno q te digan las cosas q uno no ve, ya sea por poco conocimiento o xq siempre las hizo asi y nunca supo q por ahi estaria mal o no es la mejor forma de hacerlo.
Quisiera q me expliques mas o menos como corregir lo q me dices en el punto 1 y 5, la verdad q no sabia eso. (Dame algun dato y yo lo investigo)
Y ah q te refieres con q uso demasiados table. Te referies a las instrucciones como TProductos.append, etc etc?
Lo del Form de factura lo estoy trabajando, y estoy buscando info para aprender a manejar los errores!

Gracias por tu tiempo!

maeyanes 27-11-2008 22:44:59

Hola...

Lo que te comenta Caral en el punto uino es que al iniciar la aplicación todas las formas se crean y quedan en memoria. Lo ideal es crearlas cuando las vayas a usar y destruirlas cuando ya no se necesiten.

Para hacer esto, abre la ventana de las propiedades del proyecto Project/Options... y busca el apartado Forms. Ahí selecciona todas las formas menos la que es la forma principal de tu aplicación y muevelas a la parte de Avaliable forms.

Con esto tu aplicación al inicar solo creará la forma pincipal. Tal vez podrías dejar en automático alguna forma o módulo de datos que necesites que esté siempre en memoria.

Teniendo realizado lo anterior, en tu aplicación cada que quieras llamar una forma tendrías que hacer algo como:

Código Delphi [-]
// Abrir forma de facturación desde un botón
procedure TForm1.Button1Click(Sender: TObject);
begin
  // Creamos la forma
  with TFacturaForm.Create(nil) do
    try
      // La mostramos de forma Modal
      ShowModal
    finally
      // Eliminamos la forma de la memoria
      Free
    end
end;

Espero te sirva de algo mi pequeña explicación...


Saludos...

Caral 27-11-2008 23:19:47

Hola
Es exacto lo que dice maeyanes.
Deja el form principal y el datamodule, los demas los creas como el lo indica.
Saludos

jandok238 28-11-2008 00:07:45

hola

Yo tambien lo descargue...

y estaba revisandolo... ahorita no tengo mucho tiempo para revisarlo...

lo unico que te puedo decir ahorita es el MENSAJE al cerrar el programa :

preguntas que si "esta seguro que quiere salir" (algo asi) ... pero solo das una apcion, un solo boton para la respuesta ... entonces.. como le digo que NO a esa pregunta ??:confused::confused:


Código Delphi [-]
 if (Application.MessageBox('¿Está seguro que desea salir d ela aplicación?', 'Confirmar salida', MB_ICONQUESTION + MB_YESNO) = IDYES) then
  Close;

pero ahora pregunto a los que saben : ¿¿en que parte se pondria algo asi ??

no hay un Form.BeforeClose (o algo asi)... en un boton que diga CERRAR (es una opcion) ... pero que pasa si se cierra con ALT+F4 o con el boton [X] de la ventana ???

donde es conveniente hacer esa pregunta ???? o de plano... no hacerla ???

salu2!!!!!!!

maeyanes 28-11-2008 01:30:08

Hola...

Existe el evento OnCloseQuery:

Código Delphi [-]
procedure TForm1.OnCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := MessageBox('¿Está seguro que desea salir de la aplicación?',
    'Confirmar salida', MB_ICONQUESTION + MB_YESNO) = IDYES
end;


Saludos...

jandok238 28-11-2008 03:24:15

Cita:

Empezado por maeyanes (Mensaje 328506)
Hola...

Existe el evento OnCloseQuery:

Código Delphi [-]
procedure TForm1.OnCloseQuery(Sender: TObject; var CanClose: Boolean);
 begin
   CanClose := MessageBox('¿Está seguro que desea salir de la aplicación?',
     'Confirmar salida', MB_ICONQUESTION + MB_YESNO) = IDYES
 end;

Saludos...

gracias... no lo sabia :o:o:o

DAMN!!! i don'n know anything :o:o

salu2!!!!!!!

Pollo2004 28-11-2008 18:30:43

Con respecto a los TQuery, todavia tengo muchas dudas de como implementarlos, alguien conoce algun tutorial q me aclare las ideas!

Por lo poco q yo entiendo del tema, es q al componente TQuery le escribo todo en sentencias sql? Esto es asi?
y despues ¿como se lo llamo desde delphi?, con TQuery.Open;?

Me interesaria muchisimo profundizar en este tema, si alguien sabe de donde conseguir info, o algo por el estilo.

El Tema de la carga de los form ya estoy trabajando en ello, gracias por el consejo!
Gracias a todos!
nos vemos!

Delphius 28-11-2008 19:47:32

Cita:

Empezado por Pollo2004 (Mensaje 328628)
Con respecto a los TQuery, todavia tengo muchas dudas de como implementarlos, alguien conoce algun tutorial q me aclare las ideas!

Por lo poco q yo entiendo del tema, es q al componente TQuery le escribo todo en sentencias sql? Esto es asi?
y despues ¿como se lo llamo desde delphi?, con TQuery.Open;?

Me interesaria muchisimo profundizar en este tema, si alguien sabe de donde conseguir info, o algo por el estilo.

El Tema de la carga de los form ya estoy trabajando en ello, gracias por el consejo!
Gracias a todos!
nos vemos!

Pollo no es por nada, pero creo que mucho ya se ha hablado al respecto sobre el uso de los componentes Querys. Si emples el buscador encontrarás muchos hilos en donde se habla al respecto.
Y si deseas saber más, existe la ayuda. Selecciona el componente y presiona F1.

Saludos,

Pollo2004 29-11-2008 15:54:28

Error incompatible types: 'HWND' and 'String'
 
Código Delphi [-]procedure TForm1.OnCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := MessageBox('¿Está seguro que desea salir de la aplicación?',
'Confirmar salida', MB_ICONQUESTION + MB_YESNO) = IDYES
end;

Hola nuevamente, estoy intentando incorporar esto en el mi proyecto y cuando lo compilo me larga este error!

incompatible types: 'HWND' and 'String'
incompatible types: 'Integer' and 'PWideChar'

Probe cambiando la , por +, pero igual me sigue saliendo!
A q se debe esto?

jandok238 29-11-2008 17:03:31

Cita:

Empezado por Pollo2004 (Mensaje 328751)
Hola nuevamente, estoy intentando incorporar esto en el mi proyecto y cuando lo compilo me larga este error!

incompatible types: 'HWND' and 'String'
incompatible types: 'Integer' and 'PWideChar'

Probe cambiando la , por +, pero igual me sigue saliendo!
A q se debe esto?


intenta con Application.MessageBox

Código Delphi [-]
procedure TForm1.OnCloseQuery(Sender: TObject; var CanClose: Boolean);
 begin
   CanClose := Application.MessageBox('¿Está seguro que desea salir de la aplicación?',
     'Confirmar salida', MB_ICONQUESTION + MB_YESNO) = IDYES
 end;

salu2!!!!!!!


La franja horaria es GMT +2. Ahora son las 21:42:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi