Página 1 de 1

Criação de Diretórios

Enviado: 08 Jul 2004 09:48
por Joel
:?:
Olá pessoal.

Alguém sabe como criar um subdiretório sem usar o comando RUN.
Hoje faço assim: ! MD "C:\REPORT\"
Gostaria de obter uma maneira que não fosse externa ao programa por problema de memória.

Um abraço a todos.

Enviado: 08 Jul 2004 10:05
por Toledo
Joel,

Você pode utilizar a função DIRMAKE() da biblioteca CATools (CT.LIB).

Exemplo:

Código: Selecionar todos

IF DIRCHANGE("\REPORT") == -3   //se não encontrou a pasta
  DIRMAKE("\REPORT")
ENDIF
Veja também nesta biblioteca as funções DIRCHANGE(), DIRNAME() e DIRREMOVE().

Abraços,

Enviado: 08 Jul 2004 10:06
por tonyx
no programa
TESTE DE EXISTENCIA DO DIRETORIO PRIMEIRO
DIR_TST = ´C:\TESTE
ARQ_DAT:= DIR_TXT+´\ARQUIVO.DAT´
TST_DBF:= DIR_TST+´\*.DBF´
TST_DAT:= DIR_TST+´\*.DAT´
IF ! FILE(TST_DBF) .OR. ! FILE(TST_DAT)
RUN MD &DIRETORIO > NULL
TESTE2 = FCREATE(ARQ_DAT,0)
IF TESTE2 = 1
WAIT ´NAO CONSIQUI CRIAR DIRETORIO´
ELSE
FWRITE(TESTE2,´TESTE DE GRAVACAO DE ARQUIVO DAT´)
FCLOSE(TESTE2)
ENDIF
ENDIF


*------ A QUESTAO DA MEMORIA COPILAR COM EXOSPACE ----

Enviado: 08 Jul 2004 10:10
por Joel
:D
Value Toledo. Vou testar.

Muito obrigado.

Enviado: 08 Jul 2004 10:12
por Joel
:D
Olá Tonyx.

Valeu a ajuda. Mas justamente o que eu não quero é usar o comando RUN.
Aqui na Empresa nos usamos o ADS e essa ferramenta obriga o uso do BLINK.

Mas valeu a atenção.

Um abraço.

Enviado: 08 Jul 2004 10:18
por MARINI
Se usa o BLINKER dê uma estudada no
SWPRUNCMD("MD\ diretorio")

Enviado: 08 Jul 2004 10:35
por Joel
:P
Olá Marini.

Que função é essa: SWPRUNCMD("MD\ diretorio")?
Onde a encontro?

Um abraço.

Enviado: 08 Jul 2004 11:07
por MARINI
É uma das funções especificas do BLINKER.
No manual tem diversas delas.
Ela funciona semelhante ao RUN mas não ocupa memória
pois o RUN carrega o COMMAND.COM para cada chamada.
Se precisar executar um outro programa, por exemplo, basta
escrever SWPRUNCMD("C:\DIR\NOME DO PROGRAMA").
No caso em questão basta criar a seguinte linha do seu fonte:

SWPRUNCMD("MD C:\REPORT")

Se o diretório já existir não faz nada, daí não ser
necessário acrescentar uma rotina para verificação.
Se o diretório não existir será criado um novo.
Faça o teste.
Sds

Marini

Enviado: 08 Jul 2004 11:35
por Joel
Olá marini.

Fiz do jeito que você indicou:

SWPRUNCMD("MD C:\REPORT")

Não dá erro na compilação, linkedição ou execução mas também não cria o diretório.
O que poderia estar dando errado?

Uso o clip52e, blinker e o ADS

Abraços.

Enviado: 08 Jul 2004 17:09
por Joel
:(
Olá Toledo.

Eu esquci de comentar que eu uso o clipper 52e e as funções que você me passou me parece que são da 53. Você tem outra solução?

Abraços.

Enviado: 08 Jul 2004 23:41
por Toledo
Joel,

Estas funções são da biblioteca CA-Tools (CT.LIB) que pode ser usada pelo Clipper 5.2e, mas para isto, você tem que ter a CT.LIB ai na pasta LIB do seu Clipper e incluir ela na hora de linkar o seu programa.
Se você não tiver a CT.LIB, entre na seção UTILITÁRIOS do site Geração Clipper (http://www.geracaoclipper.org) que você vai encontrar.

Abraços,

Enviado: 20 Jul 2004 11:21
por MARINI
Joel:
Desculpa pela demora na resposta pois estava viajando.
Fiz o teste com a linha que você citou e criou o diretório.

SWPRUNCMD("MD C:\REPORT")

Uso o Clipper 5.3 e Blinker 7.
Sds
Marini