PREGUNTAS CONTESTADAS - FoxPro/Visual FoxPro

 Hay un total de 1456 Preguntas.<<  >> 

    Pregunta:  63022 - VOLUMEN DEL DISCO DURO NEGATIVO
Autor:  yesid ramirez
Buen dia Señores programadores

tengo un inconveniente estoy trabajando en vfp una aplicacion, y para evitar en algo que la instalen facilmente, tengo una aplicacion que trabaja con el volumen del disco duro, hace poco me paso algo y es que lo probe en un computador que tenia dos particiones, pero no creo que tenga que ver, y me decia que no estaba autorizado, y encontre que el numero decimal del volumen del disco duro es negativo, ya que buscando en internet encontre una aplicacion, de ejemplo que trabaja con el decimal y luego lo convierte a hexadecimal(pero cuando el decimal es positivo, cuando es negativo no me funciona), y ahi tengo una aplicacion que pregunta si coinciden con el serial del disco duro. alguien tiene un ejemplo que directamente lea el volumen del disco duro sin hacer conversiones, y porque pasa esto de que de un decimal negativo el volumen del disco duro. existe otra forma de controlar las instalaciones de una aplicacion que no sea el volumen del disco duro, ya trate con el serial de la tarjeta madre, ya que una ocacion me genero un serial en blanco y me sacaba de la aplcacion.

Espero encontrar alguna alma caritativa en este mundo virtual que me pueda colaborar
  Respuesta:  manuel betancur
mira yo soluciono con esto
lo que tengo es un ejecutable por compania
y tengo un .dbf en el system32 que cuando no es correto da .t.
ojala te sirva
mi correo es [email protected]
suerte
Do Case
Case lcserialnumber = -860111093 &&& mc32
Use c:Windowssystem32as_rdf In 0 Alias as_rdf
Select as_rdf
m.hdserial = "OK"
Case lcserialnumber = -790905080 &&& acer
Use c:Windowssystem32as_rdf In 0 Alias as_rdf
Select as_rdf
m.hdserial = "OK"
Case lcserialnumber = 1351151405 &&& of acer
Use c:Windowssystem32as_rdf In 0 Alias as_rdf
Select as_rdf
m.hdserial = "OK"
Case lcserialnumber = 1077987988 &&& mhb
Use c:Windowssystem32as_rdf In 0 Alias as_rdf
Select as_rdf
m.hdserial = "OK"
Case lcserialnumber = 1411854587 &&& mhb
Use c:Windowssystem32as_rdf In 0 Alias as_rdf
Select as_rdf
m.hdserial = "OK"
Case lcserialnumber = 683129834 &&& LEO
Use c:Windowssystem32as_rdf In 0 Alias as_rdf
Select as_rdf
m.hdserial = "OK"
Case lcserialnumber = 772448269 &&& HUGO LAPTOP
Use c:Windowssystem32as_rdf In 0 Alias as_rdf
Select as_rdf
m.hdserial = "OK"
Otherwise
Messagebox("Err 001 THIS PROGRAM IS LICENSED ONLY FOR LIHMIL Flowers & Supplies 786 444 5051",0,"e-floral Records" )
m.hdserial = "NO"
Endcase

If m.hdserial = "OK"
If Edit = .F.
Use &DS.masterf In 0 Alias masterf Shared
Select masterf
If masterf.COMPANY = "LIHMIL Flowers & Supplies "

    Pregunta:  63033 - CONTAR LINEAS
Autor:  Lisandro X
Necesito contar las lineas de un txt hecho en fox pro. Necesito contarlas desde el mismo fox pro para dos.
Saludos
Lisandro
  Respuesta:  hancito2003
Hola.

Leete estos comandos en fox 2.6 para dos, quizas consigas lo que quieres. Estos comandos te permiten crear, ampliar, truncar, abrir, agregar, cerrar, etc. un archivo de bajo nivel *.TXT:

FCREATE()
FOPEN()
FCHSIZE()
FCLOSE()
FGETS()
FPUTS()
FREADS()
FSEEK()
FWRITE()

Si no tienes el manual, pero tu fox tiene la ayuda, la funcion de estos comandos esta disponible en el HELP.

Saludos.-

    Pregunta:  63123 - CONVERTIR EXCEL DESDE VFP CONSERVANDO FORMATO DE DATOS
Autor:  manuel betancur
tengo un file en dbf necesito pasarlo a excel pero que me conserve el
formato del campo ejemplo currency y al convertirlo es general
*!* cFile = 'S:e-floraldataQB _invoiceqb'
*!* Copy To (cFile) Type Xl5
tengo campos currency y todos quedan como general
gracias por la ayuda
  Respuesta:  juan pablo
has probado
COPY TO PRUEBA.CSV DELIMITED
aunque igual lo pondrá como general (es lo que excel presenta como opcion) sin embargo si tu preocupación es que excel lo convierta en un formato especial podrías crear una macro desde excel que lo convierta automáticamente en el formato que necesitas al momento de importarlo

