WBrowse Hernan 17 FTDN Agosto

Post Reply
User avatar
mag071
Posts: 139
Joined: Thu Feb 02, 2006 12:09 pm
Location: Venezuela
Contact:

WBrowse Hernan 17 FTDN Agosto

Post by mag071 »

Saludos,

Soy usuario de FTDN con la ultima version ya pude compilar y ejecutar pero como no pude generar de nuevo la lib del wbrowse y como uso verce lo que hice fue añadir los PRG y el wbrwline.c al proyecto y todo comenzo bien, ahora cuando estoy intentando mostrar un archivo de texto via browse con oLbx:SetTXT( cArchivo ) alli me revienta la aplicacion generandome el siguiente error
Error description: Error BASE/1092 Argument error: MIN
Args:
[ 1] = N 1
[ 2] = U

Stack Calls
===========
Called from: => MIN(0)
Called from: => TWBROWSE:DEFAULT(1820)

si alguien pudo crear la LIB con esta version se lo agradeceria
esto es cuando intento ver un archivo de texto por el browse ya que con registros dbf y arreglos todo ok.

uso Harbour Compiler Alpha build 46.2 (Flex)
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
Ftdn Agosto

Gracias.
Mario Antonio González Osal
Venezuela
m a g 0 7 1 @ g m a i l. c o m
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Mario,

Que código hay en la línea 1820 ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
mag071
Posts: 139
Joined: Thu Feb 02, 2006 12:09 pm
Location: Venezuela
Contact:

Post by mag071 »

Antonio,

En la linea 1820
if lAnd( GetWindowLong( ::hWnd, GWL_STYLE ), WS_VSCROLL ) .or. ;
GetClassName( ::hWnd ) == "ListBox"

::nLen := Eval( ::bLogicLen )
If ::bLogicPos == Nil // CeSoTech
DEFINE SCROLLBAR ::oVScroll VERTICAL OF Self ;
RANGE Min(1, ::nLen), ::nLen
Else
DEFINE SCROLLBAR ::oVScroll VERTICAL OF Self RANGE 1, If(::nLen==0,0,100)
EndIf
::oVScroll:SetPage( Min( ::nRowCount(), ::nLen - 1 ) )

endif

este wbrowse lo baje desde la direccion
http://hyperupload.com/download/026cd92 ... r.exe.html
en la seccion utilidades de este foro con el titulo de Hernan Browse - files.

Gracias
Mario Antonio González Osal
Venezuela
m a g 0 7 1 @ g m a i l. c o m
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Mario,

Inserta este MsgInfo() para comprobar el valor de ::nLen

Code: Select all

If ::bLogicPos == Nil // CeSoTech 
   MsgInfo( ::nLen )
   DEFINE SCROLLBAR ::oVScroll VERTICAL OF Self ; 
      RANGE Min(1, ::nLen), ::nLen 
y dinos que valor te aparece. Gracias
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
mag071
Posts: 139
Joined: Thu Feb 02, 2006 12:09 pm
Location: Venezuela
Contact:

Post by mag071 »

Antonio ,

MsgInfo( ::nLen )
me retorna NIL

Gracias.
Mario Antonio González Osal
Venezuela
m a g 0 7 1 @ g m a i l. c o m
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Mario,

Eso quiere decir que ::bLogicLen no está bien definido, ya que debería retornar el número de registros. De ahí el error al hacer el Min()
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
mag071
Posts: 139
Joined: Thu Feb 02, 2006 12:09 pm
Location: Venezuela
Contact:

Post by mag071 »

::bLogicLen cuando entro a un browse en la misma aplicacion por ejemplo en browse dentro de folder si me retorna el numero de registros solo me pasa cuando lo hago con oLbx:SetTXT( Archivo.TXT )
Mario Antonio González Osal
Venezuela
m a g 0 7 1 @ g m a i l. c o m
User avatar
mag071
Posts: 139
Joined: Thu Feb 02, 2006 12:09 pm
Location: Venezuela
Contact:

Post by mag071 »

aqui se nota que si esta definida ::bLogicLen
METHOD SetTXT( uTXT ) CLASS TWBrowse
LOCAL cType, oTXT

DEFAULT uTXT:= ""
cType:= Valtype( uTXT )

