La pregunta estupida de la semana.

231 views
Skip to first unread message

Jorge Rubinich

unread,
Oct 30, 2013, 11:43:49 PM10/30/13
to publice...@googlegroups.com
Mirando los temas que se tratan en el foro...no tengo dudas que esta no es la pregunta idiota de la semana, sino del año!!
 
Aca va, sin anestesia:
 
Desde que empece a trabajar con VFP (hace poco en realidad), me encuentro con un "gravísimo" problema:   si quiero ver una estructura de una dbf y la quiero tirar en el screen para tenerla a la vista, un LIST STRU me ocupa 3 o 4 líneas de la pantalla por cada registro. Si lo derivo a un TXT,  el txt resultante tiene un ancho de casi 400 caracteres.. con el nombrecampo  en la colu 30 y el width en la 210.-
 
Algo muy incomodo para trabajar..
 
También algo como:  DISP ALL FIELDS  fecha, numero, cliente, total OFF  me tira los campos tan separados que esos 4 campos me ocupan casi toda la pantalla y sin el off 2 líneas por registro..
 
Resumiendo..
Hay alguna forma de que LIST y DISPLAY  tiren los campos con solo un espacio de separación entre ellos.. y no los como 20 que tienen mis listados?
 
GRACIASSSSSSSSSSSSSSs
 
 
Jorge Rubinich

Edgar Acevedo

unread,
Oct 31, 2013, 12:36:22 AM10/31/13
to publice...@googlegroups.com
Si tus campos son bastante anchos y los quieres "completos" no será mucho lo que puedas hacer.
¿Ya probaste reducir el tamaño de la fuente de la pantalla?

   _SCREEN.FontSize = 6
   _SCREEN.FontName = "Lucida Console"
   LIST OFF FECHA, NUMERO, CLIENTE, TOTAL


Por otro lado, podrías truncar espacios en campos character con ALLTRIM() o usar el TRANSFORM() con los campos numéricos.  Lo malo de esto es que al incluir la función (ya sea ALLTRIM() o TRANSFORM()) en el título, podría ser que haya campos cuya longitud sea más pequeña que el título del campo y de todos modos te quedará ancho por culpa del título.

Saludos,


Edgar Acevedo.

HernanCano

unread,
Oct 31, 2013, 2:08:36 AM10/31/13
to publice...@googlegroups.com
No es exactamente estúpida. Valórate.

Considero que te debe funcionar _SCREEN.FontSize y _SCREEN.FontName como te dice Edgar.

Hace mucho tiempo alguien me enseñó lo sgte:

Das click en la ventana de comandos. Llevas el mouse a la opción Format y verás la primera opción Font. De momento no hagas nada.

Vuelve a la ventana de comandos. Presiona SHIFT y déjala presionada mientras llevas el mouse a la opción Format y verás la primera opción "Screen Font". Ha cambiado ¿cierto? Haz click sobre ella y escoje un tipo de letra de "impresora", de las de tamaño fijo, como Lucida Console, Courier; creo que se dice "fuentes monoespaciadas".

http://www.comoquedonde.com/tipos-de-letra-monoespaciadas/

Intenta el LISTS STRU y el DISP STRU y nos cuentas.


Chao.


Jorge Rubinich

unread,
Oct 31, 2013, 2:14:59 AM10/31/13
to publice...@googlegroups.com
Gracias por Responder, Edgar.. pero no es ese el problema.. quizás me exprese mal.
Mira los archivos que adjunto. Mira como me tira un DISPLAY  STRUCTURE.
Mira como me tira el DISPLAY ALL    el campo fecha es de tipo Fecha..mira la separación que me hace con el otro campo.-
 
Las SEPARACIONES entre campos son mi problema, no el ancho de los campos ni el tamaño de la fuente.-
 
Jorge Rubinich
disp stru.png
disp records.png

Jorge Rubinich

unread,
Oct 31, 2013, 2:20:51 AM10/31/13
to publice...@googlegroups.com
Me valoro Hernan...  El titulo es una especie de broma por tratarse de comandos, digamos, muy básicos..
 
Y gracias por responder.. pero te digo lo mismo que le respondí a Edgar. El problema son las separaciones, no los anchos de los campos.- 
(Ver archivos adjuntos en respuesta a Edgar)
 
Gracias
 
Jorge Rubinich

Fernando D. Bozzo

unread,
Oct 31, 2013, 4:18:51 AM10/31/13
to publice...@googlegroups.com
Hola Jorge:

Por favor, entrá en el registro de Windows (regedit.exe), buscá esta clave:

HKEY_CURRENT_USER\Software\Microsoft\VisualFoxPro

Exportala a un archivo y adjuntala en el foro, así podemos ver cómo tenés tu configuración.
No se me ocurre qué te pueda estar causando eso, pero mientras tanto podrías probar lo que te comentaron:

MODIFY WINDOW SCREEN "Courier New",8
LIST STRUCTURE

Saludos.-

HernanCano

unread,
Oct 31, 2013, 5:31:53 AM10/31/13
to publice...@googlegroups.com
Probablemente haya mejores opciones, pero mientras llegan deberías probar con la tecla SHIFT como te menciono. Funciona!! y deberías verificar si cumple para tu escenario.

hquinones

unread,
Oct 31, 2013, 6:12:17 AM10/31/13
to publice...@googlegroups.com
Utiliza:
COPY STRUCTURE EXTENDED TO temStruc
*Luego puedes llevarlo a excel para imprimir
USE temStruc
COPY to tempora type XL5

Fernando D. Bozzo

unread,
Oct 31, 2013, 6:28:28 AM10/31/13
to publice...@googlegroups.com
hquinones, ¿qué tiene que ver esto con el problema de Jorge?

Luis Maria Guayan

unread,
Oct 31, 2013, 8:07:27 AM10/31/13
to publice...@googlegroups.com
Por que usas esos comandos ? puedes hacer un BROWSE si deseas mirar los datos o los campos

* ver los datos
USE HOME(2)+"Northwind\Customers"
BROWSE

* ver los campos
COPY STRUCTURE EXTENDED TO TablaCampos
USE TablaCampos
BROWSE




Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Fernando D. Bozzo

unread,
Oct 31, 2013, 8:12:19 AM10/31/13
to publice...@googlegroups.com
LuisMa, no tiene problemas con el browse, tiene problemas de visualización de las estructuras (comandos DISPLAY o LIST)
Mirá las pantallas que adjuntó.

No sé porqué le están respondiendo sobre como exportar estructuras o hacer un browse :-)

Luis Maria Guayan

unread,
Oct 31, 2013, 8:46:58 AM10/31/13
to publice...@googlegroups.com
Fernando, él dice que le es incómodo para trabajar y es un "gravísimo" problema. Yo le respondo para que su problema no sea tan grave :-)

Además que mas incómodo que ver una tabla de mas de 1000 registros con un LIST o DISPLAY y querer volver  a los primeros registros?

Mi respuesta es para que evite usar esos comandos de la época del DOS. :-P



Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Fernando D. Bozzo

unread,
Oct 31, 2013, 8:53:43 AM10/31/13
to publice...@googlegroups.com
Por lo que muestra en las capturas un LIST STRUCTURE se lo muestra muy mal, yo intenté reproducirlo pero no me queda tan mal incluso eligiendo fuentes proporcionales.

Por eso espero que postee el archivo de registro que le pedí, a ver si sale algo, porque la verdad que mandarlo a un archivo nada más que para verlo es un poco feo :-)

Nilton CPM

unread,
Oct 31, 2013, 9:29:51 AM10/31/13
to publice...@googlegroups.com
Cria um ListBox ou grid no _Screen e ali joga a estrutura da tabela, esse que te mando é de uma lista de tabelas abertas, o principio vai ser o mesmo.
Capturar.PNG

Ricardo Pina

unread,
Oct 31, 2013, 9:32:51 AM10/31/13
to Grupo VFP
Me sumo con una más

COPY STRUCTURE EXTENDED

pero le preguntaría para que quiere tener la estructura en el screen ?

Saludos
--
            

                   Ricardo Pina

Desarrollo y Servicios Informáticos

                  Profesionales
               www.dsip.com.ar

 

 

Fernando D. Bozzo

unread,
Oct 31, 2013, 10:11:21 AM10/31/13
to publice...@googlegroups.com
Ricardo, para que va a ser, ¡para verla!

¿Nunca te pasa de tener varias tablas y querer consultar la estructura de una? Está bien, podés hacer MODIFY STRUCTURE, pero LIST STRUCTURE te lista un par de cosas que el otro no, como el Code Page y el Block Size

Igual, la ventana de comandos es la ventana de comandos, y los DISPLAY siempre son entrañables de otras épocas más civilizadas :-)

Fidel Charny

unread,
Oct 31, 2013, 10:17:42 AM10/31/13
to publice...@googlegroups.com
Cuando quiero listar una estructura de una dbf uso esta función, basada en Afields() y aTagInfo()

