Entrar
¿Nuevo usuario? Inscribirme
DesarrolloClipper · Desarrollo de Software en CA-Clipper
? ¿Ya estás suscrito? Entra a Yahoo!

Consejos

¿Sabías que...?
Podés hacer búsquedas de antiguos mensajes del grupo.

Mensajes

  Mensajes Ayuda
Avanzado
Re: Programa que lee archivos .PRN   Lista de mensajes  
Responder | Reenviar Mensaje #3527 de 3604 |
Re: [CA-Clipper] Programa que lee archivos .PRN

CON ESTE PROCEDIMIENTO VISUALIZO REPORTES PRN
 
** p1 nombre de archivo a visualizar
** p2 fila inicial
** p3 columna inicial
** p4 fila final
** p5 columna final
** p6 color de fondo
 
#include 'inkey.ch'
 
PROCEDURE VIEWER(P1, P2, P3, P4, P5, P6)
 
   LOCAL L7, L8, L9, L10, L11, L12, L13, L14 := .F.
   LOCAL L15, L16, L17 := 0
   LOCAL L18 := 1
   LOCAL L19, L20, L21, L22
 
   IF P2 == NIL .OR. P2 < 0
 
      P2 := 0
 
   ENDIF
 
   IF P3 == NIL .OR. P3 < 0
 
      P3 := 0
 
   ENDIF
 
   IF P4 == NIL .OR. P4 > MAXROW()
 
      P4 := MAXROW()
 
   ENDIF
 
   IF P5 == NIL .OR. P5 > MAXCOL()
 
      P5 := MAXCOL()
 
   ENDIF
 
   P6 := SETCOLOR(P6)
 
   IF (L7 := FOPEN(P1, 32)) <> -1
 
      SCROLL(P2, P3, P4, P5)
      SETPOS(P4, P3)
      L22 := ""
*      AEVAL({86, 73, 69, 87, 69, 82, 32, 49, 46, 48, 32, 115, 104, 97, 114,;
*             101, 119, 97, 114, 101, 46, 32, 80, 108, 101, 97, 115, 101, ;
*            32, 114, 101, 103, 105, 115, 116, 101, 114, 32, 105, 116, 46}, ;
*            {|BL1|L22 := L22 + CHR(BL1)})
      DISPOUT(SUBSTR(L22, 1, P5 - P3 + 1))
      L22 := NIL
      --P4
      L8 := FSEEK(L7, 0, 2)
      L11 := P4 - P2 + 1
      L12 := P5 - P3 + 1
      L9 := {}
      L10 := {FSEEK(L7, 0, 0)}
      L13 := 0
 
      DO WHILE L13 < L11 .AND. ATAIL(L10) < L8
 
         AADD(L9, NEXTLINE(L7))
         AADD(L10, FSEEK(L7, 0, 1))
         ++L13
 
      ENDDO
 
      L16 := L11 := L13
 
      DO WHILE  !L14
 
         IF L17 <> 0
 
            L18 := MAX(L18 + L17, 1)
            DISPBEGIN()
 
            FOR L13 := 1 TO L11
 
               SETPOS(P2 + L13 - 1, P3)
               DISPOUT(PAD(SUBSTR(L9[L13], L18), L12))
 
            NEXT
 
            DISPEND()
            L17 := 0
 
         ENDIF
 
         IF L16 <> 0
 
            SCROLL(P2, P3, P4, P5, L16)
 
            IF L16 > 0
 
               L20 := L11
 
            ELSE
 
               L20 := 1
 
            ENDIF
 
            L21 := L16 / ABS(L16)
            L19 := L20 - L16 + L21
 
            FOR L13 := L19 TO L20 STEP L21
 
               SETPOS(P2 - 1 + L13, P3)
               DISPOUT(SUBSTR(L9[L13], L18, L12))
 
            NEXT
 
            L16 := 0
 
         ENDIF
 
         L15 := INKEY(0)
*********************** L15 VARIABLE DE ENTRADA DE TECLADO
         DO CASE
 
         CASE LASTKEY()=K_SH_F5
            DI='LPT1'
            SAVE SCREEN TO VIEW
            DO BORDE WITH 17,16,20,64,0,'LS'
            SET CURSOR ON
            @18,18 SAY 'Nombre de Archivo   :' GET P1
            @19,18 SAY 'Dispositivo Salida  :' GET DI VALID BUSQUED_('O','2')
            READ
            IF LASTKEY()<>27
             COPY FILE &P1 TO &DI
            ENDIF
            RESTORE SCREEN FROM VIEW
 
         CASE L15 == 27
 
            L14 := .T.
 
         CASE L15 == 24
 
            L16 := 1
 
         CASE L15 == 5
 
            L16 := -1
 
         CASE L15 == 3
 
            L16 := L11
 
         CASE L15 == 18
 
            L16 :=  -L11
 
         CASE L15 == 30
 
            IF ATAIL(L10) < L8
 
               L10[1] := L8
               L16 :=  -L11
 
            ENDIF
 
         CASE L15 == 31
 
            IF L10[1] > 0
 
               L10[L11 + 1] := 0
               L16 := L11
 
            ENDIF
 
         CASE L15 == 4
 
            L17 := 1
 
         CASE L15 == 19
 
            L17 := -1
 
         CASE L15 == 2
 
            L17 := 10
 
         CASE L15 == 26
 
            L17 := -10
 
         CASE L15 == 6
 
            L17 := MAX(AMAX(L9) - L12 + 1, 1) - L18 + L17
 
         CASE L15 == 1
 
            L17 := 1 - L18
 
         END CASE
 
         IF L16 > 0
 
            FSEEK(L7, ATAIL(L10), 0)
            L13 := 0
 
            DO WHILE L13 < L16 .AND. ATAIL(L10) < L8
 
               ADEL(L9, 1)[L11] := NEXTLINE(L7)
               ADEL(L10, 1)[L11 + 1] := FSEEK(L7, 0, 1)
               ++L13
 
            ENDDO
 
            L16 := L13
 
         ELSEIF L16 < 0
 
            FSEEK(L7, L10[1], 0)
            L13 := 0
 
            DO WHILE L13 > L16 .AND. L10[1] > 0
 
               AINS(L9, 1)[1] := PREVLINE(L7)
               AINS(L10, 1)[1] := FSEEK(L7, 0, 1)
               --L13
 
            ENDDO
 
            L16 := L13
 
         ENDIF
 
      ENDDO
 
      FCLOSE(L7)
 
   ENDIF
 
   SETCOLOR(P6)
 
RETURN
 
/* ------ RESCUE5 1.00(D) (C) APTWARE 1993,94 ------
     NAME: NEXTLINE
   PARAMS: P1
   RETURN: STRING
  EXAMPLE: NEXTLINE(P1)
  ..........................................................................
*/
 
STATIC FUNCTION NEXTLINE(P1)
 
   LOCAL L2, L3, L4 := ""
   LOCAL L5 := 0
   LOCAL L6, L7 := .F.
   LOCAL L8 := .F.
   LOCAL L9, L10
 
   DO WHILE  !(L7 .OR. L8)
 
      L2 := SPACE(160)
      L7 := (L6 := FREAD(P1, @L2, 160)) < 160
      L4 := L4 + SUBSTR(L2, 1, L6)
      L5 := L5 + L6
      L9 := AT(CHR(13)+CHR(10), L4)
      L10 := AT(CHR(12), L4)
 
      IF L9 == 0 .OR. L10 == 0
 
         L3 := MAX(L9, L10)
 
      ELSE
 
         L3 := MIN(L9, L10)
 
      ENDIF
 
      IF L8 := L3 > 0
 
         FSEEK(P1, L3 - L5 + IF(L3 == L9, 1, 0), 1)
         L4 := SUBSTR(L4, 1, L3 - 1)
 
      ENDIF
 
   ENDDO
 
 
RETURN L4
 
/* ------ RESCUE5 1.00(D) (C) APTWARE 1993,94 ------
     NAME: AMAX
   PARAMS: P1
   RETURN: NUMBER
  EXAMPLE: AMAX(P1)
  ..........................................................................
*/
 
STATIC FUNCTION AMAX(P1)
 
   LOCAL L2 := 0
 
   AEVAL(P1, {|BL1|L2 := MAX(L2, LEN(BL1))})
 
RETURN L2
 
/* ------ RESCUE5 1.00(D) (C) APTWARE 1993,94 ------
     NAME: PREVLINE
   PARAMS: P1
   RETURN: STRING
  EXAMPLE: PREVLINE(P1)
  ..........................................................................
*/
 
STATIC FUNCTION PREVLINE(P1)
 
   LOCAL L2, L3, L4 := ""
   LOCAL L5 := 0
   LOCAL L6, L7 := .F.
   LOCAL L8 := .F.
   LOCAL L9, L10
 
   IF FSEEK(P1, 0, 1) > 0
 
      FSEEK(P1, -1, 1)
      L2 := " "
      FREAD(P1, @L2, 1)
 
      IF L2 == CHR(12)
 
         FSEEK(P1, -1, 1)
 
      ELSEIF L2 == CHR(10)
 
         FSEEK(P1, -2, 1)
 
      ENDIF
 
   ENDIF
 
   DO WHILE  !(L7 .OR. L8)
 
      L7 := (L6 := MIN(160, FSEEK(P1, 0, 1))) < 160
      L2 := SPACE(L6)
      FSEEK(P1,  -L6, 1)
      FREAD(P1, @L2, L6)
      FSEEK(P1,  -L6, 1)
      L4 := L2 + L4
      L5 := L5 + L6
      L9 := RAT(CHR(13)+CHR(10), L4)
      L10 := RAT(CHR(12), L4)
      L3 := MAX(L9, L10)
 
      IF L8 := L3 > 0
 
         FSEEK(P1, L3 + IF(L3 == L9, 1, 0), 1)
         L4 := SUBSTR(L4, L3 + 1 + IF(L3 == L9, 1, 0))
 
      ENDIF
 
   ENDDO
 
 
