Como abrir archivos .dat ( creo gwbasic )

1,006 views
Skip to first unread message

Desarrollos AM

unread,
Sep 29, 2015, 6:49:17 PM9/29/15
to Comunidad de Visual Foxpro en Español
HOLA GRUPO :

En un posible nuevo cliente , me dice tiene un sistema un "poco" viejo y lo quiere actualizar.  Cuando lo veo , es D.O.S.  Por algun directorio vi GWBASIC.EXE . Vi archivos con extension .bas y los supuestos datos son archivos con extension .dat  , pero no son de texto, tienen un formato que no interpreto con lo que fui probando hasta el momento.    Alguien sabe si se puede transformar de alguna manera aunque sea a texto suponiendo que sean archivos de gwbasic ??   No tengo mucha mas informacion para poder brindar.

Desde ya , muchas gracias.
 

Carton Jeston (9.0.0.7423)

unread,
Sep 29, 2015, 7:08:59 PM9/29/15
to Comunidad de Visual Foxpro en Español
En aquella epoca y en gwbasic, el formato puede ser propio y lo diseñaba a su gusto cada programador o usaba motores como btrieve.

Si los datos los puedes volcar a impresora, habia un programa residente que capturaba en msdos, usar emuladores como dos box o algo parecido.

Ahora mi pregunta es: ¿porque quiere actualizarlo? Si le funciona y no se ha molestado en actualizarlo en los ultimos 25 años ¿por que no estar 25 mas igual? :) (modo ironia off)

Miguel Vélez

unread,
Sep 29, 2015, 7:39:03 PM9/29/15
to publice...@googlegroups.com

Son como archivos de texto. Intenta directo al excel

Esteban H

unread,
Sep 29, 2015, 7:39:58 PM9/29/15
to publice...@googlegroups.com

Como bien te dice Carton GWbasic tiene su propio formato y eran manejados con btrieve q era una librería q proveía de índice al archivo Dat.

Ahora bien, busca al programador q hizo el programa y pedile q te arme un txt con lo q necesitas, caso contrario no vas a poder hacerlo…

 

Saludos.

 

Esteban.

Carlos Miguel FARIAS

unread,
Sep 30, 2015, 7:01:34 AM9/30/15
to Grupo Fox
Si tienes los archivos bas, tienes los fuentes de los programas. si los abres con el gwbasic, deberás poder encontrar el diseño de los archivos. Los archivos posiblemente sean binarios, y los datos numéricos es muy probable que estén en formato entero o real.
Saludos: Miguel, La Pampa (RA)

Larga Vida y Prosperidad.
Que la Fuerza te acompañe, o al menos, alguna señorita agraciada

Qsoft

unread,
Sep 30, 2015, 8:00:49 AM9/30/15
to publice...@googlegroups.com
que recuerdos, mi primer lenguaje de programacion, hice un sistemita de Kardex y ventas para una ferreteria!.

Es como dices, la info està en el archivo .dat, che dimension tiene? y la otra pregutna, sabes algo de gwbasic?

si quieres una mano, contactame que teniendo los .bas y el .dat te puedo dar una mano.

Saludos

Enrique Vasquez B.

Daniel Garcia

unread,
Sep 30, 2015, 4:29:17 PM9/30/15
to publicesvfoxpro
jeje ...por ahi hay alquien que no quiere cambiar su sitema echo en cobol... por qeu no se... pero bueno... y si gwbasic es, si no me equivoco el basic de william gates.. algo asi se decia.... bueno mi intervencion era por lo de lenguajes antiguos.

Carlos Miguel FARIAS

unread,
Sep 30, 2015, 6:19:47 PM9/30/15
to Grupo Fox
GWBasic, si es un lenguaje obsoleto, propenso forzoso a código espagueti. Pero es obsoleto pero han salido versiones posteriores (QBasic, VB, Real Basic) etc.
Decir que RM-Cobol 85 es viejo si es cierto, pero decir que algo en COBOL es obsoleto, sin especificar que versión es hablar en la ignorancia.
Si nunca programaste COBOL AS/400, no podes decir que es obsoleto, y hay COBOL.NET, y si ves algo en FORTRAN, no puedes decir que sea obsoleto.
Gran parte del sofware bancario es COBOL. En la década de los 80, el 60% de las aplicaciones comerciales estaban hechas en COBOL.
Programé 16 años cobol y hay cosas que 15 años después, no he visto lenguajes que tengan estructuras superiores a algunas de las que dispone COBOL.
Por ejemplo. Estructuras de Datos jerárquicas. (Pascal maso, Python o Javascript manejando JSon)
Suma de estructuras de datos con datos numéricos (por solo coincidencia de nombres).
Sentencia CASE con una versatilidad y potencia muy superior a cualquier otro lenguaje (imagen un DO CASE de fox pero al cubo).
Controlar 7 subindices en una sola instrucción de control de bucle (o sea, un FOR con 7 indices anidados).
Control de errores en cada sentencia, sin necesidad de Try catch. Más un control de errores genérico, del tipo ON ERROR, pero con mayor potencia.
Incorporar código fuente de distintos fuentes con posibilidad de reemplazar nombres y valores.
Y eso es lo que me acuerdo que ya tenía en el '99 cuando deje de trabajar con él.
Que sea poco mencionado en los indices de popularidad, no lo discuto, pero corresponden a un grupo de programadores que por sus ingresos, y tipo de trabajo, no pueden estar mucho tiempo Güeveando.
Saludos: Miguel, La Pampa (RA)