*********************************
PROCEDURE TbStruct(xcTabla,xcDir)
*********************************
IF VARTYPE(xcTabla)="N"
xcTabla=ALIAS(xcTabla)
ENDIF
IF EMPTY(xctabla)
xcTabla=ALIAS()
ENDIF
IF EMPTY(xcTabla)
MESSAGEBOX("Falta el parámetro 'NombreTabla'",0,"TbStruct")
RETURN
ENDIF
IF !USED(xcTabla)
MESSAGEBOX("La tabla &xcTabla no está en uso",0,"TbStruct")
RETURN
ENDIF
xcDir=EVL(xcDir,"")

LOCAL nf,i,j,nHand,fcr,lcput,lnPut,lnMax,O,;
nTags,lnSuLen,;
gnTableHead,gnRegistros,gnFileSize
NF=AFIELDS(gaFields,xcTabla)

gnTableHead = HEADER(xcTabla)
gnREgistros = Reccount(xcTabla)
*** Calcula el tamaño de la tabla. ***
gnFileSize = Round( (gnTableHead + (RECSIZE(xcTabla) * gnRegistros + 1))/1024 , 3 )


lnMax=0
FOR i=1 TO nf
lnMax=MAX(lnMax,LEN(gafields[i,1]))
NEXT
fcr=IIF(EMPTY(xcDir),"",ADDBS(xcDir))+"Str_"+LOWER(xcTabla)+".txt"

nHand=FCREATE(fcr)
lcPut=PADR("Campo",lnMax," ")+" Typ Tam Dec Nul Ord"
lnPut=LEN(lcPut)
=FPUTS(nHand,"Estructura Tabla &xcTabla")
=FPUTS(nHand,"DT: "+TTOC(DATETIME()))
=FPUTS(nHand,"Registros: "+LTRIM(TRANSFORM(gnRegistros,"999,999,999,999")))
=FPUTS(nHand,"Tamaño: "+LTRIM(TRANSFORM(gnfileSize,"999,999,999.999"))+" Kb.")

=FPUTS(nHand,REPLICATE("-",LnPut))
=FPUTS(nhand,lcput)
=FPUTS(nHand,REPLICATE("-",LnPut))
FOR i=1 TO ALEN(gaFields,1)
lcPut=PADR(gaFields[i,1],lnMax," ")+" ";
+gafields[i,2]+"   ";
+TRANSFORM(gafields[i,3],"999")+" ";
+TRANSFORM(gafields[i,4],"999")+" ";
+TRANSFORM(gaFields[i,5],"Y")+"   ";
+TRANSFORM(i,"999")
=FPUTS(nHand,lcPut)
NEXT
=FPUTS(nHand,REPLICATE("-",lnPut))
nTags=ATAGINFO(gaTags,xcTabla)
IF nTags#0
LOCAL ARRAY galen(1,ALEN(gatags,2))
STORE 0 TO galen
FOR i=1 TO ALEN(gatags,1)
FOR j=1 TO ALEN(gatags,2)
galen[1,j]=MAX(galen[1,j],LEN(gatags[i,j]))
NEXT
NEXT
lnSulen=0
FOR j=1 TO ALEN(galen,2)
lnSulen=lnSulen+galen[1,j]
NEXT
lnSulen=lnSulen+ALEN(galen,2)+5
=FPUTS(nHand,"Index Information")
=FPUTS(nHand,REPLICATE("-",lnSulen))
FOR i=1 TO ALEN(gatags,1)
lcPut=""
FOR j=1 TO ALEN(gaTags,2)
lcPut=lcPut + PADR(gaTags[i,j],galen[1,j]," ")+" "
NEXT
=FPUTS(nHand,lcPut+" "+TRANSFORM(i,"999"))
NEXT
=FPUTS(nHand,REPLICATE("-",lnSulen))
ENDIF
=FCLOSE(nHand)
IF FILE(fcr)
o = CREATEOBJECT("Shell.Application")
o.ShellExecute("notepad.exe", '&fcr', "", "open", 1)
ENDIF
ENDPROC

andy

unread,
Oct 31, 2013, 10:38:02 AM10/31/13
to publice...@googlegroups.com
LIST STRUCTURE NOCONSOLE TO AA.TXT
modi comm aa.txt


El jueves, 31 de octubre de 2013 00:43:49 UTC-3, Jorge Rubinich escribió:

Daniel Sánchez

unread,
Oct 31, 2013, 11:18:52 AM10/31/13
to Comunidad de Visual Foxpro en Español
En mi caso cuando deseo ve la estructura de una tabla o saber los campos y tipos uso el Data Explorer, con eso trabajo tanto para tablas locales (que ya no uso) como para motores de bd sql externos, y no tengo mayor problema. Te recomendaría usarlo y te olvidas del display o list, lo mejor lo tienes disponible en todo momento.

