Função DiskFormat
Moderador: Moderadores
-
DLZ
- Usuário Nível 3

- Mensagens: 184
- Registrado em: 09 Jun 2008 10:09
- Localização: Ibirubá - RS - Brasil
Função DiskFormat
Bom dia..
Miggrei um programa de clipper para Xharbour e encontrei um probleminha.. No programa em Clipper eu utilizava a função Diskformat da CT.LIB para formatar um disquete. Essa mesma função existe no Xharbour, porém é apresentado na tela o processo da formatação, como se eu estivesse formatando pela linha de comando do prompt.. Mostra o percentual, depois pede volume. etc... Detonando as telas do sistema...
Isso tem solução ?? ou existe outra forma de formatar o disco no xharbour ??
Um abraço..
Miggrei um programa de clipper para Xharbour e encontrei um probleminha.. No programa em Clipper eu utilizava a função Diskformat da CT.LIB para formatar um disquete. Essa mesma função existe no Xharbour, porém é apresentado na tela o processo da formatação, como se eu estivesse formatando pela linha de comando do prompt.. Mostra o percentual, depois pede volume. etc... Detonando as telas do sistema...
Isso tem solução ?? ou existe outra forma de formatar o disco no xharbour ??
Um abraço..
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Função DiskFormat
Dercio,
Dando um pesquisada em uma função que inverta a possição dos cacter, acabei achando na libnf.lib(NANFOR), umas rotinas para disquete, só não testei, pode tentar testar para ver se tem algo que ajude, procure pelo aruivo FLOPTST.PRG nas CVS do xharbour.
Dando um pesquisada em uma função que inverta a possição dos cacter, acabei achando na libnf.lib(NANFOR), umas rotinas para disquete, só não testei, pode tentar testar para ver se tem algo que ajude, procure pelo aruivo FLOPTST.PRG nas CVS do xharbour.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
-
DLZ
- Usuário Nível 3

- Mensagens: 184
- Registrado em: 09 Jun 2008 10:09
- Localização: Ibirubá - RS - Brasil
Re: Função DiskFormat
Ola Leandro.
Obrigado pela dica, mas essa lib só tem funções de verificação do disquete, tipo... Status do driver, Espaço disponível... etc.. Não achei nada que formate o disquete...
Obrigado pela dica, mas essa lib só tem funções de verificação do disquete, tipo... Status do driver, Espaço disponível... etc.. Não achei nada que formate o disquete...
Re: Função DiskFormat
Do Manuel do xHarbour.
Veja se isto ajuda. Nunca usei, mas pela documentação é o que vc quer.
Veja se isto ajuda. Nunca usei, mas pela documentação é o que vc quer.
DiskFormat()
Formats a floppy disk.
Syntax
DiskFormat( [<cDrive>] , ;
[<nCapacity>] , ;
[<cUDF>] , ;
[<cBootText>] , ;
[<nRepetitions>], ;
[<cVolLabel>] , ;
[<lBoot>] , ;
[<lQuickFormat>] ) --> nErrorCode
Arguments
<cDrive>
This parameter specifies the floppy drive to use. It can be either an upper case A or B, indicating the drive letter. The default value is A.
<nCapacity>
An optional numeric value specifying the capacity of the floppy disk. It defaults to 0. Valid values are 160, 180, 320, 360, 640, 720, 1200, 1440 and 2880.
<cUDF>
This parameter exists for compatibility reasons but is ignored.
<cBootText>
This parameter exists for compatibility reasons but is ignored.
<nRepetitions>
This parameter exists for compatibility reasons but is ignored.
<cVolLabel>
An optional character string of max. 11 characters can be specified for the volume label of the floppy disk.
<lBoot>
This parameter exists for compatibility reasons but is ignored.
<lQuickFormat>
This parameter defaults to .F. (false). When set to .T. (true) the floppy disk is formatted in "quick format" mode. Return
The function returns a DosError() compatible error code as a numeric value. When the floppy disk is successfully formatted, the error code is zero.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
{POG - Programação Orientada a Gambiarra}
-
DLZ
- Usuário Nível 3

- Mensagens: 184
- Registrado em: 09 Jun 2008 10:09
- Localização: Ibirubá - RS - Brasil
Re: Função DiskFormat
Ola GVC...
Eu já conheço essa função, inclusive a uso nos programas em clipper.. O problema é o seguinte:
No clipper, essa função é da CA-TOOLS e funciona perfeitamente, porém somente formata os discos com FAT32, impossibilitando copiar qualquer arquivo no windows XP por se tratar de NTFS.
No Xharbour essa função até formata com NTFS, porém ele apenas chama o Format do sistema operacional. É a mesma coisa que usar RUN Format a:
Dessa forma, o usuário tem que confirmar volume, confirmar se o disco está no drive, no final dizer se quer formatar outro disco, etc...
Eu já conheço essa função, inclusive a uso nos programas em clipper.. O problema é o seguinte:
No clipper, essa função é da CA-TOOLS e funciona perfeitamente, porém somente formata os discos com FAT32, impossibilitando copiar qualquer arquivo no windows XP por se tratar de NTFS.
No Xharbour essa função até formata com NTFS, porém ele apenas chama o Format do sistema operacional. É a mesma coisa que usar RUN Format a:
Dessa forma, o usuário tem que confirmar volume, confirmar se o disco está no drive, no final dizer se quer formatar outro disco, etc...
Re: Função DiskFormat
Os parâmetros no xHarbour não funcionam?
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
{POG - Programação Orientada a Gambiarra}
-
DLZ
- Usuário Nível 3

