Ir al contenido


Foto

alguien puede interpretarme este codigo


  • Por favor identifícate para responder
21 respuestas en este tema

#1 amell2020

amell2020

    Advanced Member

  • Miembros
  • PipPipPip
  • 340 mensajes
  • LocationEn un solo Lugar

Escrito 26 julio 2011 - 02:53




delphi
  1. procedure TFFactura.Button3Click(Sender: TObject);
  2. begin
  3.   FMantClientes:=TFMantClientes.Create(self);
  4.   try
  5.     FMantClientes.ShowModal;
  6.   finally
  7.     If FMantClientes.Cod_Cliente <> '' then
  8.     ECodCliente.Text := FMantClientes.Cod_Cliente;
  9.     Label2.Caption:= QuotedStr(FMantClientes. NombreCliente);
  10.     FMantClientes.Free;
  11.   end;
  12. end;


  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 26 julio 2011 - 03:09

Hola amell2020 bienvenido a DelphiAccess

Ese código lo que hace es recuperar un código de cliente y su nombre para mostrarlos.

Salud OS
  • 0

#3 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 26 julio 2011 - 03:12

Solo un detalle, puede causarte un error si no encuentra datos en el bloque de finally.

Debería ser de esta forma



delphi
  1.   finally
  2.     If FMantClientes.Cod_Cliente <> '' then
  3.     begin
  4.       ECodCliente.Text := FMantClientes.Cod_Cliente;
  5.       Label2.Caption:= QuotedStr(FMantClientes. NombreCliente);
  6.     end;
  7.     FMantClientes.Free;
  8.   end;



Salud OS
  • 0

#4 amell2020

amell2020

    Advanced Member

  • Miembros
  • PipPipPip
  • 340 mensajes
  • LocationEn un solo Lugar

Escrito 26 julio 2011 - 03:21

okay gracias por la ayuda si pero necesito el significado de cada eso comando, porque creo que entiendo un poco lo que el esta haciendo es buscando el codigo de una base de datos que tengo.

  • 0

#5 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 26 julio 2011 - 03:29

Hola
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
  • 0

#6 amell2020

amell2020

    Advanced Member

  • Miembros
  • PipPipPip
  • 340 mensajes
  • LocationEn un solo Lugar

Escrito 26 julio 2011 - 03:41

okay, es tu codigo que lo estoy practicando de una factura. por ejemplo mi form se llama: mclientes, me podrias mostrar como quedaria el codigo si el form matenimiento de clientes es mclientes
  • 0

#7 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 26 julio 2011 - 05:51

Hola


delphi
  1. procedure TFFactura.Button3Click(Sender: TObject);
  2. begin
  3.   mclientes:=Tmclientes.Create(self);
  4.   try
  5.     mclientes.ShowModal;
  6.   finally
  7.     If mclientes.Cod_Cliente <> '' then
  8.     begin
  9.       ECodCliente.Text := mclientes.Cod_Cliente;
  10.       Label2.Caption:= QuotedStr(mclientes.NombreCliente);
  11.     end;
  12.     mclientes.Free;
  13.   end;
  14. end;


Seria asi, pero no entiendo la razon de la pregunta, cual es el problema que tienes ?.
Saludos
  • 0

#8 mightydragon_lord

mightydragon_lord

    Advanced Member

  • Miembros
  • PipPipPip
  • 73 mensajes

Escrito 26 julio 2011 - 06:34

El problema es simple:
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.
  • 0

#9 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 26 julio 2011 - 06:42

Hola
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
  • 0

#10 mightydragon_lord

mightydragon_lord

    Advanced Member

  • Miembros
  • PipPipPip
  • 73 mensajes

Escrito 26 julio 2011 - 07:01

Que bueno saberlo y mis mas sinceras disculpas =).
  • 0

#11 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 26 julio 2011 - 07:08

Hola
Estoy seguro que a mas de uno le ha pasado.
Entiendo tu preocupación, no tienes por que disculparte. (y)
No pasa nada. (b)
Saludos
  • 0

#12 amell2020

amell2020

    Advanced Member

  • Miembros
  • PipPipPip
  • 340 mensajes
  • LocationEn un solo Lugar

Escrito 27 julio 2011 - 03:11

asi mismo es Caral, no estoy haciendo pregunta para hacer un programa para venderlo, soy novato en delphi y estoy aprendiendo, solo pregunto para saber enteder bien los codigo.
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
  • 0

#13 amell2020

amell2020

    Advanced Member

  • Miembros
  • PipPipPip
  • 340 mensajes
  • LocationEn un solo Lugar

Escrito 27 julio 2011 - 03:14

Caral el problema que tenia que no entendia era esta parte mclientes:=Tmclientes.Create(self);.
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.
  • 0

#14 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 27 julio 2011 - 04:38

Hola
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
  • 0

#15 amell2020

amell2020

    Advanced Member

  • Miembros
  • PipPipPip
  • 340 mensajes
  • LocationEn un solo Lugar

Escrito 27 julio 2011 - 10:25

ok hice la modificaciones, pero tengo un error en esta linea

    If mclientes.Cod_Cliente <> '' then

me marca en rojo. que pasa que tengo que ponerla con la difinicion del ADO
  • 0

#16 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 28 julio 2011 - 07:11

Lo que sucede es que estan creando un objeto, por definicion los objetos se crean a partir de las clases.
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.
  • 0

#17 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 28 julio 2011 - 07:16

cuando te da un error que lo marca en rojo por lo general viene acompañado de un error en la parte inferior de la pantalla. Podrias escribirnos ese error para tener mas pistas?
  • 0

#18 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 28 julio 2011 - 08:54

La funcion .create de una clase es especial en una cosa, que es lo que os confunde: Se puede usar de dos formas muy distintas.

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.
  • 0

#19 amell2020

amell2020

    Advanced Member

  • Miembros
  • PipPipPip
  • 340 mensajes
  • LocationEn un solo Lugar

Escrito 29 julio 2011 - 01:53

este es el error que meda:

[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'

  • 0

#20 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 29 julio 2011 - 04:11

Esas son variables que deben estar declaradas en la pantalla de clientes.
  • 0




IP.Board spam blocked by CleanTalk.