RETURN L4
 
SALUDOS
DANTE


--- El lun 8-jun-09, Hector Jhon Guillen Liendo <hectorjhon59@...> escribió:

De: Hector Jhon Guillen Liendo <hectorjhon59@...>
Asunto: Re: [CA-Clipper] Programa que lee archivos .PRN
A: DesarrolloClipper@...
Fecha: lunes, 8 junio, 2009, 12:29 pm

Hola amigos...utilizo el README.COM para mostrar unos reportes en pantalla, sin
embargo este programita me pone lento el sistema cuando se inicia cualquier otra
aplicacion clipper.
Alguno de ustedes conoce otro programa que haga las mismas funciones que el README.COM.
Saludos y gracias anticipadas por su apoyo.
 
Un abrazo


--- El lun 25-may-09, DesarrolloClipper@ gruposyahoo. com.ar <DesarrolloClipper@ gruposyahoo. com.ar> escribió:

De: DesarrolloClipper@ gruposyahoo. com.ar <DesarrolloClipper@ gruposyahoo. com.ar>
Asunto: [CA-Clipper] Se ha cargado un nuevo archivo en DesarrolloClipper
Para: DesarrolloClipper@ gruposyahoo. com.ar
Fecha: lunes, 25 de mayo de 2009, 6:37 am


Hola,

Este mensaje sirve para notificarle que se ha cargado
un archivo a la sección Archivos del grupo DesarrolloClipper.

Archivo : /DBU.rar
Responsable : alceu11 <alceu11@yahoo. com.br>
Descripción : DBU FOR WINDOWS

Puede acceder al archivo en la dirección

http://ar.groups. yahoo.com/ group/Desarrollo Clipper/files/ DBU.rar

Para más información acerca de cómo compartir archivos con su grupo,
consulte nuestra sección de ayuda en

http://help. yahoo.com/ help/ar/groups/ files

Atentamente,

alceu11 <alceu11@yahoo. com.br>





Yahoo! Cocina
Recetas prácticas y comida saludable
Visitá http://ar.mujer. yahoo.com/ cocina/



¡Obtén la mejor experiencia en la web!
Descarga gratis el nuevo Internet Explorer 8
http://downloads.yahoo.com/ieak8/?l=e1


Lun, 8 de Jun, 2009 5:38 pm

danteriosg
Sin conexión Sin conexión
Enviar correo Enviar correo

Reenviar Mensaje #3527 de 3604 |
Desplegar mensajes Autor Ordenar por fecha

Hola amigos...utilizo el README.COM para mostrar unos reportes en pantalla, sin embargo este programita me pone lento el sistema cuando se inicia cualquier...
Hector Jhon Guillen L...
hectorjhon59
Sin conexión Enviar correo
8 de Jun, 2009
5:30 pm

CON ESTE PROCEDIMIENTO VISUALIZO REPORTES PRN   ** p1 nombre de archivo a visualizar ** p2 fila inicial ** p3 columna inicial ** p4 fila final ** p5 columna...
dante rios
danteriosg
Sin conexión Enviar correo
8 de Jun, 2009
5:38 pm

Hola dante...gracias por responder, lo probare.   Un abrazo ... De: dante rios <danteriosg@...> Asunto: Re: [CA-Clipper] Programa que lee archivos .PRN ...
Hector Jhon Guillen L...
hectorjhon59
Sin conexión Enviar correo
9 de Jun, 2009
3:24 pm

Hola Pasales...es un programa con extension .com Ahi te lo envio...no creo que puedas hacer gran cosa. Un abrazo PD.- Utilizo el freetslice para liberar...
Hector Jhon Guillen L...
hectorjhon59
Sin conexión Enviar correo
9 de Jun, 2009
3:30 pm

Hola Dante....la rutina funciona de maravilla, gracias.   Un abrazo ... De: dante rios <danteriosg@...> Asunto: Re: [CA-Clipper] Programa que lee...
Hector Jhon Guillen L...
hectorjhon59
Sin conexión Enviar correo
16 de Jun, 2009
12:06 pm
Avanzado

Copyright © 2009 Yahoo! de Argentina S.R.L. Todos los derechos reservados.
Política de privacidad - Condiciones del Servicio - Reglas de la comunidad de Yahoo! - Ayuda