If cType == "C"
If !File( uTXT )
uTXT:= cGetFile( "*.txt", "Text Files" )
If !File( uTXT )
return .F.
EndIf
EndIf
::oTXT:= oTXT:= TTxtFile():New( uTXT, 0 )
ElseIf cType == "O"
oTXT:= uTXT
Else
return .F.
EndIf

::lDrawHeaders := .F.
::aHeaders := { "" }
::aJustify := { .F. }
::aColSizes := { 2000 }
::nLineStyle := 0
::cAlias := "_TXT_"
::bLine := { |cLine| cLine:= oTXT:ReadLine(),;
If( IsOem( cLine ), cLine:= OemToAnsi( cLine ),),;
{ SubStr( cLine, ::nTXTFrom ) } }
::bLogicLen := { || ::nLen := oTXT:RecCount() }
::bLogicPos := nil
::bGoLogicPos := nil
::bGoTop := { || oTXT:GoTop() }
::bGoBottom := { || oTXT:GoBottom() }
::bSkip := { | nSkip, nOld | nOld:= oTXT:RecNo(), ;
oTXT:Skip( nSkip ), ;
oTXT:RecNo() - nOld }
return nil

lo que pasa es que estoy observando otro comportamiento extraño con archivos de textos dentro de mi aplicacion.
que es cuando hago un copy file

COPY FILE "\LOTERV32\RC\VACIA.TXT" TO &(cFile)
por primera vez me lo ejecuta sin problemas cuando lo hago en la segunda me genera el siguiente error :
Application
===========
Path and name: H:\LOTERV32\VENDELOT.Exe (32 bits)
Size: 625,152 bytes
Time from start: 0 hours 0 mins 19 secs
Error occurred at: 09/09/2006, 19:43:15
Error description: (DOS Error 32) BASE/2012 Create error: \loterV32\UltTik.txt

Stack Calls
===========
Called from: => __COPYFILE(0)
Called from: => TVENTAS:IMPRIMIRT4(6940)
Called from: => TVENTAS:HACERTICKET(5438)

pero cuando pasa por la linea la segunda vez la primera vez lo crea sin problema.

la otra que otras opciones tengo para mostrar un archivo de texto en un dialogo y que de otras maneras puedo hacer un copy file

Gracias.
Mario Antonio González Osal
Venezuela
m a g 0 7 1 @ g m a i l. c o m
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Mario,

oTXT:RecCount() debe estar devolviendo nil. Quizá el fichero no se ha podido abrir y ese es el problema.

DOS error 32 es error de compartición. Tu aplicación tiene el fichero abierto aún y por eso no puedes sobreescribirlo. Ciérralo antes.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
mag071
Posts: 139
Joined: Thu Feb 02, 2006 12:09 pm
Location: Venezuela
Contact:

Post by mag071 »

lo extraño es que es una aplicacion que ya estaba funcionando sin ninguna modificacion con el FTDN Junio del año pasado sin estos problemas
y lo que pasa es que ya no puedo hechar atras porque ya le meti a los dialogos brush transparente y funciones de los ultimos FTDN se que debe haber algo ahora con los TXT pero como no soy un experto en esto no se que decirte ahora que otra forma puedo crear un archivo de texto yo usaba hasta ahora tdosprn y disculpa la pregunta ando como bruto hoy :-) algun ejemplo en fwh/samples
Muchas Gracias Antonio.
Mario Antonio González Osal
Venezuela
m a g 0 7 1 @ g m a i l. c o m
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Mario,

Que tamaño tiene el fichero de texto que vas a mostrar ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
mag071
Posts: 139
Joined: Thu Feb 02, 2006 12:09 pm
Location: Venezuela
Contact:

Post by mag071 »

Son Archivos pequeños. que van entre 1Kb. hasta 40Kb
Mario Antonio González Osal
Venezuela
m a g 0 7 1 @ g m a i l. c o m
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Mario,

Entonces podrías usar un GET multilínea ó un RichEdit si quieres que el texto tenga distintos colores y fonts.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
mag071
Posts: 139
Joined: Thu Feb 02, 2006 12:09 pm
Location: Venezuela
Contact:

Post by mag071 »

Antonio,

Muy agradecido por tus comentarios me funciono un get multilinea
todo ok.

Gracias.
Mario Antonio González Osal
Venezuela
m a g 0 7 1 @ g m a i l. c o m
Post Reply