Descobrir a extensão de um arquivo
Olá pessoal, tudo bem? Espero que sim..
Tem algum jeito de eu descobrir a extensão de um arquivo? Tipo, vou explicar o porque disso.
To fazendo um programinha pra fazer Backup/Restore de bancos Firebird e Interbase. Sei que o comando é o mesmo pros dois, e to usando o IbBackService e o IbRestoreService pra isso.
Então como eu to fazendo. O usuário seleciona um arquivo numa OpenDialog, depois seleciona o caminho onde vai ser criado o backup e clica no botão, e ele cria o backup, a mesma coisa pro restore.
Só que na hora de criar o backup, eu coloco assim:
Pra ele criar no diretório selecionado, com o nome Backup mais a hora de criação mais a extensão fbk.
E o restore uso assim:
Pra ele criar o arquivo com o nome de DADOS.FDB.
E o q eu quero fazer é o seguinte. Se o banco selecionado tiver a extensão GDB, ele cria um backup com a extensão GBK, e se o backup selecionado tiver a extensão GBK, ele restaura o banco com a extensão GBD.
Desse jeito que to fazendo, ele só faz backup com extensão fbk e restauraçao com extensao fdb.
Grato pela ajuda. :D
Tem algum jeito de eu descobrir a extensão de um arquivo? Tipo, vou explicar o porque disso.
To fazendo um programinha pra fazer Backup/Restore de bancos Firebird e Interbase. Sei que o comando é o mesmo pros dois, e to usando o IbBackService e o IbRestoreService pra isso.
Então como eu to fazendo. O usuário seleciona um arquivo numa OpenDialog, depois seleciona o caminho onde vai ser criado o backup e clica no botão, e ele cria o backup, a mesma coisa pro restore.
Só que na hora de criar o backup, eu coloco assim:
BackupFile.Text := EdtDestinoCriar.Text+´\Backup´+ FormatDateTime(´(yyyy.mm.dd.hhnn)´, now)+´.fbk´;
Pra ele criar no diretório selecionado, com o nome Backup mais a hora de criação mais a extensão fbk.
E o restore uso assim:
DataBaseName.Add(EdtDestinoRestaurar.Text+´\DADOS.FDB´);
Pra ele criar o arquivo com o nome de DADOS.FDB.
E o q eu quero fazer é o seguinte. Se o banco selecionado tiver a extensão GDB, ele cria um backup com a extensão GBK, e se o backup selecionado tiver a extensão GBK, ele restaura o banco com a extensão GBD.
Desse jeito que to fazendo, ele só faz backup com extensão fbk e restauraçao com extensao fdb.
Grato pela ajuda. :D
Aersoftware
Curtidas 0
Respostas
Marcio.theis
17/05/2007
User a função [b:38a9cbd1dc]ExtractFileExt()[/b:38a9cbd1dc], precisa somente passar entre os parênteses o arquivo.
GOSTEI 0
Aersoftware
17/05/2007
Marcio, mas essa função não vai extrair todo nome do arquivo? Tipo DADOS.FDB, aí como eu iria separar a extensão do nome do arquivo?
GOSTEI 0
Massuda
17/05/2007
No seu exemplo: ExtractFileExt(´dados.fdb´) retorna ´.fdb´ (note que tem o ponto).
GOSTEI 0
Aersoftware
17/05/2007
Hmmm, certo, então acho que confundi o ´Extract´, pois eu uso um pra pegar o nome de um arquivo, excluindo o caminho dele, tipo, se tenho C:\Arquivos de Programas\Dados\Dados.fdb, ele me retornaria Dados.fdb. Acho que confundi, vou testar esse, valeu pessoal. :D
GOSTEI 0
Massuda
17/05/2007
ExtractFileExt tem alguns ´irmãos´...
ExtractFileDrive
ExtractFileName
ExtractFilePath
...e alguns ´primos´...
ChangeFileExt
ExpandFileName
ExtractRelativePath
ExtractShortPathName
...você provavelmente pensou no membro ´mais popular´ da família, ExtractFileName.
ExtractFileDrive
ExtractFileName
ExtractFilePath
...e alguns ´primos´...
ChangeFileExt
ExpandFileName
ExtractRelativePath
ExtractShortPathName
...você provavelmente pensou no membro ´mais popular´ da família, ExtractFileName.
GOSTEI 0