Imágenes integradas 1

Saludos


--
Daniel Sánchez Escobar
Investigación y Desarrollo
Reset Software & Sistemas
Móvil +051-949398047
Trujillo - Perú
image.png

Fernando D. Bozzo

unread,
Oct 31, 2013, 11:36:15 AM10/31/13
to publice...@googlegroups.com
La verdad es que hacía mucho que había leído del data explorer, aunque no recuerdo si llegué a probarlo, y realmente parece super interesante.

Gracias por recordármelo :-)

Edgar Acevedo

unread,
Oct 31, 2013, 3:54:52 PM10/31/13
to publice...@googlegroups.com
Hola Jorge:

¿Podrías ejecutar "literalmente" los siguientes comandos y "tomar una foto" de lo que te despliega para ver como sale?

SET SEPARATOR TO
LIST OFF FECHA, NUMERO, NOMBRE

y luego otra "foto" de lo siguiente:

LIST OFF FECHA, NUMERO, ALLTRIM(NOMBRE)

No se si me memoria esta "inventando" un recuerdo falso, pero creo que una vez me pasó algo similar pero en Foxpro para DOS hace como unos 20 años y como que recuerdo que era algo de un comando SET, pero no recuerdo cual.

Saludos,


Edgar

Claudio Luna

unread,
Oct 31, 2013, 4:16:47 PM10/31/13
to Comunidad de Visual Foxpro en Español
Estimados,
Tienen una nueva versión en VFPX del dataexplorer 
Saludos
--
Claudio Luna
Monttevideo - Uruguay
SKYPE: clunamarin
Cel. 099 194 770

Luis la Romana

unread,
Oct 31, 2013, 4:49:40 PM10/31/13
to publice...@googlegroups.com
Jorge, ese problema de display tan fuera de marco para el comando "list struct" es típico de VFP, desde que yo recuerdo VFP6 ya era así y uno llega a acostumbrarse, por más fuente que le cambies siempre va a salir desproporcionado.

Jorge Rubinich

unread,
Oct 31, 2013, 5:01:53 PM10/31/13
to publice...@googlegroups.com
Gente.. 
Conozco el copy stru.. conozco el browse..   Soy nuevo con Visual, pero tengo 25 años programando sistemas con fox  para DOS y WINDOWS. 
 
Pero quiero tirar  el LIST FIELDS y el DISP STRU en pantalla.. porque se me antoja, porque me resulta mas comodo tenerlo en pantalla mientras abro una ventana para modificar el codigo, porque si esta en pantalla con solo control+Shift+Alt ya lo veo, sin necesidad de andar moviendo ventanas , porque si !!  :D
 
 
A quien me respondio que use LIST STRU TO xx.txt :   ya dije en mi consulta inicial que eso me tira un archivo de 400 caracteres de ancho..   no es posible que no pueda ver nombre de campo y el ancho al mismo tiempo!!!!.-
 
 Fernando, gracias por tu defenza!!  :D
Dijiste exactamente lo que yo hubiera dicho..jaja..
 
Luis Maria:   Quiero, SI.. quiero!! usar esos comandos de la epoca del DOS..!!  Que se le va a hacer..soy chapado a la antigua!!  :D

Daniel Sánchez

unread,
Oct 31, 2013, 6:45:53 PM10/31/13
to Comunidad de Visual Foxpro en Español
Jorge así tengo colocado el dataexplorer y me permite trabajar muy bien y tener la información de los campos de la tabla deseada sin mayor complicación.

Imágenes integradas 1

Pero como dicen, cada loco con su tema, pero te recomiendo que lo apliques, se trabaja excelente.
image.png

Walter Salcedo

unread,
Oct 31, 2013, 6:55:43 PM10/31/13
to publice...@googlegroups.com

use diario

_screen

.FontName= "Courier new,8"

disp struc

Atte,

Walter Salcedo

Jorge Rubinich

unread,
Oct 31, 2013, 7:27:08 PM10/31/13
to publice...@googlegroups.com
Walther..
 
Justamente aclare que no es problema de tamaño de letras..sino de SEPARACION de campos.-
 
Gracias igual.-

Jorge Rubinich

unread,
Oct 31, 2013, 7:31:46 PM10/31/13
to publice...@googlegroups.com
Daniel, estoy investigando el Data Explorer.-
 
Vi que sirve para bases SQL y para bases de datos. Pero no encontre forma de agregar una tabla suelta.-   Y yo uso muchas tablas sueltas.-
 
