Ver Mensaje Individual
  #12  
Antiguo 13-10-2005
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Reputación: 22
DarkByte Va por buen camino
Código Delphi [-]
unit uDatosClienta;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, Buttons, Grids, DBGrids;

type
  TfrmDatosClienta = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    TabSheet5: TTabSheet;
    Label7: TLabel;
    mmRegalos: TMemo;
    Label8: TLabel;
    Label9: TLabel;
    mmObservaciones: TMemo;
    SpeedButton1: TSpeedButton;
    mmNotas: TMemo;
    Label10: TLabel;
    eNombre: TEdit;
    eDomicilio: TEdit;
    eProvincia: TEdit;
    eTelefono: TEdit;
    eMovil: TEdit;
    eEmail: TEdit;
    eVendedora: TEdit;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    TabSheet2: TTabSheet;
    Label11: TLabel;
    eDe: TEdit;
    btBuscar: TButton;
    cbIndependiente: TCheckBox;
    Label12: TLabel;
    eOficina: TEdit;
    Label13: TLabel;
    DBGrid1: TDBGrid;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure ModoEditar(Activo:boolean);
    function Comprobar:boolean;
    procedure SpeedButton1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure GrabarClienta(Nombre, De, Telefono, Movil, Oficina, Email, Domicilio,
      Provincia, Vendedora, Regalos, Observaciones, Notas:string);
    procedure btBuscarClick(Sender: TObject);
    procedure cbIndependienteClick(Sender: TObject);
    procedure eTelefonoKeyPress(Sender: TObject; var Key: Char);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Consultar();
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmDatosClienta: TfrmDatosClienta;

implementation

uses uClientas, uDataModule, uInfoClienta, uInfoVendedora, uPrincipal,
  uPro, uVendedoras, uBusquedaVendedora, uDatosVendedora, uBusquedaClienta,
  uVenta, uSeleccionarFecha;

var
  Editar:boolean;

{$R *.dfm}

procedure TfrmDatosClienta.ModoEditar(Activo:boolean);
begin
  Editar := False;
  If Activo = True Then
  begin
    Editar := True;
    Self.Caption := 'Edición de Clienta';
    eNombre.Text := dm.ClientasNombre.Value;
    eDomicilio.Text := dm.ClientasDomicilio.Value;
    eProvincia.Text := dm.ClientasProvincia.Value;
    eTelefono.Text := dm.ClientasTelefono.Value;
    eMovil.Text := dm.ClientasMovil.Value;
    eEmail.Text := dm.ClientasEmail.Value;
    eDe.Text := dm.ClientasDe.Value;
    If eDe.Text = '(independiente)' Then
    begin
      cbIndependiente.Checked := True;
      btBuscar.Enabled := False;
    end;
    eVendedora.Text := dm.ClientasVendedora.Value;
    mmRegalos.Text := dm.ClientasRegalos.Value;
    mmObservaciones.Text := dm.ClientasObservaciones.Value;
    mmNotas.Text := dm.ClientasNotas.Value;
  end;
end;
function TfrmDatosClienta.Comprobar:boolean;
var
  Mensaje:string;
begin
  Result := True;
  Mensaje := '';
  If eNombre.Text = '' Then Mensaje := 'nombre';
  If eDomicilio.Text = '' Then Mensaje := 'domicilio';
  If eProvincia.Text = '' Then Mensaje := 'provincia';
  If eTelefono.Text = '' Then Mensaje := 'telefono';
  If eVendedora.Text = '' Then Mensaje := 'clienta de...';
  If Mensaje <> '' Then
  begin
    Aviso('Falta por rellenar el campo '+Mensaje);
    Result := False;
  end;
end;
procedure TfrmDatosClienta.SpeedButton1Click(Sender: TObject);
begin
  If Preguntar('¿Realmente desea salir sin guardar los datos?') = True Then
    Close;
end;

procedure TfrmDatosClienta.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Action := caFree;
end;

procedure TfrmDatosClienta.GrabarClienta(Nombre, De, Telefono, Movil, Oficina, Email, Domicilio,
  Provincia, Vendedora, Regalos, Observaciones, Notas:string);
begin
  //Buuuh!!
  dm.Clientas.Open;
  If not Editar Then dm.Clientas.Insert
  Else dm.Clientas.Edit;
  dm.ClientasNombre.Value         := Nombre;
  dm.ClientasDe.Value             := De; // ¡¡¡IMPLEMENTAR!!!
  dm.ClientasTelefono.Value       := Telefono;
  dm.ClientasMovil.Value          := Movil;
  dm.ClientasOficina.Value        := Oficina; // ¡¡¡IMPLEMENTAR!!!
  dm.ClientasEmail.Value          := Email;
  dm.ClientasDomicilio.Value      := Domicilio;
  dm.ClientasProvincia.Value      := Provincia;
  dm.ClientasVendedora.Value      := Vendedora;
  dm.ClientasRegalos.Value        := Regalos;
  dm.ClientasObservaciones.Value  := Observaciones;
  dm.ClientasNotas.Value          := Notas;
  dm.Clientas.Post;
  dm.Clientas.Refresh;
