BUSCAR EN PREGUNTAS Y RESPUESTAS

 Se han encontrado 2654 coincidencias.<<  >> 

FoxPro/Visual FoxPro
    Pregunta:  1103 - ERROR AL CORRER UN EJECUTABLE
Autor:  Flurry
No puedo generar un *.exe en VFP 5.0 ni en 6.0;Espero que no me den respuestas triviales como: genera nuevamente tu proyecto y pon la opcion generar ejecutable.En realidad es más complicado por que me sale dos mensajes luego de genero el .EXE y lo corro que dicen:Visual Foxpro cannot star.Could not load resources.

Rogaría me respondan con celeridad por ser de importancia capital para mi aplicación.

  Respuesta:  Cacho
Debés crear un set de instalación de tu programa con el "asistente para instalar", y ejecutarlo por lo menos una vez en la máquina en la que corra tu programa, para que quede instalado el runtime de vfp.
  Respuesta:  Gerardo
Me imagino que tienes el visual Fox en español y ya leiste que necesitas el archivo vfp5**n.dll (para la versión 5) donde los asteriscos significan el idioma y tú tienes el vfp5esn.dll, y ya se lo pusiste, pero sigue sin funcionar.

pues si, pero trata de cambiarel nombre del archivos vfp5esn.dll por el nombre de vfp5enu.dll. correlo nuevamente y espero que ya funcione.

  Respuesta:  Flurry
Ademas de seguir los pasos que menciona Gerardo debes generar el ejecutable con un nombre distinto al del proyecto que lo genera.ejemplo: si el proyecto de llama demo.prj debes crear un ejecutable llamado demo10.exe.De lo contrario puede pasar que el ejecutable corra sólo la primera vez y luego de salir de este el sistema colapse como pasó en mi caso.Fue mi caso particular.
  Respuesta:  Carlos M. Taborda
Que tal amigo, para correr un ejecutable debes tener primero las librerias Vfp5enu.dll y Vfp500.dll, en el directorio o carpeta donde esta tu aplicacion.

si aun sigues teniendo problemas prueba a renombrar VFP5ESN.DLL POR VFP5ENU.DLL

ESTA SOLUCION ES PARA V.FOXPRO 5.0.

EN LA VERSION 6.0 TAMBIEN NECESITAS DOS LIBRERIAS PERO DE NOMBRES DIFERENTES.

Espero que te sirva la respuesta...y me mandes un e-mail confirmando o si tienes mas dudas.

Saludos desde colombia.

  Respuesta:  Nora Chauca
Hola...!

Ese problema es que le falta algunas librerias, no me acuerdo muy bien que librerias son pero si tienes el VFP en english copia todas la VFP5*.*.

Cualquier consulta me esribes.

    Pregunta:  1104 - BACKUP EN VFP 5.0
Autor:  Cristobal Alberto Melara
Deseo conocer como puedo respaldar bases de datos (o cualquier tipo de archivo) a un disco flexible u otro medio desde un programa en Visual Foxpro 5.0. utilizando algun compresor de archivos.

De antemano les agradezco su valiosa ayuda.

  Respuesta:  JULIO LOMANTO
mira yo hice una pequeña rutina que me ha servido para todos mis programas y no tengo problema de copiar las tablas y los index, ademas las aseguro para que nadie las modifique y asi poder mantener un nivel de seguridad. Primero: cuando instale el programa principal en su carpeta C: SIMVER, luego dentro de esta carpta cree otra llamada REGISTER en esta carpeta guardo las bases de datos .DBF y los archivos indices .CDX para seguridad de mi sistema, pero lo bueno es que le cambie la extension y asi nadie, "bueno hablando del cliente" me las puede molestas con excel, y les puse otra extension.

1. esta rutina esta en el evento INIT del formulario
CLOSE TABLES all

