Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit u_GestionProductos;
- {$mode objfpc}{$H+}
- interface
- uses
- Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
- Grids, u_ABMProductos, u_Global;
- type
- { TfrmGestionProductos }
- TfrmGestionProductos = class(TForm)
- btnSalir: TButton;
- btnAltas: TButton;
- btnBajas: TButton;
- btnModificaciones: TButton;
- btnBuscar: TButton;
- edtBuscar: TEdit;
- grdProductos: TStringGrid;
- Label1: TLabel;
- Label2: TLabel;
- procedure btnAltasClick(Sender: TObject);
- procedure btnBajasClick(Sender: TObject);
- procedure btnBuscarClick(Sender: TObject);
- procedure btnModificacionesClick(Sender: TObject);
- procedure btnSalirClick(Sender: TObject);
- procedure FormActivate(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- procedure grdProductosMouseUp(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- procedure mostrarRegistro();
- procedure grdProductosDblClick(Sender: TObject);
- private
- public
- procedure MostrarProductos(var f:TFicheroProductos;codigoBusqueda:Cadena20);
- end;
- var
- frmGestionProductos: TfrmGestionProductos;
- implementation
- {$R *.lfm}
- { TfrmGestionProductos }
- procedure TfrmGestionProductos.MostrarProductos(var f: TFicheroProductos; codigoBusqueda: Cadena20);
- var
- fila : integer;
- R : TProducto;
- codigoCad, precioCad : Cadena20;
- begin
- try
- reset(f);
- grdProductos.RowCount := 1;
- while not eof(f) do
- begin
- read(f, R);
- codigoCad := IntToStr(R.codigo);
- Str(R.precio:7:2, precioCad);
- if (codigoCad = codigoBusqueda) or (codigoBusqueda = '') then
- begin
- grdProductos.RowCount:= grdProductos.RowCount + 1;
- fila := grdProductos.RowCount - 1;
- grdProductos.Cells[1,fila] := IntToStr(R.codigo);
- grdProductos.Cells[2,fila] := R.descripcion;
- grdProductos.Cells[3,fila] := precioCad;
- grdProductos.Cells[4,fila] := IntToStr(R.stock);
- end;
- end;
- closeFile(f);
- except
- on E: EInOutError do
- ShowMessage('File handling error occurred. Details: '+E.ClassName+'/'+E.Message);
- end;
- end;
- procedure TfrmGestionProductos.btnAltasClick(Sender: TObject);
- begin
- frmABM.Show;
- frmABM.lblTitulo.Caption:='Nuevo Producto';
- frmABM.btnABM.Caption:='Alta';
- frmABM.edtCodigo.Enabled:=true;
- frmABM.inicializarComponentes();
- end;
- procedure TfrmGestionProductos.btnBajasClick(Sender: TObject);
- var
- mensaje: Cadena70;
- codigo : Cadena20;
- begin
- codigo := grdProductos.Cells[1, grdProductos.Row];
- if codigo <> '' then
- begin
- mensaje := '¿Confirma eliminar el producto = ' + codigo + '?';
- if MessageDlg(mensaje, mtConfirmation, [mbOk, mbCancel], 0) = mrOk then
- begin
- bajaProducto(f,codigo);
- MostrarProductos(f,'');
- end
- end
- else
- ShowMessage('Debe buscar un código válido');
- edtBuscar.Text := '';
- end;
- procedure TfrmGestionProductos.btnBuscarClick(Sender: TObject);
- var
- posicion : integer;
- codigo: Cadena20;
- begin
- codigo := edtBuscar.Text;
- if(codigo = '') then
- MostrarProductos(f,'')
- else
- begin
- posicion := buscarProducto(f, StrToInt(codigo));
- if (posicion <> NO_ENCONTRADO) then
- mostrarProductos(f,codigo)
- end;
- end;
- procedure TfrmGestionProductos.btnModificacionesClick(Sender: TObject);
- var
- posicion:integer;
- codigo: String;
- begin
- try
- codigo := grdProductos.Cells[1, grdProductos.Row];
- posicion := buscarProducto(f, StrToInt(codigo));
- if (posicion = NO_ENCONTRADO) then
- ShowMessage('El producto con ese código no existe')
- else
- begin
- frmABM.Show;
- frmABM.lblTitulo.Caption := 'Modificación de producto';
- frmABM.btnABM.Caption:='Modificar';
- frmABM.edtCodigo.Enabled:=false;
- mostrarRegistro();
- end;
- except
- on e: EConvertError do
- showMessage('Debe seleccionar un producto de la lista...')
- end;
- end;
- procedure TfrmGestionProductos.btnSalirClick(Sender: TObject);
- begin
- close;
- end;
- procedure TfrmGestionProductos.FormActivate(Sender: TObject);
- begin
- MostrarProductos(f,''); //muestra todos los productos
- edtBuscar.Text := '';
- end;
- procedure TfrmGestionProductos.FormCreate(Sender: TObject);
- begin
- crearFichero(f);
- MostrarProductos(f,''); //muestra todos los product
- end;
- procedure TfrmGestionProductos.grdProductosMouseUp(Sender: TObject;
- Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
- begin
- end;
- procedure TfrmGestionProductos.mostrarRegistro();
- begin
- frmABM.edtCodigo.Caption := grdProductos.Cells[1, grdProductos.Row];
- frmABM.edtDescripcion.Caption := grdProductos.Cells[2, grdProductos.Row];
- frmABM.edtPrecio.Caption := grdProductos.Cells[3, grdProductos.Row];
- frmABM.edtStock.Caption :=grdProductos.Cells[4, grdProductos.Row];
- end;
- procedure TfrmGestionProductos.grdProductosDblClick(Sender: TObject);
- begin
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement