procedure TFFactura.Button3Click(Sender: TObject); begin FMantClientes:=TFMantClientes.Create(self); try FMantClientes.ShowModal; finally If FMantClientes.Cod_Cliente <> '' then ECodCliente.Text := FMantClientes.Cod_Cliente; Label2.Caption:= QuotedStr(FMantClientes. NombreCliente); FMantClientes.Free; end; end;
alguien puede interpretarme este codigo
#1
Escrito 26 julio 2011 - 02:53
#2
Escrito 26 julio 2011 - 03:09
Ese código lo que hace es recuperar un código de cliente y su nombre para mostrarlos.
Salud OS
#3
Escrito 26 julio 2011 - 03:12
Debería ser de esta forma
finally If FMantClientes.Cod_Cliente <> '' then begin ECodCliente.Text := FMantClientes.Cod_Cliente; Label2.Caption:= QuotedStr(FMantClientes. NombreCliente); end; FMantClientes.Free; end;
Salud OS
#4
Escrito 26 julio 2011 - 03:21
#5
Escrito 26 julio 2011 - 03:29
Ese codigo lo que haces es:
1- Llama al form de mantenimiento de clientes.
2- Lo muestra.
3- Si la variable (Cod_Cliente) que esta en el form de matenimiento no esta vacia.
4- llena el codigo en el edit (ECodCliente).
5- Llena el nombre del cliente en el caption del (Label2).
6- libera el form de mantenimiento.
Saludos
#6
Escrito 26 julio 2011 - 03:41
#7
Escrito 26 julio 2011 - 05:51
procedure TFFactura.Button3Click(Sender: TObject); begin mclientes:=Tmclientes.Create(self); try mclientes.ShowModal; finally If mclientes.Cod_Cliente <> '' then begin ECodCliente.Text := mclientes.Cod_Cliente; Label2.Caption:= QuotedStr(mclientes.NombreCliente); end; mclientes.Free; end; end;
Seria asi, pero no entiendo la razon de la pregunta, cual es el problema que tienes ?.
Saludos
#8
Escrito 26 julio 2011 - 06:34
1-amell2020 no es desarrollador
2-tiene un programa y pretende hacerle una modificación
3-el programa es pirata o legal("no se la verdad") pero pretende ahorrarse el dinero que para su percepción es "eso debe ser fácil, no gastaré tanto dinero en algo que yo mismo podría hacer"
Perdonen si sueno irónico e incluso que me río de esto, pero es así, me molestan este tipo de cosas y por esta razón no he ayudado en esto, es más, por esa razón escribo esto, para los que no os dais cuenta, no ayuden a este de personas que usan prácticas de desinformación y lo único que hacen es pedir "que les hagan" o en este caso, "les interpreten", estoy dispuesto a ayudar siempre y a guiar, pero no hacerles, por que para esto deberían tener el mínimo conocimiento en la materia que quieren ahondar y mas aún de todo el trasfondo que está detrás de lo que quieren la ayuda.
#9
Escrito 26 julio 2011 - 06:42
Bueno, el codigo es de un tutorial libre creado por mi para este mismo foro.
Me parece que amell2020 lo que quiere es seguir el tutorial pero hacerle algunos cambios para tratar de entenderlo, a su modo.
No voy a pensar que lo quiere para copiarlo y venderlo, pero de ser asi, bienvenido sea, el codigo es gratis y lo pueden usar para lo que gusten.
Soy de la opinion de tratar de ayudar, como pueda, que por supuesto es poco.
Saludos
#10
Escrito 26 julio 2011 - 07:01
#11
Escrito 26 julio 2011 - 07:08
Estoy seguro que a mas de uno le ha pasado.
Entiendo tu preocupación, no tienes por que disculparte.
No pasa nada.
Saludos
#12
Escrito 27 julio 2011 - 03:11
mi amigo y hermano mightydragon_lord, la verdad tienes razon que haya personas asi, pero lamento decirte no soy igual que esas persona, estoy aqui en el foro, para aprender programacion. espero no haberle ocasionado inconveniente con esto, mil discupa si lo hice
#13
Escrito 27 julio 2011 - 03:14
porque tu le ponias Tmclientes. yo le ponia asi mclientes:=mclientes y me daba un error.
pero creo que ya entendi Tmclientes.create(self); es como una variable o algo que se creara.
#14
Escrito 27 julio 2011 - 04:38
Sinceramente no se por que se pone una T delante del nombre.
La verdad no he tenido tu curiosidad
Creo que es por que se trata de un elemento a crear y creo que estos se definen con una T delante.
Alguno de los maestros nos podra dar la explicacion del por que es asi, yo no lo se, la verdad.
Saludos
#15
Escrito 27 julio 2011 - 10:25
If mclientes.Cod_Cliente <> '' then
me marca en rojo. que pasa que tengo que ponerla con la difinicion del ADO
#16
Escrito 28 julio 2011 - 07:11
Sabiendo esto podemo entender que todas las clases en Delphi comienzan con T, es decir, mClientes es un objeto que se crea a partir de la clase TmClientes.
#17
Escrito 28 julio 2011 - 07:16
#18
Escrito 28 julio 2011 - 08:54
1) Objeto:= TObjeto.create();
Esto lo que hace es crear un nuevo objeto (instancia) de la clase TObjeto lanzando a continuacion su procedure .create y devolviendote un puntero al objeto creado, que se suele almacenar en una variable tipo TObjeto, o bien se usa indirectamente con un "with TObjeto.create() do begin".
2) Objeto.create();
En esta ocasión, el objeto YA fue creado, seguramente con el primer sistema, pero queremos "reiniciarlo" llamando de nuevo al procedure .create
De nuevo devuelve (creo) un puntero al objeto, pero en este caso no nos importa porque ya tenemos la instancia referenciada como la variable Objeto.
Sabiendo esto, la linea "Objeto:= Objeto.create();" (sin la "T") no tiene mucho sentido si antes no creamos Objeto con el metodo 1. Es como si hiciesemos esto: "Objeto:= nil.create();" y viendolo así ya parece evidente que va a fallar al ejecutarse.
#19
Escrito 29 julio 2011 - 01:53
[Error] mfactura.pas(102): Undeclared identifier: 'Cod_Cliente'
[Error] mfactura.pas(104): Undeclared identifier: 'ECodCliente'
[Error] mfactura.pas(104): Missing operator or semicolon
[Error] mfactura.pas(104): Undeclared identifier: 'Cod_Cliente'
[Error] mfactura.pas(105): Undeclared identifier: 'NombreCliente'
[Fatal Error] facturaccion.dpr(9): Could not compile used unit 'mfactura.pas'
#20
Escrito 29 julio 2011 - 04:11