Saber Si Un Archivo Esta Abierto


Ir a la página Anterior  1, 2, 3

Objetivo: Re: Saber Si Un Archivo Esta Abierto
Vott +1

Perfil MP  
Objetivo: Re: Saber Si Un Archivo Esta Abierto
vuott escribió: [Ver mensaje]
Pero... quizás... no son necesarios Componentes ni complejas funciones externas, para saber....


...o saber si un archivo de ruta y nombre conocidos es modificado o destruído:

Private tempus As Timer
Private dr As String
Private lun As String


Public Sub Main()

dr = "/ruta/del/file"
lun = File.Load(dr)

With tempus = New Timer As "Tempus"
.Delay = 250
.Start
End With

End


Public Sub Tempus_Timer()

Dim s As String

If Exist(dr) Then
s = File.Load(dr)
If lun <> s Then Print "Alguien está modificando el archivo: "; dr
lun = s
Else
Print "\nEl archivo '"; dr; "' ha sido destruído !"
tempus.Stop
Endif

End

Perfil MP  
Objetivo: Re: Saber Si Un Archivo Esta Abierto
El tema con los watch es que operan fuera del ciclo de eventos, al parecer, con lo cual funcionaría, supongo, incluso fuera del form donde se declaran y lanzan... es algo que tengo que probar.

Saludos.

Perfil MP  
Objetivo: Re: Saber Si Un Archivo Esta Abierto
shordi escribió: [Ver mensaje]
...los watch es que operan fuera del ciclo de eventos


No llego a comprender.
Cuando escribimos:
.....Open .... For Read Watch

Public Sub File_Read()
....

no ponemos un evento ?


Y el Componente gb.inotify no tiene sus Eventos ?
http://gambaswiki.org/wiki/comp/gb.inotify/watch?nh

No comprendo lo que quieres decir.

última edición por vuott el Lunes, 14 Marzo 2016, 13:06; editado 2 veces
Perfil MP  
Objetivo: Re: Saber Si Un Archivo Esta Abierto
Es que no sé muy bien lo que digo Pero como dije antes y creí que era un bug, el watch no se destruye y el proyecto no finaliza cuando cierras el fomulario principal, queda funcionando hasta que usas QUIT. Eso indica que sigue observando el fichero después de haber cerrado el form, lo que "puede" indicar que siga funcionando "por encima" de los fomularios, de manera que funcione aunque cierres el formulario que lo crea...

Todo muy nebuloso y confuso. Tengo que probarlo y ya te cuento.

Saludos.

Perfil MP  
Objetivo: Re: Saber Si Un Archivo Esta Abierto
...también añadiría esta página que he escrito en el WIKI del foro italiano:

http://www.gambas-it.org/wiki/index...tate_ad_un_file

Perfil MP  
Objetivo: Re: Saber Si Un Archivo Esta Abierto
Tincho, te hago algunos comentarios sobre la clase de LaTeX que subiste (el trabajo de Julio es fabuloso)

textocadena &= "\\usepackage[dvips,dvipsnames,usenames]{color}" & gb.CrLf

deberias dejarla así

textocadena &= "\\usepackage[usenames]{color}" & gb.CrLf

ya que estás compilando con el driver de pdftex, y las opciones de color dvips y dvips son para el caso en que compiles con LaTeX y obtengas un DVI y luego lo conviertas a pdf con dvi2pdf, así es como se hacia antiguamente hasta que apareció pdftex (el viejo método se sigue usando si utilizas gráficos eps)

textocadena &= "\\usepackage[utf8]{inputenc} % Escribir con acentos, ñ, ..." & gb.CrLf

debes dejarla así

textocadena &= "\\usepackage[spanish,es-ucroman]{babel}" & gb.CrLf
textocadena &= "\\usepackage[utf8]{inputenc}" & gb.CrLf
textocadena &= "\\usepackage[T1]{fontenc}" & gb.CrLf

ya que solo le dices que tipo de entrada tienes pero te está faltando decirle la codificación de tus fuentes tipográficas y el idioma que usas por defecto, si en el futuro quisieras hacer informes en otro idioma que no use los caracteres arábigos, además si quisieras extender Unicode dentro de tus opciones puedes utf8x y por supuesto sumarle los diccionarios en babel