Y quiero seguir usandolas!!  mas allá de todas las bondades de SQL y bases de datos.-
(digo esto porque ya me veo la andanada de consejos para solucionarme la vida pasandome a SQL).-
 
Gracias,
Jorge
 

Fernando D. Bozzo

unread,
Oct 31, 2013, 7:51:58 PM10/31/13
to publice...@googlegroups.com
Jorge, pero al final no aportaste la información que te pedi, la exportación de la clave de registro completa de

HKEY_CURRENT_USER\Software\Microsoft\VisualFoxPro

¿Y cambiaste la fuente de pantalla para probar? No estás portando ninguna información. Es difícil ayudarte así :-(

Saludos.-

Víctor Hugo Espínola Domínguez

unread,
Oct 31, 2013, 8:22:44 PM10/31/13
to publicesvfoxpro
Hola Jorge

Data Explorer 3 soporta tablas libres: http://vfpx.codeplex.com/releases/view/93420

Saludos,
Víctor.
Lambaré - Paraguay.

Message has been deleted

Jorge Rubinich

unread,
Oct 31, 2013, 10:25:40 PM10/31/13
to publice...@googlegroups.com
Lo descargue y lo estoy probando, Victor.-
 
Gracias!
 

Hernan Cano

unread,
Nov 1, 2013, 1:04:23 AM11/1/13
to publice...@googlegroups.com
Luis:
A partir del momento en que cambies la fuente ---COMO LO INDIQUÉ--- ya no sale mal.

Hernan Cano

unread,
Nov 1, 2013, 1:06:23 AM11/1/13
to publice...@googlegroups.com
Claro, Jorge.
Estos son los comandos que hacen a Fox "uno de los mejores lenguajes de programación de la historia".


¿Probaste lo que te indiqué de "Screen Font"?

Luis Maria Guayan

unread,
Nov 1, 2013, 8:17:21 AM11/1/13
to publice...@googlegroups.com
Es una excelente herramienta que forma parte de Sedna y ahora está en el proyecto VFPx como código abierto. El 09/09/2013 se subió una nueva versión Data Explorer 3 Beta 3 que la puedes descargar de:

http://vfpx.codeplex.com/releases/view/93420

(Mira de descargar la versión del 09/09/2013 que es la correcta, el título del enlace indica dx_v3b2.zip que es incorrecto, pero se descarga el archivo
dx_v3b3.zip que es el correcto)


Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Fidel Charny

unread,
Nov 1, 2013, 8:56:13 AM11/1/13
to publice...@googlegroups.com
Luis: la fecha indicada es 09/09/2012. Es correcto? o me mandé por cualquiera... (viernes)

Daniel Sánchez

unread,
Nov 1, 2013, 8:56:43 AM11/1/13
to Comunidad de Visual Foxpro en Español
Jorge si permite adicionar una tabla libre

Imágenes integradas 2

y aqui aidicionada la tabla libre FOXCODE mostrando su estructura e información de tipo de campo

Imágenes integradas 4

no veo ninguna razón para no usar esta excelente herramienta.

Saludos


image.png
image.png

Luis Maria Guayan

unread,
Nov 1, 2013, 10:24:57 AM11/1/13
to publice...@googlegroups.com
Gracias Fidel, el año correcto es 2012, error de tipeo (o de viernes ya) :-P
 

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Esteban

unread,
Nov 7, 2013, 9:08:26 PM11/7/13
to publice...@googlegroups.com

Gracias Daniel x compartir la existencia de esta herramienta. Hace mucho quería algo así.

Sinceramente no la conocía, pude adicionar mis bases de datos de Firebird y funcionan perfectamente. Hasta me permite ejecutar las Vistas y armar nuevas consultas sin tener q ir a un administrador de DB.

 

Saludos.

 

Esteban.

image001.png

Daniel Sánchez

unread,
Nov 7, 2013, 9:16:32 PM11/7/13
to Comunidad de Visual Foxpro en Español
En realidad sin esa herramienta se me habría hecho más complicado estar consultado que campos tiene las tablas o que tablas tiene mi bd y como comentas hasta puedes realizar consultas o querys sobre dichas tablas y todo sin salir de vfp y en tu mismo entorno de trabajo, que más se puede pedir.

Saludos
image001.png

HernanCano

unread,
Nov 7, 2013, 11:39:16 PM11/7/13
to publice...@googlegroups.com
Vaya-vaya...
He aprendido algo nuevo.... o mejor algo que no le había visto a Fox.....

VFP rocks!!!!!!!
Reply all
Reply to author
Forward
0 new messages