Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-10-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 28
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por Delphitest
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.
No es por malmeter pero, ¿por qué no has empezado con Turbo Delphi, que es bastante más barato? Por lo que sé es muy similar al Delphi "de toda la vida" (fijate que ni nombro Lázarus para evitar liarte más ). En fin, suerte.

Cita:
Empezado por Delphitest
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.
Una magnífica idea que la mayora parte de los programadores olvidamos. Y un consejito: haz también diagramas de flujo. Te diría que los hicieras todos ya, antes de empezar a codificar, pero como los programadores somos impacientes por naturaleza, te pediré que los hagas cuando no tengas claro qué hacer.

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:
Empezado por Delphitest
Ya tengo mi primera duda (...) (no se si se llama orden o función):

if MessageDlg('¿ Seguro que desea salir del programa ?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
Deberías aprender a usar las etiquetas [code] y [delphi]. Así, el trozo de código que has puesto se verá:
Código Delphi [-]
  if MessageDlg('¿ Seguro que desea salir del programa ?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then

Y esto es una sentencia, llamada condicional que incluye una función cuyo nombre es MessageDlg...


Cita:
Empezado por Delphitest
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?
No subas código, a menos que sea para ilustrar una pregunta. Si alguien quiere verlo que lo pida y se lo envías por correo. Creo que es la mejor solución.

Última edición por Ñuño Martínez fecha: 11-10-2006 a las 18:57:23.
Responder Con Cita
  #2  
Antiguo 11-10-2006
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 21
Delphitest Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 11-10-2006
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 21
Delphitest Va por buen camino
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 ...
Archivos Adjuntos
Tipo de Archivo: zip Gesatrans.zip (1,5 KB, 566 visitas)
Responder Con Cita
  #4  
Antiguo 11-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
Hola
Quieres un pedacito de codigo para mantenimiento de Clientes ?
Bueno este vas a tener que modificarlo, pero te serviria de ejemplo.
Saludos
Responder Con Cita
  #5  
Antiguo 11-10-2006
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 21
Delphitest Va por buen camino
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
Responder Con Cita
  #6  
Antiguo 11-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
Bueno este es hecho con conexion ado y motor Access (de 1 Hp).
Este es el codigo, ya se que es pequeño pero por algo hay que empezar:
Código Delphi [-]
unit UFClientes;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, UDM1, ExtCtrls, StdCtrls, Mask, DBCtrls, ComCtrls, DB, ADODB,
  Buttons;

type
  TFClientes = class(TForm)
    TClientes: TADOTable;
    TClientesCodCliente: TIntegerField;
    TClientesNombreCliente: TWideStringField;
    TClientesDireccion1: TWideStringField;
    TClientesDireccion2: TWideStringField;
    TClientesPais: TWideStringField;
    TClientesProvincia: TWideStringField;
    TClientesCanton: TWideStringField;
    TClientesApartado: TWideStringField;
    TClientesContacto: TWideStringField;
    TClientesTelefono: TWideStringField;
    TClientesExtencion: TWideStringField;
    TClientesFax: TWideStringField;
    TClientesEmail: TWideStringField;
    TClientesNoEnvEmail: TBooleanField;
    TClientesTerminos: TWideStringField;
    TClientesVendedor: TWideStringField;
    TClientesSuspendido: TBooleanField;
    TClientesExcento: TBooleanField;
    TClientesFechaIngreso: TDateTimeField;
    TClientesLimiteCredito: TFloatField;
    TClientesNotas: TMemoField;
    DSClientes: TDataSource;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Label1: TLabel;
    Panel1: TPanel;
    DBEdit2: TDBEdit;
    Label2: TLabel;
    Label3: TLabel;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    Label5: TLabel;
    DBEdit5: TDBEdit;
    Label6: TLabel;
    DBEdit6: TDBEdit;
    TClientesDistrito: TWideStringField;
    Label7: TLabel;
    DBEdit7: TDBEdit;
    Label8: TLabel;
    DBEdit8: TDBEdit;
    Panel2: TPanel;
    Label4: TLabel;
    DBEdit9: TDBEdit;
    Label9: TLabel;
    DBEdit10: TDBEdit;
    Label10: TLabel;
    DBEdit11: TDBEdit;
    Label11: TLabel;
    DBEdit12: TDBEdit;
    Label12: TLabel;
    DBEdit13: TDBEdit;
    Panel3: TPanel;
    Label13: TLabel;
    DBEdit14: TDBEdit;
    Label14: TLabel;
    DBLookupComboBox1: TDBLookupComboBox;
    TUsuarios: TADOTable;
    DSUsuarios: TDataSource;
    Label16: TLabel;
    Panel4: TPanel;
    DBCheckBox1: TDBCheckBox;
    DBCheckBox2: TDBCheckBox;
    DBCheckBox3: TDBCheckBox;
    Panel5: TPanel;
    DBMemo1: TDBMemo;
    DBNavigator1: TDBNavigator;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    QTemp: TADOQuery;
    DBText1: TDBText;
    Label15: TLabel;
    BitBtn3: TBitBtn;
    TClientesCatPrecio: TWordField;
    Label17: TLabel;
    DBComboBox1: TDBComboBox;
    TClientesDiasCredito: TSmallintField;
    Label18: TLabel;
    Panel6: TPanel;
    Label20: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Edit2: TEdit;
    DBEdit15: TDBEdit;
    Label21: TLabel;
    Label19: TLabel;
    DBEdit1: TDBEdit;
    BitBtn4: TBitBtn;
    Edit3: TEdit;
    Label22: TLabel;
    DBEdit16: TDBEdit;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure TClientesAfterInsert(DataSet: TDataSet);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure Edit2Exit(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure Edit3Exit(Sender: TObject);
    procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
    procedure DBEdit2Change(Sender: TObject);
    procedure DBEdit16Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FClientes: TFClientes;

implementation

uses UFBuscaCliente;

{$R *.dfm}

procedure TFClientes.BitBtn1Click(Sender: TObject);
begin
   If (TClientes.State = dsEdit) or (TClientes.State = dsInsert) then
      DBEdit16.Text := DateToStr(now);
      TClientes.Post;
   Close;
end;

procedure TFClientes.BitBtn2Click(Sender: TObject);
begin
   Close;
end;

procedure TFClientes.TClientesAfterInsert(DataSet: TDataSet);
begin
   QTemp.SQL.Text := 'Select Max(CodCliente) From Clientes';
   QTemp.Active := true;
   DBText1.Field.AsInteger := QTemp.Fields[0].AsInteger+1;
   QTemp.Active :=False;
   DBCheckBox1.Field.AsBoolean := False;
   DBCheckBox2.Field.AsBoolean := False;
   DBCheckBox3.Field.AsBoolean := False;
   DBEdit15.Field.AsString     := '0';
end;

procedure TFClientes.FormCreate(Sender: TObject);
begin
   TClientes.Active := True;
   TUsuarios.Active := True;
   Panel6.Visible := False;
end;

procedure TFClientes.FormDestroy(Sender: TObject);
begin
   TClientes.Active := False;
   TUsuarios.Active := False;
end;

procedure TFClientes.BitBtn3Click(Sender: TObject);
begin
   FBuscaCliente:=TFBuscaCliente.Create(self);
   try
      FBuscaCliente.ShowModal;
   finally
      If FBuscaCliente.Cod_Cliente <> '' then
         TClientes.Locate('codcliente',QuotedStr(FBuscaCliente.Cod_Cliente),[]);
      FBuscaCliente.Free;
   end;
end;

procedure TFClientes.Edit2Exit(Sender: TObject);
begin
   If Edit2.Text > '200000.00' then
   begin
   MessageBox(Handle,
             PChar('Para Poner ese limite de Credito' + #13#10 +
                   'Necesita Autorizacion'),
             PChar('Limite de Credito'),
             MB_OK + MB_DEFBUTTON1 + MB_APPLMODAL);
   Edit2.Text:= '0';
   DBEdit15.Text := Edit2.Text;
end;
end;

procedure TFClientes.Button1Click(Sender: TObject);
begin
   if Edit1.Text = 'carorl' then
   begin
   DBEdit15.ReadOnly := False;
   DBEdit1.ReadOnly := False;
   DBCheckBox1.Enabled := True;
  end
   else
   Panel6.Visible := False;
   Edit1.Text := '';
end;

procedure TFClientes.BitBtn4Click(Sender: TObject);
begin
  Panel6.Visible := True;
end;

procedure TFClientes.Edit3Exit(Sender: TObject);
begin
    MessageBox(Handle,
             PChar('Para modificar los DIAS de Credito' + #13#10 +
                   '      Necesita Autorizacion'  + #13#10 +
                   '   Deje Este Espacio en Blanco ' + #13#10 +
                   'Para Compras o Clientes de CONTADO'),
             PChar('DIAS de Credito'),
             MB_OK + MB_DEFBUTTON1 + MB_APPLMODAL);
     Edit3.Text := '0';
end;

procedure TFClientes.DBNavigator1Click(Sender: TObject;
  Button: TNavigateBtn);
begin
   Edit2.Text:= DBEdit15.Text;
   Edit3.Text:= DBEdit1.Text;
end;

procedure TFClientes.DBEdit2Change(Sender: TObject);
begin
   Edit2.Text:= DBEdit15.Text;
   Edit3.Text:= DBEdit1.Text;
end;

procedure TFClientes.DBEdit16Click(Sender: TObject);
begin
     MessageBox(Handle,
             PChar('NO Necesita colocar la Fecha ' + #13#10 +
                   ' Se colocara automaticamente'),
             PChar('MENSAJE'),
             MB_OK + MB_DEFBUTTON1 + MB_APPLMODAL);
end;

end.
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 .
Saludos
Responder Con Cita
  #7  
Antiguo 13-10-2006
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 21
Delphitest Va por buen camino
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
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ejecutar Query Paso a Paso??? juliopag1 SQL 0 17-06-2006 01:51:10
Novato (Paso a Paso de una consulta) enecumene Conexión con bases de datos 2 29-05-2006 20:52:19
Motor Paso a Paso jluisx C++ Builder 3 12-09-2005 16:48:07
Red Paradox paso a paso Aldo Josué Conexión con bases de datos 2 13-12-2003 13:53:37
procedure paso a paso Silver Varios 1 26-08-2003 20:24:00


La franja horaria es GMT +2. Ahora son las 11:28:25.


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