textocadena &= "\\usepackage[utf8x]{inputenc} % Escribir con acentos, ñ, ..." & gb.CrLf

Sobre los gráficos

textocadena &= "\\DeclareGraphicsExtensions {.pdf,.png,.jpg}" & gb.CrLf 'graficos que se admiten

si vas a compilar con pdftex, esta linea está de más, el driver identifica automáticamente las extensiones de las imágenes.

La línea del retorno de carro

Public Sub CrLf() As String '' Retorno del carro (fin de la linea)

Return Me.texto("", True)

End

puede quedar así que es más práctica

Public Sub CrLf() As String '' Retorno del carro (fin de la linea)

Return Me.texto("\\par", True)

End

Sobre esta línea

Public Sub AmbienteVerbatimInicio() As String ''especialmente para usar para escribir codigo

Dim textocadena As String

textocadena = "\\begin{verbatim}" & gb.CrLf
contenido &= textocadena
Return textocadena

End

verbatim es para escribir con tipografía monoespaciada (como las viejas máquinas de escribir), si necesitas escribir código de algún lenguaje, se usa el paquete Listing (https://www.ctan.org/pkg/listings), fue diseñado especialmente para eso, hace dentro del pdf lo mismo que dentro de esta web hace la opción de escribir código, es decir tabulados, colores, etc.

Cuando trabajas con columnas de cuadros, ya sea porque son cuadros simples o desde una base de datos, además de

formato &= "|p{" & strWidth & "mm}"

debes tener la opción

formato &= "|m{" & strWidth & "mm}"

la diferencia entre p y m, es que esta última justifica el texto del párrafo, esto es muy útil cuando haces informes con párrafos con mucho texto y necesitas que guionice el corte de palabra.

Usar este paquete

textocadena &= "\\usepackage{lscape}" & gb.CrLf

usando el paquete geometry (que lo cargaste antes) es un sinsentido, puedes girar la página desde geometry.

Respecto de las cabeceras, veo que estás usando fancyheader, para hacer informes es como matar mosquitos con un magnun 44, el paquete titlesec de Javier Bezos es casi igual de potente y muchísimo más fácil de implementar

Hay muchos más cambios que se pueden hacer pero en realidad están vinculados al tipo de informe y/o reporte que quieras obtener, hacer una clase quilometrica de código para usar solo unas lineas no tiene mucho sentido, creo que es mejor hacer cambios sobre la clase base.

Por último si quieres saber que tipografías vienen instaladas por default en texlive puedes visitar la página del foro alemán, es la que mejor lo muestra, pero no están todas hay muchas más (http://www.tug.dk/FontCatalogue/).

Te dejo un adjunto para que veas algunas cosas que se pueden hacer, es el presupuesto que hace mi sistema, hecho con gambas

Saludos

última edición por alberto_moyano el Sabado, 13 Agosto 2016, 01:42; editado 1 vez

Ruffini-06.pdf
Descripción:  
Descargar
Nombre del archivo: Ruffini-06.pdf
Tamaño: 111.76 KB
Descargado: 21 veces
Ruffini-06.pdf
Descripción:  
Descargar
Nombre del archivo: Ruffini-06.pdf
Tamaño: 111.76 KB
Descargado: 21 veces
Ruffini-06.pdf
Descripción:  
Descargar
Nombre del archivo: Ruffini-06.pdf
Tamaño: 111.76 KB
Descargado: 21 veces

Objetivo: Re: Saber Si Un Archivo Esta Abierto
Mmmm... Alberto, quizá una entrada tan extensa trabajada e interesante, con ejemplo incluido, mereciese un hilo aparte hablando de Latex en sí mismo, más que una respuesta en la página tres de un hilo sobre archivos abiertos...

Es sólo una sugerencia...

Saludos.

Perfil MP  
Ir a la página Anterior  1, 2, 3

Página 3 de 3


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4335s (PHP: -79% SQL: 179%)
Consultas SQL: 48 - Debug off - GZIP Activado