Clarion - QUEUE Busqueda repitencias

 
Vista:
sin imagen de perfil
Val: 14
Ha mantenido su posición en Clarion (en relación al último mes)
Gráfica de Clarion

QUEUE Busqueda repitencias

Publicado por Cristian (136 intervenciones) el 13/12/2021 05:26:20
Hola:
Tengo una QUEUE la cual contiene una lista de archivos de una carpeta. Estos archivos son backup de la base de datos. Cada archivo posee el formato "BackupANNO_MES_DIA_X.BAK" donde anno es el año de 4 digitos, mes es el numero de mes, dia, es el numero de dia, y X seria un numero entero que se incrementa en caso de que se realice mas de una copia de seguridad durante el dia.
Por ejemplo, si el 28-11-2021 realizo una copia la misma tiene el nombre "backup20211128_1.bak", si ese dia realizo otra copia, deberia tener el nombre "backup20211128_2.bak", y asi. La cuestion es que no logro encontrar la forma de hacerlo.
He programado el siguiente codigo sin exito
GLO:ContadorArchivosBackup = 1
GLO:NombreBackup = 'BACKUP'&CLIP(GLO:AnnoParaBackup)&CLIP(GLO:MesParaBackup)&CLIP(GLO:DiaParaBackup)&'_'&CLIP(GLO:ContadorArchivosBackup)&'.BAK'

GLO_Archivos_Backups = GLO:NombreBackup

LOOP
GET(GLO_ListaArchivosBackups,GLO_Archivos_Backups)
MESSAGE ('LISTA: '&GLO_ListaArchivosBackups,GLO_Archivos_Backups)
MESSAGE ('NOMBRE GENERADO: '&GLO:NombreBackup)

IF CLIP(GLO_ListaArchivosBackups.GLO_Archivos_Backups) = CLIP(GLO:NombreBackup) THEN
MESSAGE('YA EXISTE ARCHIVO: '&clip(GLO_ListaArchivosBackups.GLO_Archivos_Backups)&'/'&CLIP(GLO:NombreBackup))
GLO:ContadorArchivosBackup = GLO:ContadorArchivosBackup + 1
GLO:NombreBackup = 'BACKUP'&CLIP(GLO:AnnoParaBackup)&CLIP(GLO:MesParaBackup)&CLIP(GLO:DiaParaBackup)&'_'&CLIP(GLO:ContadorArchivosBackup)&'.BAK'
GLO_Archivos_Backups = GLO:NombreBackup
DISPLAY()
ELSE
MESSAGE('NO EXISTE ARCHIVO: ')
!GLO:ContadorArchivosBackup = GLO:ContadorArchivosBackup + 1
GLO:NombreBackup = 'BACKUP'&CLIP(GLO:AnnoParaBackup)&CLIP(GLO:MesParaBackup)&CLIP(GLO:DiaParaBackup)&'_'&CLIP(GLO:ContadorArchivosBackup)&'.BAK'
GLO_Archivos_Backups = GLO:NombreBackup
ADD(GLO_ListaArchivosBackups)
BREAK
END

END
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
Imágen de perfil de Martin
Val: 92
Bronce
Ha mantenido su posición en Clarion (en relación al último mes)
Gráfica de Clarion

QUEUE Busqueda repitencias

Publicado por Martin (70 intervenciones) el 17/12/2021 16:36:42
Hola, yo hacía una rutina para buscar nombres de archivos en un directorio, fijate si te sirve:

FREE(QRESULTADO)
IF LOC:BUSCAR <> '' THEN
LOOP Q#=1 TO RECORDS(QArchivos)
GET(QARCHIVOS,Q#)
IF INSTRING(UPPER(Loc:Buscar),UPPER(QARCHIVOS.QA:NOMBRE),LEN(Loc:Buscar),1)
QRESULTADO.NOMBRE = QARCHIVOS.NOMBRE
ADD(QRESULTADO)
END
END
IF RECORDS(QResultado) = 0
MESSAGE('No se encontraron archivos con ese nombre!','Error',ICON:Exclamation)
END
END
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