Larga Vida y Prosperidad.
Que la Fuerza los acompañe.

mapner

unread,
Oct 1, 2015, 8:57:51 AM10/1/15
to Comunidad de Visual Foxpro en Español
Si bien es irse del tema original, pero como menciona Miguel sobre lenguajes "obsoletos" y características avanzadas, en Clipper 5 se permitía algo así, aArray = {'A',2,{1,2,3},'X'} o sea, definir arrays jerárquicos al vuelo. Cuando hace años pasé a VFP extrañaba bastante esa característica, otro tema interesante eran los Codeblocks { |a,b| ? a + b } (algo parecido a las funciones lambda de Python y otros lenguajes). O sea, pasar a entornos modernos es bueno pero a veces se pierden en el camino ciertas cosas que son por demás útiles... por suerte del gwbasic, no extraño nada :)

Carlos Miguel FARIAS

unread,
Oct 1, 2015, 2:08:16 PM10/1/15
to Grupo Fox
Completando lo que mencioné de COBOL:

Y aquí vemos como ciertos intereses "irracionales" toma decisiones en la profesión más racional que existe.

En un ejemplo es a mi entender Java, se lo endioso como la panacea para todo, a nivel académico se empezó a dar como la solución única para todo, es muy "mentado" en los índices de la web pero para escribir un programa, se tienen que escribir hasta 7 u 8 veces más que por ejemplo en python (aún bastante más que en C#), entonces que se ganó con dicho lenguaje.

Se impuso por un tema de marketing, todo el entorno (JM) era gratis (ahora preguntenle a Oracle), y de eso se colgo PHP, parecido a Java (pero más flexible) y C# fue la respuesta de M$, no porque no tenía mejores opciones, si no porque aprovechando la mentalidad Javacera impuesta desde las Universidades, creo algo parecido para atraer desarrolladores, ya formados (o deformados?) con la programación en Java.

En las Universidades se daba Pascal, para mi, un excelente lenguaje, que adolecía en su momento, de no tener gestión de datos fácil como los xbase (de ahí que, me volqué a dbase y luego Fox).

Pero actualmente, todavía no he visto lenguaje de programación que gestione datos tan fácil como los xbase en general y vfp en particular. Cobol, sobre AS/400, también extremadamente fácil, pero los pijoteros de mis clientes no querían pagar 5000 u$s mensuales de alquiler por un AS.

Igualmente, con las interfaces estándares que cuenta python, lazarus (free pascal) y el mismo C/C++ para acceder a Bases de Datos, el problema de gestión de datos se ha emparejado. Y además, con la potencia de los equipos actuales, los SGBD polenta están al alcance de cualquier presupuesto (máxime si pensamos en soluciones free como SQLite, PostgreSQL o MariaDB).

Y ahora se viene python 😁
ante la consulta: se usa python en la universidad?
obtuve esto
http://www.genbetadev.com/formacion/python-es-ya-el-lenguaje-de-introduccion-mas-popular-en-las-universidades-norteamericanas (este artículo tiene numeros links desde diferentes sitios, pero hacen referencia al mismo estudio)

pero por supuesto, cada cual se enrosca las sinapsis con lo que más le guste.

Saludos: Miguel, La Pampa (RA)

Larga Vida y Prosperidad.
Que la Fuerza los acompañe, y el que apoya a Java, que no se olvide de Krakatoa 😱

Fernando D. Bozzo

unread,
Oct 1, 2015, 2:36:06 PM10/1/15
to Comunidad de Visual Foxpro en Español
Muy interesantes los links que pusiste Miguel.

Gracias!

Carlos Miguel FARIAS

unread,
Oct 1, 2015, 3:14:15 PM10/1/15
to Grupo Fox
De nada.
Trato de colaborar, y tengo ejemplos a quien copiar, como Luis María, vos y otros tantos.
Abrazo: Miguel

Carton Jeston (9.0.0.7423)

unread,
Oct 1, 2015, 3:19:34 PM10/1/15
to Comunidad de Visual Foxpro en Español
Igual nos estamos desviando un poco del tema...

Respecto al cobol, que era lo que aprendia uno justo despues del gwbasic, me parecia un poco engorroso pero me duro poco. Descubri dbase III plus y sus maravillosas tablas DBF con el editor de estructuras y unos comandos poderosos de busqueda y Clipper summer 87 hizo el resto. Y ya para cosas mas poderosas y divertidas que no era gestion de bases de datos usaba C y asm.

Ahi coincido en lo de java, para quien venia de C en teoria era "parecido" pero era lento y enfarragoso y el que las universidades se decantaran por el, tal vez por lo de gratuito y multiplataforma, tampoco me inspiraba mucha confianza porque una cosa es el mundo academico y otro el real :)