- Mensagens: 184
- Registrado em: 09 Jun 2008 10:09
- Localização: Ibirubá - RS - Brasil
Re: Função DiskFormat
Os parâmetros funcionama, só aparece todo o processo de formatação na tela como seu eu tivesse didigitado Format a: no prompt de comando do windows... Além de acabar com a telas do sistema, o usuário tem que ficar confirmando um monte de coisa..
Re: Função DiskFormat
DLZ, uma sugestão meio doida, mas quem sabe não dá certo: e se você fizer um programa em Clipper, só com a formatação (usando a tal função da CATools que vc sabe que dá certo), e chamar esse EXE Clipper a partir do seu EXE xHarbour, usando o RUN?
Como talvez não dê para passar parâmetros entre um e outro EXE, vc faz Clipper formatar o disquete e depois gravar um TXT com a informação (OK ou Não OK). O xHarbour lê esse segundo arquivo e interage com o usuário (refazer etc.)
Como talvez não dê para passar parâmetros entre um e outro EXE, vc faz Clipper formatar o disquete e depois gravar um TXT com a informação (OK ou Não OK). O xHarbour lê esse segundo arquivo e interage com o usuário (refazer etc.)
-
DLZ
- Usuário Nível 3

- Mensagens: 184
- Registrado em: 09 Jun 2008 10:09
- Localização: Ibirubá - RS - Brasil
Re: Função DiskFormat
Eolo.. eu já pensei em fazer isso, mas a função não funciona no Clipper qdo o windows é xp ou superior. O problema é o seguinte:
Na época em que a CA-TOOLS foi atualizada pela última vez, não existia outro tipo de partição que não o Fat32, então a função diskformat da Ca-Tools formata o disquete de forma fixa com FAT32. Se eu formato um disquete com Fat32 e tento copiar um arquivo para esse disco num windows XP intalado numa partição NTFS, da pau, não funciona.. No Xharbour essa função simplesmente invoca o Format do sistema operacional, ai formata no formato do windows, mas ai tem o problema da telas...
Não sei se me fiz entender..
Na época em que a CA-TOOLS foi atualizada pela última vez, não existia outro tipo de partição que não o Fat32, então a função diskformat da Ca-Tools formata o disquete de forma fixa com FAT32. Se eu formato um disquete com Fat32 e tento copiar um arquivo para esse disco num windows XP intalado numa partição NTFS, da pau, não funciona.. No Xharbour essa função simplesmente invoca o Format do sistema operacional, ai formata no formato do windows, mas ai tem o problema da telas...
Não sei se me fiz entender..
Re: Função DiskFormat
Estranho... uns dias atrás alguém me passou um EXE (o nome é Win98.exe) que formata disquetes sob o XP, mas para o Win98. Eu precisava desse disquete porque tava experimentando o VMWare e queria fazer um disco vistual do 98.
Então, se esse EXE formata um disqeute com FAT32 sob o XP, o CATools não deveria também? Você chegou a testar isso?
Se vc quiser, ma add no MSN, aí eu lhe mando esse Win98.exe.
COMPLEMENTANDO: joguei essa função DISKFORMAT() num programa em Clipper 52e / Blinker 7 / Modo Protegido, e ele fez a formatação do disquete sem problemas. Logo depois da formatação, ainda dentro do programa, mandei copiar um arquivo qualquer pro disquete e a cópia foi feita normalmente... E eu uso o XP.
Mais: fui no Windows Explorer e mandei ler e gravar coisas do/no disquete. Normal.
Então, se esse EXE formata um disqeute com FAT32 sob o XP, o CATools não deveria também? Você chegou a testar isso?
Se vc quiser, ma add no MSN, aí eu lhe mando esse Win98.exe.
COMPLEMENTANDO: joguei essa função DISKFORMAT() num programa em Clipper 52e / Blinker 7 / Modo Protegido, e ele fez a formatação do disquete sem problemas. Logo depois da formatação, ainda dentro do programa, mandei copiar um arquivo qualquer pro disquete e a cópia foi feita normalmente... E eu uso o XP.
Mais: fui no Windows Explorer e mandei ler e gravar coisas do/no disquete. Normal.
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: Função DiskFormat
fui eu... uns dias atrás alguém me passou um EXE (o nome é Win98.exe)
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
Re: Função DiskFormat
Ah, é! Foi o Alamino quem mandou.
Mas para o que o DLZ quer, nem esse Win98.exe nem o diskformat() do xHarbour resolvem, porque ambos pedem confirmações e mostram a evolução da formatação na tela, atrapalhando as telas do sistema dele.
Ao contrário, se fizer um "formata.exe" em Clipper, com a diskformat() do CATools Clipper, e chamar esse exe a partir do programa em XHarbour, resolve a parada. Testei aqui e funcionou.
Mas para o que o DLZ quer, nem esse Win98.exe nem o diskformat() do xHarbour resolvem, porque ambos pedem confirmações e mostram a evolução da formatação na tela, atrapalhando as telas do sistema dele.
Ao contrário, se fizer um "formata.exe" em Clipper, com a diskformat() do CATools Clipper, e chamar esse exe a partir do programa em XHarbour, resolve a parada. Testei aqui e funcionou.
Re: Função DiskFormat
... Disquete ??
Amigos, o Marechal Deodoro ainda era cabo quando inventaram isso !!
[]´s
Netavin
Amigos, o Marechal Deodoro ainda era cabo quando inventaram isso !!
[]´s
Netavin
TK90 / TK95 / APPLE IIe / 286 / 386 / 486 / 586 / AMD Atlhon
" Sem saber que era impossível, foi lá e fez !! "
" Sem saber que era impossível, foi lá e fez !! "