PUBLIC ARRAY gaDatabase(100,100)
PUBLIC ARRAY ARRAYPROP(100,100)
PUBLIC ARRAY eRReYPRaP(100,100)
PUBLIC ARRAY cdxarray(100,100)
PUBLIC ARRAY raylmt(100,100)
ASD = ADIR(ARRayprop, '*.DBF')
dsa = ADIR(eRReYPRaP, ALLTRIM(THISFORM.ruta_y)+ ALLTRIM(THISFORM.archivo)+""+"*.BAK")
CXD = ADIR(cdxarray, "*.CDX")
lmt = ADIR(raylmt,ALLTRIM(THISFORM.ruta_y)+ ALLTRIM(THISFORM.archivo)+""+"*.LMT")

SELECT 99
USE AUDITOR
THISFORM.ruta_y = auditor.ruta_y
THISFORM.archivo = auditor.archivo
THISFORM.mes_actual = auditor.mes_actual
USE
gnDbcnumber = ADIR(gaDatabase, ALLTRIM(THISFORM.ruta_y)+"simver10"+"*.DBF")


2.- esta rutina esta en el boton command que lo llame "iniciar", que es cuando cliente le da click para iniciar el proceso de copiar o restaurar copia de seguridad
thisform.label1.Enabled 	= .T.

thisform.label3.Enabled = .T.
thisform.PORcentaje.Enabled = .T.
thisform.PORcentaje.Visible = .T.
thisform.origen.Enabled = .t.
THISFORM.ORIgen.Visible = .T.
thisform.destino.Enabled = .t.
THISFORM.destino.Visible = .T.

SET CURSOR OFF
CLOSE DATABASES

DO CASE
CASE thisform.backup.Value = 1
gnDbcnumber = ADIR(gaDatabase, '*.DBF')
CASE thisform.backup.Value = 2
gnDbcnumber = ADIR(eRReYPRaP, ALLTRIM(THISFORM.ruta_y)+ ALLTRIM(THISFORM.archivo)+""+"*.BAK")
CASE thisform.backup.Value = 3
CASE thisform.backup.Value = 4
ENDCASE
FOR nCount = 1 TO gnDbcnumber
DO CASE
CASE thisform.backup.Value = 1
THISFORM.v_base = ALLTRIM((gaDatabase(nCount,1)))
Thisform.BACKUps(THISFORM.v_base)
THISFORM.porcentajes(1)
CASE thisform.backup.Value = 2
THISFORM.v_base = ALLTRIM((eRReYPRaP(nCount,1)))
gnPWZ = ASCAN(eRReYPRaP, THISFORM.v_base )
IF gnPWZ != 0
Thisform.restore(THISFORM.v_base)
THISFORM.porcentajes(1)
ENDIF
CASE thisform.backup.Value = 3
CASE thisform.backup.Value = 4
ENDCASE
ENDFOR

THISFORM.porcentaje.Caption = "00 %"
thisform.label1.Enabled = .f.
thisform.label3.Enabled = .f.
thisform.PORcentaje.Enabled = .F.
thisform.PORcentaje.Visible = .F.
thisform.origen.Enabled = .F.
THISFORM.ORIgen.Visible = .F.
thisform.origen.Caption = "."
thisform.destino.Enabled = .t.
THISFORM.destino.Visible = .T.
thisform.destino.Caption = "."
thisform.num_porcentaje = 0

SET CURSOR ON
THISFORM.Refresh


3. luego cree un metodo mio llamado BACKUPS donde le puse esta rutina
PARAMETERS pa_nombre

lago = LEN(pa_nombre)
CDX_ARC = ALLTRIM(THISFORM.ruta_y) + "simver10" + LEFT(pa_nombre, (lago - 4)) + ".CDX"
CDX_BUS = LEFT(pa_nombre, (lago - 4)) + ".CDX"
LMT_ARC = ALLTRIM(THISFORM.ruta_y)+ ALLTRIM(THISFORM.archivo)+"" + LEFT(pa_nombre, (lago - 4)) + ".LMT"
a_rign = ALLTRIM(THISFORM.ruta_y) + "simver10" + pa_nombre
a_norg = ALLTRIM(THISFORM.ruta_y)+ ALLTRIM(THISFORM.archivo)+"" + LEFT(pa_nombre, (lago - 4)) + ".BAK"
COPY FILE &a_rign TO &a_norg
zaPWZ = ASCAN(cdxarray, CDX_BUS)
IF zaPWZ != 0
COPY FILE &CDX_ARC TO &LMT_ARC
ENDIF


