Página 1 de 1
OPERACAO NAO SUPORTADA
Enviado: 08 Set 2022 16:03
por Linguagemclipper
Deu esse erro "DOS Error 38" aqui comigo, mas percebí que os DBFs foram zerados...
Instante de pânico!
O backup foi salvo com HB_ZIPFILE() com senha no programa compilado em xHarbour e restaurado no Harbour... zerou tudo!
Agora vou ter que descobrir por quê que um não funciona com outro. Estou resolvendo minhas pendengas com o Harbour e migrando meu sistema do xHarbour para Harbour, mas toda vez tem uma treta.
Sorte que foi numa pasta de teste.
OPERACAO NAO SUPORTADA
Enviado: 08 Set 2022 18:25
por JoséQuintas
Linguagemclipper escreveu:O backup foi salvo com HB_ZIPFILE() com senha no programa compilado em xHarbour e restaurado no Harbour... zerou tudo!
Tá usando LIB gráfica?
As LIBs gráficas tendem a usar versões diferentes de tudo, por causa que XHarbour não tem, e costumam causar defeito no Harbour.
Parece até algo do tipo "o concorrente que se exploda".
Entendi direito? backup e restore é pelo programa?
Não que eu tenha tido problema, mas meu ZIP é pelo Harbour, e o UNZIP é pelo WINDOWS.
Uso o Windows pra UNZIP, restauro pelo HEIDISQL no MySQL, e depois rodo o aplicativo.
DBF ou MySQL, total ou meio a meio, tanto faz.
Backup é pra emergência, pra horas de problema.
Vai invertar moda pra essas horas.... aí é pedir por problema.
OPERACAO NAO SUPORTADA
Enviado: 08 Set 2022 21:33
por Linguagemclipper
Eu quis dizer que tive esse mesmo erro "DOS Error 38", mas acabei citando uma função que não era do Clipper... ok, desculpe. Não estou usando lib gráfica.
Eu faço um backup diário localmente e um backup remoto que possibilita ler os bancos de dados em Home Office.
Descobrí que tinha posto a senha errada no HB_UNZIPFILE() por conta de um outro erro no oFTP:LISTFILES() que não trouxe as datas dos arquivos corretamente. Entretanto, o HB_UNZIPFILE() não deveria ter retornado .T. quando a senha está errada.
No xHarbour a função descompacta estando a senha certa ou errada, porém retorna .F. se errou a senha. Porém, no Harbour parece que retorna .T. quando consegue descompactar...
Returns
lCompress .T. if all file was successfully restored, otherwise .F.
Eu faço a descompactação em um diretório temporário e se retornar .T. eu copio desta pasta sobrescrevendo o diretório do sistema e depois apago esse temporário. Funcionava legal no xHarbour. Como é que eu vou saber se a senha do ZIP estava correta no Harbour?
Código: Selecionar todos
lUNZIP := HB_UNZIPFILE(cBACKUP, bUNZIP, ,cSEN1 ,cDIRTMP, aEXTRACT )
aFILES := DIRECTORY(cDIRTMP+"*.*")
IF lUNZIP
MSGRODA("SUCESSO! Copiando os arquivos para a pasta do sistema...", "W+/BG")
// COPIA OS ARQUIVOS DESCRIPTOGRAFADOS PARA A PASTA ATUAL
// SE ARQUIVO EXISTIR, SOBRESCREVE SEM AVISO
// COPY FILE &(cDIRTMP+"*.*") TO &(cCURDIR+"*.*")
AEval( aFiles, { |aFile| FILECOPY( cDIRTMP+aFile[1], cCURDIR+aFILE[1] ) } )
ALERT("RESTAURAÇÃO DO BACKUP REALIZADO COM SUCESSO!")
ELSE
ALERT("FALHA NA RESTAURAÇÃO DO BACKUP. ERROU A SENHA?")
ENDIF
// APAGA A SUBPASTA TEMP
IF ISDIR(cDIRTMP)
AEval( aFiles, { |aFile| FILEDELETE( cDIRTMP+aFile[1] ) } )
nERRO := DirRemove( cDIRTMP ) // APAGA DIRETÓRIO TEMPORÁRIO
FILEDELETE( cBACKUP )
ENDIF
OPERACAO NAO SUPORTADA
Enviado: 09 Set 2022 09:20
por Itamar M. Lins Jr.
Olá!
Porém, no Harbour parece que retorna .T. quando consegue descompactar...
Pois, é o correto então!
Retorno T se deu certo e F caso não descompacte.
Saudações,
Itamar M. Lins Jr.
OPERACAO NAO SUPORTADA
Enviado: 09 Set 2022 09:31
por carlaoonline
Bom dia!
Linguagemclipper escreveu:mas toda vez tem uma treta.
kkkkkkk Parece eu, migrando do console para Gui...... bem vindo ao clube!!!
OPERACAO NAO SUPORTADA
Enviado: 09 Set 2022 12:31
por Linguagemclipper
Pessoal, só pra fechar o tópico: Não tem nada de errado ou diferente na função HB_UNZIPFILE(). Funcionam exatamente iguais no Harbour e xHarbour, o problema é que coloquei a senha errada mesmo.
O HB_UNZIPFILE() vai sempre descompactar os arquivos, acertando ou não a senha, mas vai retornar .F. se a senha estiver errada.
Se a senha estiver errada você não consegue abrir os bancos de dados.