Lo gracioso del tema es que los lenguajes van y vienen, que van siendo sustituidos por herramientas especificas para una solucion especifica mas que por otros lenguajes yo sigo programando con el heredero de aquel dbase 25 años despues. Quizas para hacer cosas divertida recomendaria purebasic o algo similar con una libreria enorme de comandos y no tan dependiente de las librerias de windows.

ZeRoberto

unread,
Oct 2, 2015, 12:18:29 AM10/2/15
to publice...@googlegroups.com

Ya y la solución es?

Fernando D. Bozzo

unread,
Oct 2, 2015, 2:06:12 AM10/2/15
to Comunidad de Visual Foxpro en Español
La solución es... lo que dijeron en los primeros mensajes. Gwbasic permitía guardar de cualquier forma, pero obligándote a inventarte la estructura de datos y la codificación de los campos numéricos, por lo que si no se conoce esa estructura, no hay soluciones mágicas.

Carlos Miguel FARIAS

unread,
Oct 2, 2015, 7:36:02 AM10/2/15
to Grupo Fox
Como que no! Ajo y Agua.

Daniel Garcia

unread,
Oct 2, 2015, 11:29:54 AM10/2/15
to publicesvfoxpro
Yo solo dije que era viejo.. no obsoleto... y mira...no conocia a nadie que programara aun en cobol y fortran.. ya decir que aun se sigue dando clases de ensamblador... es mucho decir... saludos.

Desarrollos AM

unread,
Oct 4, 2015, 7:19:56 PM10/4/15
to Comunidad de Visual Foxpro en Español
El programador de ese sistema desaparecio , asi que no se puede averiguar mucho por ese lado.  Viendo la opcion tiempo - beneficio - costo  , sera mas facil que carguen los 1000 clientes de vuelta que andar intentando buscar una solucion para importar los datos .  

Muchas gracias a todos por sus comentarios.

LUIS

HernanCano

unread,
Oct 4, 2015, 10:52:25 PM10/4/15
to Comunidad de Visual Foxpro en Español
Luis:
Mencionaste en tu primer mensaje que:

>>>...Por algún directorio ví GWBASIC.EXE. Ví archivos con extensión .BAS y los supuestos datos son archivos con extension .DAT.

Los archivos .BAS son archivos de texto que pueden ser editados con el NotePad o cualq similar.
Considero que podemos tomar esos archivos .BAS y buscar una forma de "mostrar en pantalla o a un archivo de texto .TXT"  los datos que necesites,

Sinceramente no programo en Basic desde mi época de estudiante de sistemas. Pero considero que puedo lograrlo (teniendo los .BAS y los .DAT). Y si te lo propones tú también (considero que programas en Fox/VFP....).

José Enrique Llopis

unread,
Oct 5, 2015, 2:31:17 AM10/5/15
to publice...@googlegroups.com

Una solución que a mi me ha funcionado otras veces es aprovechar los listados imprimiéndolos a archivos texto, luego solo hay que trabajar estos archivos e importarlos a la nueva estructura de base de datos.

 

Puedes instalar una impresora genérica solo texto siguiendo los siguientes pasos:

 

1. Vas a "Agregar una impresora"

2. Selecciona Impresora local

4. En la selección de puerto, debes seleccionar "File:"

5. Busca y selecciona Generic - Generic / Text only

6. Una vez instalada, cuando envíes a imprimir solicitará la ubicación de destino a crear el archivo de texto.

 

En otros casos con aplicaciones que funcionaban en terminales lo que he hecho es poner un software emulador de terminal en modo captura de forma que todo lo que sale por pantalla va a un fichero texto, todos los emuladores tienen esta funcionalidad.

 

Por si te es de ayuda. Un abrazo,

 