4.- y el otro metodo mio llamado restore donde puse esta rutina restaurar copia
PARAMETERS pa_nombre

lago = LEN(pa_nombre)
CDX_ARC = ALLTRIM(THISFORM.ruta_y) + "simver10" + LEFT(pa_nombre, (lago - 4)) + ".CDX"
CDX_BUS = LEFT(pa_nombre, (lago - 4)) + ".LMT"
LMT_ARC = ALLTRIM(THISFORM.ruta_y)+ ALLTRIM(THISFORM.archivo)+"" + LEFT(pa_nombre, (lago - 4)) + ".LMT"
a_rign = ALLTRIM(THISFORM.ruta_y) + "simver10" + LEFT(pa_nombre,lago - 4) +".DBF"
a_norg = ALLTRIM(THISFORM.ruta_y)+ ALLTRIM(THISFORM.archivo)+"" + LEFT(pa_nombre, (lago - 4)) + ".BAK"
COPY FILE &a_norg TO &a_rign
azPWZ = ASCAN(raylmt, CDX_BUS)
IF azPWZ != 0
COPY FILE &LMT_ARC TO &CDX_ARC
ENDIF


5. a parte de eso le puse una rutina que muestra los datos copiado y un contador numerico para que el cliente vea lo que pasa y llame a este metodo mio PORCENTAJE
PARAMETERS valorllega

THISFORM.num_porcentaje = THISFORM.num_porcentaje + valorllega
num_xctaje = THISFORM.num_porcentaje
NOM_HOME = LEFT(THISFORM.v_base, LEN(THISFORM.v_base)- 4)
THISFORM.PORcentaje.Caption = ALLTRIM(STR(num_xctaje))+ " %"

DO CASE
CASE thisform.backup.Value = 1
THISFORM.origen.Caption = ALLTRIM(THISFORM.ruta_y)+"simver10" + ALLTRIM(UPPER(thisform.v_base))
thisform.destino.Caption = ALLTRIM(THISFORM.ruta_y)+ ALLTRIM(THISFORM.archivo)+"" + NOM_HOME + ".BAK"
CASE thisform.backup.Value = 2
THISFORM.origen.Caption = ALLTRIM(THISFORM.ruta_y)+ ALLTRIM(THISFORM.archivo)+"" + NOM_HOME + ".BAK"
thisform.destino.Caption = ALLTRIM(THISFORM.ruta_y)+"simver10" + NOM_HOME + ".DBF"
CASE thisform.backup.Value = 3
CASE thisform.backup.Value = 4
ENDCASE

WAIT WINDOWS "" TIMEOUT 0.001


6.- Luego cree un entorno donde le puse al formulario los siguientes elementos

option group donde el cliente puede seleccionar si copia o restaura
labels, para mostrar los datos origen de copiado y los datos destino de copiado
otro label que contiene los numero asi "23%" que es el que va aumentando como un contador
y el resto es imaginacion.

y me ha servido pero que te sirva
  Respuesta:  jose jaimes
Mira Copia esto en un boton de Comando y listo
thisform.l13.visible = .t. es una imagen para animacion la cual tiene que ver con las tablas del sistema OK suerte...

mi_unidad = sys(5)+ sys(2003)

set exclusive on
respuesta=messagebox("¿ Desea efectuar el respaldo de la información manejada por el sistema ?",4+32,"Respaldar...")
if respuesta = 6
do while .t.
if diskspace ("A") = -1
res=messagebox("La unidad no esta preparada, Por favor verifique e intente de nuevo",4+64,"Error")
if res = 6
loop
else
thisform.release()
return .f.
endif
else
set defa to a:
wait window "Status: unidad preparada..." Nowait
exit
endif
enddo

if diskspace() < 160
messagebox("Seleccione un disco limpio para realizar el respaldo e intente de nuevo",0+64,"Inserte otro disco....")
set defa to &mi_unidad
else
set safety off
set defa to &mi_unidad

