FoxPro/Visual FoxPro - consultas en varios temas

   
Vista:

consultas en varios temas

Publicado por JOEL  (69 intervenciones) el 16/06/2009 19:42:59
holas a los expertos de vfp el famoso zorro

amigos como se puede hacer para imprimir desde la aplicacion a la impresora es caja osea tengo 3 terminales 2 para venta y la 3ra para hacer caja
se debe imprimir en desde cualquier teminal a la caja
como gener la ubicacion de la impresora la cual es una ticketera

va la 2da como se puede hacer una ayuda de BUSQUEDA buscar clientes, o articulos
la cual empezaria desde q' yo digito se va mostrando los diversos registros q' van concidiendo por ejemplo
clientes.dbf
yo escribo ............ ma oooo escribo r
juan manuel ricardo
manuel martha rita
martha matias renzo
jose renato
ricardo
rita
renzo
renato
matias

muchas programadores dicen q' no se debe acceder totalmente a la tabla .dbf ya q' esto hace demorar las bisqueda en dicha tabla ya q' si tengo unos 3000 o 5000 demora la busqueda y si esta la aplicaion en red tiene su tiempo de demora claro no es mucho pero si demora
como s epodria hacer estas busquedas ya q' en clipper y foxpro de pueden hacer y no tiene demoras .

estoy trabajando con sql server 2005 haciendo algunas pruebas de lo primordial
como ES GRABAR MODIFICAR ELIMINAR BUSCAR

SEGUN LO Q' LEO HAY VARIAS SENTENCIAS DE SQL PARA PODER HACER ENLAZES CON SQL SERVER
- SQLEXEC()
- SQLCONNECTION()

como se puede hacer para localizar y grabar un determinado registro de la base de datos de sql server 2005
con sqlexec() se realiza pero no lo entiendo muy bien ya q' genera 3 tipos de resultados
si mal recuerdo 0 - 1 - 2
si tendrian un ejemplo pequeño de grabar un determinado registro

la ultima amigos
como hago para poder hacer la impresion de codigo de barras q' tipo de papel se usa y algun otro material papel adhesivo creo el tipo de letra y el tamaño se debe usar y lo principal la impresora supongo debe ser LASER

MUCHAS GRACIAS
Joel Calla
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Solucion Imprimir

Publicado por Jose Gamboa (33 intervenciones) el 17/06/2009 16:48:48
Hola!
Te ayudo con tu primera inquietud.
Esta es una funcion para identificar una impresora desde el nombre o bien algunos caracteres que coincidan. ej.
hay tres impresoras, hp deskjet 2500, epson lx300 y epson sc5000
la funcion se llama getprinterdef y funciona asi
GETPRINTERDEF("hp"), devuelve "hp deskjet 2500"
GETPRINTERDEF("ep"), devuelve la primera impresora que coincida con "ep"
GETPRINTERDEF() devuelve la impresora predeterminada

para enviar algo a imprimir a la impresora que devuelve la funcion solo se utiliza el valor devuelto
ej. SET PRINTER TO NAME GETPRINTERDEF("hp")
para los comandos say
ahora si tienes un procedimiento para imprimir, pues solo envias el nombre de la impresora al procedimiento y listo. Es muy funcional asi solo se configura en los parametros generales del programa un nombre clave para la impresora ejemplo: "tiquetera" y asi se llama a la funcion para identificar la ubicacion de tiquetera, desde una red devolveria \servidorimpresora tiquetera, desde la pc local devolveria solamente impresora tiquetera, asi el procedimiento que usas para imprimir la enviaria al servidor o al puerto.
la funcion es esta.

PROCEDURE GETPRINTERDEF
LParameters cPrintername
If Empty(cPrinterName) OR VARTYPE(cPrinterName) <> "C"
cPrinterName = ""
Endif
oSetExact = SET('EXACT')
SET EXACT OFF
Dimension APrinterList[1,2]
apLen = Aprinters( APrinterList )
vPrinterName = ""
If Empty( apLen )
Return apLen
Endif
For nCount = 1 To apLen
npPos = ATC( UPPER(cPrintername), UPPER(APrinterList[nCount,1]) )
If npPos <> 0
If ATC( "", APrinterList[nCount,2] ) <> 0
vPrinterName = ALLT(APrinterList[nCount,2])
Else
vPrinterName = ALLT(APrinterList[nCount,1])
Endif
Exit
Endif
EndFor
If EMPTY(vPrinterName)
vPrinterName = SET( "PRINTER", 3 )
Endif
If EMPTY(vPrinterName)
vPrinterName = SET( "PRINTER", 2 )
Endif
If EMPTY(vPrinterName)
vPrinterName = GETPRINTER()
Endif
SET EXACT &oSetExact
Return vPrinterName


ENDPROC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sobre buscador

Publicado por Jose Gamboa (33 intervenciones) el 17/06/2009 17:02:37
Te doy una idea:
crea un form:
dentro del form inserta un textbox y un grid
en el metodo interactive change del textbox escribe sentencia que actualiza el grid con el contenido del textbox... algo asi
INTERACTIVECHANGE...
cVal = upper(allt(this.value))
WITH thisform.grid
.recordsource = ""
select * from mitabla where campoclave = cVal into cursor tabladelgrid
.recordsource = "tabladelgrid"
.refresh
ENDWITH
algo similar o mas extenso a lo que necesites te puede funcionar, pero ya con esto espero darte alguna idea, cuando ingresas un codigo en el interactivechange cada vez que modificas el valor en el textbox se corre el codigo en el metodo asi que la tabla se actualiza automaticamente por asi decirlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sobre buscador

Publicado por joel (1 intervención) el 18/06/2009 19:19:47
tienes toda la razon q' pasa cuando tienes 10,000 omas registros
se vuelve lento y si esta en red las terminales para poder hacer la busqueda toma su tiempo

ademas si los productos estan agrupados por ejemplo por MARCA , COLOR , Y GRUPO TOMA MAS TIEMPO Y SABES Q' PARA PODER HACER ESTAS CONDICIONES ES EN EL WHERE DEL SELECT

Q' SE PODRIA HACER EN ESTOS CASOS


GRACIAS POR TODO

JOEL C.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar