Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Capturar Valor de variable dentro de Procedimiento (https://www.clubdelphi.com/foros/showthread.php?t=86735)

oscarac 24-09-2014 05:36:07

Capturar Valor de variable dentro de Procedimiento
 
buenas noches

intento pasar el valor de una variable a otra Global dentro de un procedimiento

algo asi como esto

Código Delphi [-]
  
  w_DOC := '';
  BuscarNumeroFactura(edtTdc.Text, _Serie, w_DOC);
  edtnumero.Text := w_DOC;

Código Delphi [-]
Function BuscarNumeroFactura (TipoDoc : string; Serie:string; Documento :String  ) :string;
var _Numero :Double;
begin
  dmComercio.qryBuscarNumeroFactura.Parameters.ParamByName('Empresa').Value := dmComercio.g_CodigoEmpresa;
  dmComercio.qryBuscarNumeroFactura.Parameters.ParamByName('Indice').Value := TipoDoc;
  dmComercio.qryBuscarNumeroFactura.Open;
  _Numero := dmComercio.qryBuscarNumeroFacturaNumero.AsFloat;
  Documento := Serie + '-' + Llenar(FloatToStr(_Numero), 7);  // LLenar rellena de ceros tantas veces como el parametro
// la variable documento quedaria mas o menos asi "001-1234567"
  
end;


Código SQL [-]
Select * 
from 
tblNumeracion
Where 
Empresa = :Empresa and
indice = :Indice


lo que pretendo es que el campo w_DOC tome el valor de la variable "Documento" dentro del procedimiento

espero me haya dejado entender

oscarac 24-09-2014 06:17:45

es bien cierto q si dejas de programar te olvidas las cosas
ya esta solucionado

quiza a alguien le pueda servir

todo esta en la declaracion del procedimiento debio ser asi

Código Delphi [-]
Function BuscarNumeroFactura (TipoDoc : string; Serie:string; VAR Documento :String  ) :string;

gracias de todas maneras

nlsgarcia 24-09-2014 06:59:01

oscarac,

Cita:

...pasar el valor de una variable a otra Global dentro de un procedimiento...
:rolleyes:

Revisa este código
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

   function GetDocument1(Serie : String) : String;
   var
      Numero : Integer;
   begin
      Numero := 789;
      Result := Format('%s-%.7d',[Serie,Numero]); // Result := 123-0000789
   end;

   procedure GetDocument2(Serie : String; var Document : String);
   var
      Numero : Integer;
   begin
      Numero := 789;
      Document := Format('%s-%.7d',[Serie,Numero]); // Document := 123-0000789
   end;

var
   Serie, Document : String;

begin

   Serie := '123';

   Document := GetDocument1(Serie);
   ShowMessage(Document);

   Document := EmptyStr;
   GetDocument2(Serie, Document);
   ShowMessage(Document);

end;

end.
El código anterior en Delphi 7 sobre Windows 7 Professional x32, es un ejemplo de retorno de valores por medio de funciones y procedimientos con variables por referencia.

Espero sea útil :)

Nelson.


La franja horaria es GMT +2. Ahora son las 03:37:18.

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