copy file CLIENTES.DBF to a:\
thisform.l1.visible = .t.

copy file PELICULAS.DBF to a:\
thisform.l2.visible = .t.

copy file PROVEEDOR.DBF to a:\
thisform.l3.visible = .t.

copy file ALQUILER.DBF to a:\
thisform.l4.visible = .t.

copy file ALQUILER2.DBF to a:\
thisform.l5.visible = .t.

copy file COMPRAS.DBF to a:\
thisform.l6.visible = .t.

copy file COMPRA2.DBF to a:\
thisform.l7.visible = .t.

copy file Contar.DBF to a:\
thisform.l8.visible = .t.

copy file cARLOS.DBF to a:\
thisform.l9.visible = .t.

copy file HORAS1.DBF to a:\
thisform.l10.visible = .t.

copy file PEDIDOS.DBF to a:\
thisform.l11.visible = .t.

copy file PEDIDO2.DBF to a:\
thisform.l12.visible = .t.

copy file EQUIPOS.DBF to a:\
thisform.l13.visible = .t.

messagebox("El respaldo fue realizado con éxito...",0+64,"AXL_JOSE@HOTMAIL:COM")
endif

else
thisform.release()
endif

thisform.release()
  Respuesta:  GERMAN A. MORALES L.
SI SABES HACER USO DE LOS COMANDOS DOS, CON VFP PUEDES REALIZAR LAS COPIAS DE TUS BASES LA VECES QUE LAS NECESITES ESPERO TE SIRVA ESTE EJEMPLO:

IF (respuesta=6) THEN
run copy e:\ok\tablas\*.dbf a: &&\temporales\backup\.
run copy e:\ok\tablas\*.cdx a: &&\temporales\backup\.
ENDIF
  Respuesta:  Coco
Usa el Winzip Command line Support Add-on
con este programa puedes lograr lo que necesitas, la direccion URL es :
http://www.winzip.com/wzcline.htm

Espero te ayude
Saludos

  Respuesta:  Cristóbal Melara
En mi búsqueda por algo mejor me encontré la siguiente dirección:

www.greeneclipsesoftware.com

Aquí encontré unos controles activex (eclipse cabinet)que te hacen la tarea más fácil y puedes programar los cambios. Lo mejor es que los archivos son freeware.
Te invito a que la visites y espero que te sirva de alguna ayuda la información que ahí se encuentra.

    Pregunta:  1118 - INCOMPATIBILIDAD CON ALGUNAS DLL´S
Autor:  Juan Luis
Me gustaría si es posible me ayudarais a saber si el Visual Fox tiene algú tipo de incompatibilidad con algunas Dll´s. Necesito abrir una en concreto que he conseguido abrir sin ningún problema con Visual Basic y Visual Delphi, mientras que en V..Fox me es imposible. Con el examinador de clases veo la librería y las funciones que contiene y no logro llegar al contenido. ¿Es posible que pueda con el Visual Studio?. Con Visual Delphi logro abrir la Dll y ver código con ActiveX 2.0 ¿Es posible algo parecido con V.Fox?
¿No trata de la misma manera las Dll´s Fox que los otros programas de Microsoft?
Os agradezco de antemano la ayuda, pués me urge saber algo! Saludos
  Respuesta:  Coco
No se exactamente que quieres hacer, si quieres desmembrar un DLL, te recomiendo las utilidades que vienen con visual studio, o leer el SDK de microsoft windows, si lo que quieres es usar una DLL para emplear sus funciones, te pongo un ejemplo:
DECLARE INTEGER GetActiveWindow IN win32api
WAIT WINDOW "Ahora puede cambiar a otra aplicación" TIMEOUT 5
? GetActiveWindow( )
con esto por ejemplo controlas cual es la aplicacion activa, pero tienes que conocer las funciones y los parametros que debes pasarle.

Saludos

    Pregunta:  1119 - PROBLEMAS AL IMPRIMIR CON @ SAY ...
