Author | Topic: me falto un archivo | |
---|---|---|
Gustavo M. Burgos | me falto un archivo on Mon, 15 Nov 2010 21:23:30 -0300 -- Gustavo M. Burgos Rivadavia 278 Pcia Roque Saenz Pea - Chaco Argentina Fijo 03732-420635 Movil 03732-15408559 Burmanspm@arnet.com.ar CLIENTE.PRG | |
Jose Luis Otermin | Re: me falto un archivo on Mon, 15 Nov 2010 21:33:27 -0300 Gustavo, Voy a pensar que lees los pensamientos. Carlos (de Ing en Sistemas (NQN)) necesita justito un ejemplo de cmo imprimir un listado en formato grfico. Muchas gracias por tus aportes. No te das una idea de lo valiosos. Saludos desde Buenos Aires Jos Luis Otermin Alaska Software Soporte Tcnico -------------------------------------------------------------------- Foros de Usuarios: news://news.alaska-software.com Pgina Web: http://www.alaska-software.com Base de Conocimientos en la Web: http://www.alaska-software.com/kbase.shtm Oficina en Europa: Fax: +49 (0) 61 96 - 77 99 99 23 Oficina en EEUU: Fax: +1 (646) 218 1281 -------------------------------------------------------------------- "Gustavo M. Burgos" <Burmanspm@arnet.com.ar> escribi en el mensaje news:3413daf3$14e30f09$1cae4@news.alaska-software.com... > > > -- > Gustavo M. Burgos > Rivadavia 278 > Pcia Roque Saenz Pea - Chaco > Argentina > Fijo 03732-420635 > Movil 03732-15408559 > Burmanspm@arnet.com.ar > > | |
Ingenieria de Sistemas(NQN) | Re: me falto un archivo on Tue, 16 Nov 2010 14:16:13 -0300 Muchachos...sigo con atencion los msj y las exposiciones, por ahora estoy complicado con el tiempo, pero en la primera que pueda (me pongo en contacto con J.Otermin) y veo de ejecutar el cod. para ver como se comporta..(no se olviden que estoy haciendo mis primeras armas con xbase) salu2 Carlos ============================== INGENIERIA DE SISTEMAS Desarrollos Informaticos Neuquen Tel . 0299 4438604 Rotativa Empresa Integrante del CINP Cluster Infotecnologico Neuquino Patagonico ============================== <Jose Luis Otermin> escribi en el mensaje news:2c7579bd$215463c7$1cae3@news.alaska-software.com... > Gustavo, > > Voy a pensar que lees los pensamientos. > Carlos (de Ing en Sistemas (NQN)) necesita justito un ejemplo de cmo > imprimir un listado en formato grfico. > > Muchas gracias por tus aportes. > No te das una idea de lo valiosos. > > Saludos desde Buenos Aires > -- > Jos Luis Otermin > Alaska Software > Soporte Tcnico > -------------------------------------------------------------------- > Foros de Usuarios: news://news.alaska-software.com > Pgina Web: http://www.alaska-software.com > Base de Conocimientos en la Web: http://www.alaska-software.com/kbase.shtm > Oficina en Europa: Fax: +49 (0) 61 96 - 77 99 99 23 > Oficina en EEUU: Fax: +1 (646) 218 1281 > -------------------------------------------------------------------- > > > > "Gustavo M. Burgos" <Burmanspm@arnet.com.ar> escribi en el mensaje > news:3413daf3$14e30f09$1cae4@news.alaska-software.com... >> >> >> -- >> Gustavo M. Burgos >> Rivadavia 278 >> Pcia Roque Saenz Pea - Chaco >> Argentina >> Fijo 03732-420635 >> Movil 03732-15408559 >> Burmanspm@arnet.com.ar >> >> > > | |
Jose Luis Otermin | Re: me falto un archivo on Thu, 25 Nov 2010 22:25:16 -0300 Hola Gustavo, Estuve mirando el cdigo fuente que enviaste y me parece oportuno hacer algunos comentarios. Tambin comentar los cdigos que enviaron otros colegas. La idea es aprender y creo que nada mejor que un ejemplo concreto como ste. Has codificado: //------------------------------------------------// Etiqueta //------------------------------------------------// oXb1 := Xbpstatic():new( drawingArea, , {06,110}, {100,20} ) oXb1:caption := "Cd.Actual" oXb1:clipParent := .T. oXb1:clipSiblings := .T. oXb1:create() //------------------------------------------------// Campo para ingreso de datos //------------------------------------------------// ocod:= XbpGET():new( drawingArea, , {110,110}, {104,20}, { { XBP_PP_BGCLR, XBPSYSCLR_ENTRYFIELD } } ) ocod:clipSiblings := .T. ocod:dataLink := {|b| iif(b==nil, m_codian, m_codian := b ) } ocod:editable := .f. ocod:create() ocod:picture:= "999999" //------------------------------------------------// Y podrs advertir que se codifica mucho para hacer poco. Este cdigo puede resumirse en dos: PONER ETIQUETA "Cd.Actual" INGRESAR 6 CARACTERES EN m_codian Para eso hemos creado dos funciones (publicadas en cdigo fuente en el ABM-GUI): DOSSay() y DOSGet() Este tipo de funciones reciben el nombre de envoltorio (o wrapper, en ingls). Con funciones de envoltorio (ver el cdigo fuente de ABM-GUI) se puede ocultar la complejidad de la programacin orientada al objeto. Sin embargo, una de las grandes ventajas (descripta impecablemente por Jorge Borlando en su mensaje de respuesta a la convocatoria "Cmo convertir en una Clase los procedimientos sueltos") es la de contar con variables pblicas con tiempo de vida limitado y alcance acotado. Cmo es el tema de las variables PUBLICAS con tiempo de vida limitado? Las propiedades de un objeto son accesibles a todos sus mtodos durante el tiempo de vida del mismo. Al momento en que el objeto es destrudo en memoria, sus propiedades tambin lo sern. Un objeto permite que sus mtodos accedan a sus propiedades con slo escribir: #define PI 3.14159 METHOD Circulo:Perimetro() RETURN ( PI * ::nRadio) En ese cdigo se ha ejecutado un clculo entre una constante y una propiedad del objeto Circulo. Las funciones de envoltorio ocultan la complejidad de la Programacin Orientada al Objeto (POO), pero la POO evita tener que andar liberando variables, crendolas o pasndolas por referencia donde sern utilizadas. Tambin elude el inconveniente de superponer nombres ya utilizados. Podra escribir varios tomos sobre las virtudes de la POO, pero la idea aqu es aprovechar lo que estbamos haciendo bien y continuar, pero hacindolo mejor. Las funciones de envoltorio ocultan de la vista la complejidad del cdigo POO y al mismo tiempo siguen los preceptos del Anlisis Estructurado Moderno (Edward Yourdon, Ed. Prentice Hall ISBN 968-880-303-0). En ese libro se indica que, siempre que sea posible, resuelva el problema en otro procedimiento. Tambin se sintetiza que, si un mismo cdigo est escrito en dos lugares, es incorrecto que est en ambos. Para comprender mejor estos conceptos, se sugiere mirar el procedimiento MAIN. Se observar que se difiere la codificacin que opera con datos y objetos. Este diferimiento tiene el objeto de simplificar la escritura de programas y que stos se ajusten al anlisis. En el caso de los dos lugares (mencionado en la segunda oracin), se intenta que el cdigo que realiza una tarea se encuentre bajo un solo rtulo (un solo nombre de funcin o procedimiento). Esto apareja la ventaja de poder leer el cdigo e inclusive acotar el lugar donde se producir un error. Leamos a nuestro colega Jorge: "Otro ejemplo que me ha servido mucho es agrupar todas las variables de memoria y/o funciones genricas (como clculo de impuestos en el precio de venta, calculo de intereses en el precio de venta, etc..) En este caso a la hora de buscar una variable o agregar una, inicializarla o mantener su valor dentro de la aplicacin se hace mucho ms fcil, ya que como se desprende que est dentro de la clase voy a buscarla ah y no tengo que ver en que parte del programa est definida (por supuesto esto se hace fcil cuando uno debe acceder al programa despus de 2 aos de no tocarlo...) " Entonces, retomando lo que se deca, el propsito de ABM-GUI es tambin comprender cmo se envuelve un objeto para aislar su operacin y evitar que su cdigo operacional nos complique nuestro cdigo fuente. Seguiremos discutiendo cmo podemos llegar a un cdigo donde inclusive se "envase" funcionalidad. Espero que este texto sea de utilidad Jos Luis Otermin Alaska Software Soporte Tcnico -------------------------------------------------------------------- Foros de Usuarios: news://news.alaska-software.com Pgina Web: http://www.alaska-software.com Base de Conocimientos en la Web: http://www.alaska-software.com/kbase.shtm Oficina en Europa: Fax: +49 (0) 61 96 - 77 99 99 23 Oficina en EEUU: Fax: +1 (646) 218 1281 -------------------------------------------------------------------- |