slds.

JPP

    Pregunta:  63197 - COPIAR TODOS LOS ARCHIVOS DE UNA CARPETA EN OTRA
Autor:  MANUEL JESUS BORBOLLA POSADA
Con visual fox pro 9. Como puedo hacer para copiar el contenido de una carpeta en otra. Es decir quiero cojer todos los archivos que hay en una carpeta y copiarlos en otra, estoy intentandolo con COPY FILE y he leido por hay que el problema que tengo es con los espacios en blanco, ya que utilizo dos variables para el origen y el destino y estas contienen nombres de carpetas que a su vez tienen espacios en blanco y eso provoca que me de un error. Me podeis ayudar de que forma puedo hacer esto?. Un saludo y gracias.
  Respuesta:  carlos mupe
para los nombres con espacios en blanco debes utilizar " ej: copy file "c:mi directorioxxxx.exe" to "c:otro directorio"

    Pregunta:  63244 - INSTANCIAR O EJECUTAR UNA CLASE JAVA EN VISUAL FOX 8.0
Autor:  Jorge Andres Chuquen
Buenas tardes. Le agradecerima mucho el favor a quien me logre ayudar con el siguiente tema.

Estamos tratando de realizar la migracion de una aplicacion hecha en visual fox 8 a Java. Por tanto necesitamos que mientras se va pasando la logica del negocio a Java, las clases y procedimientos que vayamos haciendo se puedan ejecutar desde las pantallas que actualmente estan en Fox. Por todo esto, necesito que por favor me ayuden a determinar como ejecutar o instanciar una clase de java (.class) desde un formulario de Visual fox.

Agradesco de antemano a todo a quel que pueda ayudarme....
  Respuesta:  MARVIN CALLEJAS
Lo que tienes que hacer es utilizar el patrón MVC (model - vista -controller) en el diseño de tú aplicación. En palabras sencillas deja todas la lógica del negocio en procedimientos almacenados en la base de datos (si es una base de datos formal) y las vistas en VFP o Java. De esta forma cuando vayas migrando a Java, tendrás disponible la lógica del negocio para ambas tecnologías de desarrollo.

Si no estás utilizando una base de datos que soporte procedimientos almacenados revisa JNI (Java Native Interfaces), que puedes hacer comunicaciones de procesos vía COM.

    Pregunta:  63248 - IMPLEMETAR SEGURIDAD EN LOS ARCHIVOS
Autor:  mina l
hola, buen día, quisiera saber cómo puedo hacer para que mis tablas o cualquier otro archivo o carpeta, no puedan eliminarse desde el explorador de mi pc, a menos que tenga alguna autorización.
De antemano muchas gracias por su ayuda.
  Respuesta:  hancito2003
Hola.

Aparentemente tu problema es por fuera de cualquier programa. Entiendo que lo que quieres es que alguien que no sabe nada de lo que sucede en tu computador vaya de ponemano y erroneamente elimine algunas cosas que te son de utilidad.

Siendo de este modo, prueba a utilizar bloqueadores que existen en la web, como por ejemplo:

Folder Protection 5.56

Proteccion con password para evitar que eliminen o revisen tus cosas.
Hay muchas otras aplicaciones en la web que te serian de mucha utilidad, esto considerando que tu inquietud es a este nivel.

Saludos.-

    Pregunta:  63294 - MODIFICAR UN DFB POR VARIOS USUARIOS
Autor:  claudio claudio
Hola amigos
tengo un problema , trabajo con una aplicacion de fox pro 2.6 y necesito saber si existe la posibilidad de abrir y modificar un dbf simultaneamente entre dos o mas pc en red
intente con use .dbf shared pero esto solo deja abrir no modificar
de ante mano gracias
  Respuesta:  hancito2003
Hola.

Es posible eso que dices. Tambien utilizo fox 2.6 y utilizo aplicaciones en red.
El abrir y salvar o modificar al mismo tiempo no es ningun problema. El problema esta en que cada usuario trate de agregar un registro nuevo al mismo tiempo. El sistema hace un APPEND BLANK al mismo tiempo y uno de los registros no se copiara ya que ambos lo hacen en el mismo numero de registro. Pero para tu problema aqui va la solucion:

Puedes utilizar alias para abrir las DBF o simplemente utilizar SELECT:

Select 1
use nominas
set order to codigo

select 2
use empleados
set order to codigo

Ya desde aqui, en ves de abrir nuevamente las DBF, solo las pones en uso porque ya estan abiertas, es decir, imagino que lo haces asi:

Use nominas

DO WHILE .T.
@5,5 say "Codigo del Empleado:"+ get codigo pict"999999"
read

if lastkey()=28
return
endif