Autor:  Luis Pisfil
Por razones de programación en Visual Foxpro he creado un reporte utilizando @ say y no report form. Todo imprime bien, hasta el momento que creo el ejecutable, donde aparentemente toma otra configuracion e imprime dejando una linea en blanco. Que hago
Gracias de antemano por la respuesta
  Respuesta:  Francisco Reyes
Podes asignarle un tipo de letra como el ejemplo siguiente: SET PRINTER FONT 'Arial Narrow', 9 STYLE 'N'
  Respuesta:  Coco
esto no creo que sea un problema de compilacion, si lo has ejecutado desde tu maquina y sucede te aconsejaria que reinstales tu fox y recompiles, pero si has probado en otra pc, puede deberse a configuracion de la impresora, o la fuente que usas no esta instalada y esta tomando otra parecida, etc.

espero te sirva

saludos

  Respuesta:  Foxito
Hola:
Prueba cargando la variable _PLine = 0 justo al inicio de tu reporte. FoxPro tiene una lista de útiles variables de sistema que se inician con una línea abajo "_". Revisalo...

Bye

    Pregunta:  1123 - ERROR ´OLE´ EN VISUAL FOXPRO 5
Autor:  Alejandro
Tengo un programa hecho en visual fox 5.0 y cuando lo ejecuto me dá el siguiente mensaje:
Código de error OLE 0x80040154: Código de estado OLE desconocido. Intenté instalar fox nuevamente pero no resultó. Agradezco sugerencias.
  Respuesta:  David Amador Tapia
Bueno..te comento dependiendo la versión de Visula Fox pro que estes utilizando este mismo te da una barra de herramientas en la cual puedes mandar a imprimir, ir a una pagina determinada o salir, entre otras cosas pero prueba con el siguiente código a ver si te funciona...DEFINE

WINDOW salida FROM 0,0 TO 40,80 TITLE ´Vista Preliminar´ CLOSE noFLOAT zoom GROW system report form nombredelreporte preview WINDOW salida

en este creas una ventana para ver tu reporte y le das algunas propiedades luego le das el coamndo para imprimir por pantalla pero en la ventana que creaste...

Prueba y cuentame.

    Pregunta:  1125 - VISUAL FOX 5 EN WINDOWS NT
Autor:  Marlon
Hola amigos, la presente es para solicitar ayuda sobre los discos de instalaciòn que genera Visual Fox % en español, el problema que tengo es que creo unos discos de instalación para una aplicación y cuando la instalo en Windows95 y la ejecuto todo va bien. Pero cuando la instalo en Windows NT 4.0 y la ejecuto, las imagenes que le metí se ven dañadas y cuando desde el menú ejecuto un Form la aplicación se cae y Windows me genera un archivos de error por medio de doctor Watson y la aplicación así simplemente no sirve alguién me podría ayudar con esto rápido por favor.

Desde ya Gracias

  Respuesta:  Cacho
En Windows NT probar lo siguiente :

- Ejecutar el set de instalación de tu programa por lo menos una vez para que se instale el runtime de VFP.

- En la máquina Windows NT Copiar en Winnt\system32 y Registrar los archivos ocx (controles active X) usados por tu programa. Esto lo podés hacer abriendo una ventana MS-DOS en el directorio y ejecutar la linea ---> REGSVR32 NomArch.ocx

- Verificar que los OCX sean los mismos que se usan en las máquinas donde anda todo bien.

Suerte!!!
  Respuesta:  Mariano Jedrzejewski
te escribo por que veo que tenes el mismo problema con vfp 5.0 pero al reves. Yo tenia todas mis aplicaciones en vfp 3.0 y las converti al 5.0. En NT 4.0 me funcionan bien pero en w95 NO.Yo tengo el exe de mis aplicaciones en el server, tengo instalado el vfp en cada terminal con accessos directos a la aplicacion ej "f:\exe\miapli.exe" en la linea de comando del accesso. Esto en nt funciona correctamente y se ejecuta la aplicación pero en W95 me da el siguiente error "VISUAL FOXPOR CANNOT START COULD NOT LOAD RESOURCES. PRESS F1 FOR HELP". La unica manera de ejecutarlos es llamando al ejecutable del fox y luego a la aplicación.Ya probre de todo y me pasa en todos los windows 95. Si me escribis con mas detalle tu configuración tal vez te pueda ayudar. Si tenes alguna opinion sobre mi problema te agradeceria que me la envies
Saludos
  Respuesta:  carlos alberto mendoza garcia