Pepe Llopis

 

 


De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de Desarrollos AM


Enviado el: lunes, 05 de octubre de 2015 1:20
Para: Comunidad de Visual Foxpro en Español

Fernando D. Bozzo

unread,
Oct 5, 2015, 2:42:23 AM10/5/15
to publice...@googlegroups.com

Muy buena solución Pepe,  yo también la usé en alguna ocasión, y por lo menos se puede rescatar una parte de la información, o distintas partes con distintos listados que luego se pueden unir y así evitar muchos errores por tipeo.

HernanCano

unread,
Oct 5, 2015, 3:33:42 AM10/5/15
to Comunidad de Visual Foxpro en Español
Sí, Pepe.
Te felicito. Una muy buena opción.


El lunes, 5 de octubre de 2015, 1:31:17 (UTC-5), José Enrique Llopis escribió:

5. Busca y selecciona Generic - Generic / Text only


 

Pepe Llopis


José Enrique Llopis

unread,
Oct 5, 2015, 4:48:17 AM10/5/15
to publice...@googlegroups.com

Gracias compañero, son trucos de perro viejo.

 

 


De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de HernanCano


Enviado el: lunes, 05 de octubre de 2015 9:34
Para: Comunidad de Visual Foxpro en Español

Carlos Miguel FARIAS

unread,
Oct 5, 2015, 9:10:21 AM10/5/15
to Grupo Fox
Pepe no tiene la cabeza al "pepe".
No respondió (o no vi) si tenía los archivos BAS (puede que no porque recuerdo que había compiladores BASIC, que no dejaban los BAS. También recuerdo que algunos Basic, los archivos BASIC están en un formato interno, que no era fácil de abrir como un archivo de texto plano.
Saludos: Miguel, La Pampa (RA)

José Enrique Llopis

unread,
Oct 5, 2015, 11:37:30 AM10/5/15
to publice...@googlegroups.com

No me has entendido, disculpa si me he explicado mal, quería decir que si no puedes abrir los archivos de datos por el motivo que sea puedes acceder a la información listándola si la aplicación lo permite y capturando esos listados en un fichero texto.

 

Pensamiento lateral

 

 

 


De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de Carlos Miguel FARIAS
Enviado el: lunes, 05 de octubre de 2015 15:10
Para: Grupo Fox
Asunto: Re: [vfp] Re: Como abrir archivos .dat ( creo gwbasic )

Carton Jeston (9.0.0.7423)

unread,
Oct 6, 2015, 1:17:40 AM10/6/15
to Comunidad de Visual Foxpro en Español
En el segundo mensaje ya se hablaba de esta solucion (no con detalle), pero... ¿alguien lo leyo? :)

Yo creo que nos gusta hablar mas que otra cosa... jajajaja

Carlos Miguel FARIAS

unread,
Oct 6, 2015, 6:46:10 AM10/6/15
to Grupo Fox
Y si lista los datos?

Daniel Sánchez

unread,
Oct 11, 2015, 8:00:45 PM10/11/15
to Comunidad de Visual Foxpro en Español
En este link en una parte del artículo mencionan el nombre de la persona porque le pusieron GWBasic y no fue por William Gates.


Saludos
--
Daniel Sánchez Escobar
Investigación y Desarrollo
Reset Software & Sistemas
Móvil +051-949398047 RPM #948615385
Trujillo - Perú

P  Sugerimos no imprimir este e-mail a menos que sea absolutamente necesario. Protejamos el medio ambiente.

Hector Kuhn

unread,
Oct 13, 2015, 9:11:32 AM10/13/15
to publicesvfoxpro
lcArchivo = DRNOVE + CsrOpcion.codigo+ "_VAD.TOT"
arc= FOPEN("&lcArchivo")
IF Arc>0
DO WHILE !FEOF(Arc)
   VademLee = FREAD(Arc)
   lok=thisform.updateVad(VademLee)
enddo



procedure updateVad

PARAMETERS VademLee

lcCodVad = LEFT(VademLee,3)
lcCodPro = SUBSTR(VademLee,4,8)
lcMonto1 = ROUND(MTON(CTOBIN(SUBSTR(VademLee,12,8),"SRY")),3)
lcMonto2 = ROUND(MTON(CTOBIN(SUBSTR(VademLee,20,8),"SRY")),3)
lcDescto1= ROUND(CTOBIN(SUBSTR(VademLee,28,4),"N4"),2)
lcDescto2= ROUND(CTOBIN(SUBSTR(VademLee,32,4),"N4"),2)
lcSwitch = RIGHT(VademLee,2)

return .t.

Reply all
Reply to author
Forward
0 new messages