Ver Mensaje Individual
  #12  
Antiguo 11-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Reputación: 25
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