a mi me paso alguna vez algo parecido y me funciono cambiando los controladores de video,
puede que ese error se solucione asi prueba y me cuentas.

    Pregunta:  1152 - IMPEDIR REENTRADA A UN PROGRAMA
Autor:  fernando quintanilla alarcon
Quisiera poder evitar que por error o por cualquier otro motivo, se ejecutara 2 veces el mismo programa (mi programa) en el mismo ordenador. el lenguaje en que está hecho es Visual Fox Pro 5. Gracias
  Respuesta:  Luis Barrantes
Para imprdir que un usuario entre dos veces en una misma pantalla o programa, el nombre del formulario y el name deben ser iguales.

Copia la siguiente instruccion en el menu o donde ejecutes la invocación del programa;

IF wexist("miformulario")
messagebox("Formulario en uso",48,"Mensaje del sistema")
ELSE
DO FORM miformulario
ENDIF

buena suerta y cuentas como te fue.

""shamman
  Respuesta:  leonardo olivares
If _EstaActiva( "nombre ventana principal" ) Then
_screen.visible=.f.
=MessageBox("solo si quieres")
QUIT
EndIf

Function _EstaActiva( cCaption )
Declare Integer FindWindow IN Win32Api;
String cNULL, ;
String cWinName

Return FindWindow(0, cCaption ) # 0
EndFunc

*** EOF
rústica pero funciona
  Respuesta:  Xavi
Tienes que utilizar la API Findwindows, la cual te indica si una aplicacion ya esta en uso.

Si revisas el apartado de Biblioteca de Temas-Utilización de algunas API´s en Visual Basic, veras el codigo que necesitas.

Saludos

    Pregunta:  1160 - IMPRIMIR FORMULARIOS
Autor:  jaime delgado
Hola, mi nombre es jaime estoy aprendiendo a usar el visual foxpro ver 5.0 y quisiera saber como imprimir solamente los datos que me aparezcan en un formulario, ya que he creado un formulario de cartera de clientes y solo quiero que me imprima lo que veo.

Por favor, la persona que me conteste esta pregunta, le agradeceria que lo haga con la sintaxis y los posibles eventos en que pueda escribir esta sintaxis.
De antemano se los agradesco mucho.
  Respuesta:  Luis Martínez
Si los datos que muestras en el formulario están almacenados en una tabla no necesitarás crear un cursor, crea un reporte que presente estos datos. Crea un boton imprimir y en el evento click del botón ejecuta este código:

SELECT mitabla
REPORT FORM mireporte NEXT 1 TO PRINTER

La clausula de alcance NEXT 1 solo imprimirá el registro actual. En el entorno de datos del informe no agregues ninguna tabla y ésta no debe ser privada.
  Respuesta:  Gustavo Martinez
Para imprimir solo los datos que ves en el formulario deberias guardar los mismos en un cursor, por ejemplo, y crear el reporte en base a ese cursor, luego con un evento click de un boton llamar al reporte
Tambien puedes poner en el comando report form una condicion de filtro
Espero que te oriente un poco
Saludos

    Pregunta:  1173 - FUNCIONAMIENTO OBJETO RICH TEXT BOX
Autor:  J.Carlos Aguilera Ballester
Tengo una aplicación realizada en FOX 2.6 y quiero aumentar las prestaciones de dicha aplicación utilizando la información insertada en sus bases de datos utilizando un procesador de textos.
Estoy realizando una aplicación aparte en visual foxpro 6.0 que es un procesador de textos, dónde mi pretensión es utilizar el RICH TEXT BOX, pero me es dificil llegar a dominar ete objeto porque no tengo documentación, y se que con este objeto puedo llegar a realizar mis necesidades. Rogaría me ayudaraís GRACIAS.
  Respuesta:  Xavi