end;

procedure TfrmDatosClienta.SpeedButton3Click(Sender: TObject);
begin
  {*
   * Proceso de inserción de Datos
   *}
  If not Comprobar Then Abort;
  GrabarClienta(eNombre.Text, eDe.Text, eTelefono.Text,
    eMovil.Text, eOficina.Text, eEmail.Text, eDomicilio.Text, eProvincia.Text,
    eVendedora.Text, mmRegalos.Text, mmObservaciones.Text, mmNotas.Text);
  uPro.Mensaje('Operación realizada con éxito.');
  Close;
end;

procedure TfrmDatosClienta.SpeedButton2Click(Sender: TObject);
var
  frmBusquedaVendedora: TFrmBusquedaVendedora;
begin
  frmBusquedaVendedora := TfrmBusquedaVendedora.Create(nil);
  try
    If Editar Then frmBusquedaVendedora.nombre := eVendedora.Text;
    frmBusquedaVendedora.ShowModal;
    eVendedora.Text := frmBusquedaVendedora.Nombre;
  finally
    FreeAndNil(frmBusquedaVendedora);
  end;
end;

procedure TfrmDatosClienta.btBuscarClick(Sender: TObject);
var
  frmBusquedaClienta: TfrmBusquedaClienta;
begin
  frmBusquedaClienta := TfrmBusquedaClienta.Create(nil);
  try
    If Editar Then frmBusquedaClienta.nombre := eDe.Text;
    frmBusquedaClienta.ShowModal;
    eDe.Text := frmBusquedaClienta.Nombre;
  finally
    FreeAndNil(frmBusquedaClienta);
  end;
end;

procedure TfrmDatosClienta.cbIndependienteClick(Sender: TObject);
begin
  If cbIndependiente.Checked Then
  begin
    eDe.Text := '(independiente)';
    btBuscar.Enabled := False;
  end
  Else
  begin
    eDe.Text := '';
    btBuscar.Enabled := True;
  end;
end;

procedure TfrmDatosClienta.eTelefonoKeyPress(Sender: TObject;
  var Key: Char);
var 
   editor : TEdit;
begin
     editor := Sender As TEdit;
     if (key <> Char(VK_BACK)) then
        try
           StrToFloat(Editor.Text+Key+'0');
        except
              Key := #0
        end;

end;

procedure TfrmDatosClienta.Button1Click(Sender: TObject);
var
  frmVenta : TFrmVenta;
begin
  frmVenta := TFrmVenta.Create(Self);
  frmVenta.ModoEditar(False, '','','','');
  frmVenta.ShowModal;
  Consultar;
end;

procedure TfrmDatosClienta.Button2Click(Sender: TObject);
var
  frmVenta : TFrmVenta;
begin
  frmVenta := TFrmVenta.Create(Self);
  frmVenta.ModoEditar(True, dm.VentasVendedora.Value, dm.VentasModelo.Value, dm.VentasFecha.Value,dm.VentasCantidad.Value);
  frmVenta.ShowModal;
  Consultar;
end;

procedure TfrmDatosClienta.Button3Click(Sender: TObject);
begin
  If (Preguntar('¿Realmente desea borrar este registro?') = True) and (DBGrid1.SelectedRows.Count <> 0)  Then
    dm.Ventas.Delete;
  Consultar;
end;

procedure TfrmDatosClienta.Consultar();
begin
{  dm.VentasSQL.Close;
  dm.VentasSQL.SQL.Clear;
  dm.VentasSQL.SQL.Text := 'SELECT Cantidad, Fecha, Vendedora FROM Ventas WHERE Clienta='+QuotedStr(eNombre.Text);
  dm.VentasSQL.Active := True;
  dm.DVentasSQL.Enabled := True;
  DBGrid1.DataSource := dm.DVentasSQL;
  DBGrid1.Columns.Items[0].Width := 50;
  DBGrid1.Columns.Items[1].Width := 100;
  DBGrid1.Columns.Items[2].Width := 150;}
    dm.VentasSQL.Close;
    dm.VentasSQL.SQL.Text := 'SELECT Cantidad, Fecha, Vendedora FROM Ventas WHERE Clienta='+QuotedStr(eNombre.Text);
    dm.VentasSQL.Open;
    DBGrid1.DataSource := dm.DVentasSQL;
  
    DBGrid1.Columns.Rebuildcolumns;
    DBGrid1.Columns.Items[0].Width := 50;
    DBGrid1.Columns.Items[1].Width := 100;
    DBGrid1.Columns.Items[2].Width := 150;
end;

procedure TfrmDatosClienta.FormCreate(Sender: TObject);
begin
  Consultar;
end;

end.
__________________
:)
Responder Con Cita