if empty(codigo)
use empleados
set order to apellido
go top
brow last
codigo=codemp
loop
endif

use nominas
go top
seek codigo

ENDDO

Entonces, ahora lo haras asi:

select 1

DO WHILE .T.
@5,5 say "Codigo del Empleado:"+ get codigo pict"999999"
read

if lastkey()=28
return
endif

if empty(codigo)
select 2
set order to apellido
go top
brow last
codigo=codemp
loop
endif

select 1
go top
seek codigo

ENDDO

Cada vez que abres una DBF con un USE, la otra se cierra, por eso es que en vez de abrir cada una cada vez (que tambien satura la memoria de la pc), lo haces con un select. Si quieres abrir otra, subes donde declaras los select y tambien la declaras con otro select. De este modo puedes utilizarla cuantas veces quieras y tu programa quedara con las condiciones para compartirse en varias pc y ser utilizado por varias personas al mismo tiempo.

Suerte.-

    Pregunta:  63335 - IMPRESION CON DOSPRN EN FOXPRO 2.5
Autor:  ana cruz
Hola, necesito de su ayuda, estoy imprimiendo en dosprn en foxpro 2.5, mis reportes los envio a texto y de ahi los imprimo, el dosprn me respeta el formato y todo, pero si quiero imprimirlos teniendo mi sistema abierto me dice que otro programa lo esta ocupando y no me deja imprimirlos. Me pudieran decir como hacerle para que abierto mi sistema me permita imprimirlos, o de que otra manera podria hacerle para usar el dosprn, soy novata en esto y no tengo mucha experiencia, siempre los enviaba a lpt1 y en papel u otra forma de imprimir en lasser y en red, les agradezco mucho su atencion, mil gracias por la ayuda.
  Respuesta:  hancito2003
Al parecer tu fox no esta completo, porque si no puedes imprimir en red desde el fox entonces el que tienes no funciona en su totalidad.
Aun asi, el DOSPRINTER es un programa utilitario muy bueno y anteriormente me toco usarlo, asi que te sugiero que cambies tu DOSPRN por el DOSPRINTER que a mi entender es mas facil e igual de completo.

Si estas tratando de invocar el DOSPRN desde tu programa, lo ideal es que crees un .BAT con las rutinas del DOSPRN que quieres ejecutar a la hora de llamar la impresora.

Luego, en vez de ejecutar tu .BAT desde tu programa atraves de un "!", ejecutalo con RUN, esta funcion es mas comoda.

    Pregunta:  63382 - PROBLEMAS AL EXPORTAR A EXCEL
Autor:  mina l
hola buen día, estoy programando con VFP9, y tengo algunos reportes que exporto a Excel, el problema que tengo es que cuando hay archivos de Excel abiertos al momento de exportar desde vfp me marca un error de que el registro esta ocupado, me he dado cuenta que eso solo me pasa cuando en los archivos que tengo abiertos los estoy modificando y no he guardado los cambios, por que si solo los tengo abiertos sin haberles modificado nada, no tengo ese problema.
El código que utilizo para exportar es:
_screen.mousepointer=14
TmpSheet=GetObject('','Excel.Sheet')
XLApp=TmpSheet.Application
XLApp.visible=.T.
XLApp.workbooks.add()
XLSheet=XLApp.ActiveSheet

el error me lo marca en la linea: TmpSheet=GetObject('','Excel.Sheet')
De antemano muchas gracias por su ayuda
  Respuesta:  Eduardo Ureña
Efectivamente. Ese problema se da cuando un objeto anterior está siendo modificado o simplemente tiene marcada alguna celda para copiar en otro lugar.

Lo mejor que se puede hacer es enviar ese error a una subrutina de errores, capturando su código y enviando un mensaje al usuario para que cierre la última hoja generada si desea continuar con el actual proceso.

Como es una aplicación externa a VFP poco podemos hacer.

Saludos

    Pregunta:  63404 - RESTA DENTRO DE REPORTE
Autor:  Rafael Alvarado
Buenas tardes, queria ver si alguien de ustedes me puede ayudar, tengo el siguiente problema:

Tengo creado un reporte, que lista varias actividades de un trabajador de produccion, y se hacen sumas total por dia trabajado, por medio de un Data Grouping, los totales me los muestra perfectamente por dia, pero necesito restale a ese total por dia, el valor de una variable de sueldo ....

La suma del total por dia se efectua asi:

Calculation Type: SUM
Reset based on: Group: Fecha

y necesito restarle el valor de la variable: xsueldo

por su ayuda gracias
  Respuesta:  Javier Albornoz
Supongamos que la variable suma que agrupas por fecha, se llama nSuma. Esta tiene su caja de texto en el diseño del reporte. Edita ese control y escribe:
nSuma - xSueldo.

Saludos desde Jujuy - Argentina.
Javier.

|<  <<  133 134 135 136 137 138 139 140 141 142 143  >>  >|