El funcionamiento del control RichTextBox, es bastante sencillo.
Por ejemplo, para modificar una parte del texto y colocarlo en negrita desde codigo, tienes que seleccionar dicho texto, y luego modificar su propiedad.
Seleccionas el texto con "SelStart" y "SelLength".
De igual forma para modificar el tamaño, color, etc...

Espero que te sirva.

    Pregunta:  1205 - COMUNICACION DE PC A BÁSCULA ELECTRÓNICA
Autor:  Humberto C
Estoy desarrollando un sistema de pesaje de cargas y control de inventarios.
El problema que tengo es que no puedo recuperar los datos, mostrados en la bascula electronica ,en forma automatica hacia mi computadora. Ya he intentado las funciones de bajo nivel, inclusive el control mscom sin obtener los resultados esperados.
La bascula se conceta al COM1 y el sistema está desarrolado en Visual Foxpro 5.
Cualquier ayuda se las agradecere
  Respuesta:  Manuel Jesus Duran Chusan
Amigo si sabes usar el mscomm y no te captura datos de la bascula comunicate con el tecnico de la bascula para ver si es problema de la bascula, a mi me ocurrio lo mismo y era ese problema, o el cable de comunicacion esta mal hecho
  Respuesta:  vikingo II
hola yo trabajo en un almacen y para lograr la comunicacion e usado un control o libreria de windows llamado Mscomm32.ocx con el cual puedes crear un objeto que te permite la comunicacion serial con los comm disponible, si tienes el manual de la bascula puedes enviar datos y que te responda pero sino, considera a la computador a la computadora como un impresora y lees los datos del puerto, tambien es importante el cable serial que uses. Si es que deseas el fuente en visualfoxpro escribeme al email y dame tu email
chao Vikingo II
  Respuesta:  eye
Holasssamigos:
Querido amigo:
La forma más sencilla (para mi) de poder comunicarte por los puertos paralelos o en serie de tu computadora es utilizar una libreria llamada INPOUT32.DLL, lo puedes bajar tranquilamente de Internet. Ahora la pregunta es ¿Como utilizar está libreria dll?
Fijate en el siguiente código:

DECLARE INTEGER Inp IN inpout32 INTEGER puerto
DECLARE INTEGER Out IN inpout32
local salir,puerto
puerto = 889 && es la direccion en memoria del Puerto Paralelo
salir = 65 && es un caracter
do while salir#27
?inp(puerto)
salir = inkey()
enddo

Ahora, para el puerto en serie no estoy muy seguro de la direccion en memoria (3F8 hex. ????) , pero eso lo puedes averiguar en la Setup de tu máquina.
Cualquier cosa hacemelo saber.
  Respuesta:  Luis Martínez
En caso que no hayas probado esto:

Hay que tener en cuenta que el puerto lo debes abrir de solo lectura y sin buffer.

Visual Foxpro no reconocerá COM1 como un puerto de comunicación si no como un archivo en disco si lo intentas abrir de esta forma: FOPEN("COM1",10)por lo que te aparecerá el error "1103 - Desplazamiento de búsqueda no valido" o FOPEN() devolverá un valor negativo, por lo tanto debes agregar la extensión .DOS al nombre del puerto: FOPEN("COM1.DOS",10)

CODIGO:
Local nFileHandle, nSize, cPeso

nFileHandle = FOPEN("COM1.DOS",10)

* Llevar el puntero a EOF para determinar el número de bytes escritos en el puerto

nSize = FSEEK(nFileHandle, 0, 2)

IF nSize > 0 && Hay datos en el puerto
*Mover el puntero a BOF
=FSEEK(nFileHandle, 0, 0)
*Leer los datos del puerto
cPeso = FREAD(nFileHandle, nSize)
ENDIF
Cierra el archivo
= FCLOSE(nFileHandle)

Nota: He utilizado este código solo para escribir en un puerto de comunicación y me ha funcionado.

Escribeme un mail con más detalles haber si te puedo ayudar o para saber si funciona.

|<  <<  41 42 43 44 45 46 47 48 49 50 51  >>  >|