Página 1 de 1

Rotina com bloqueio de arquivos DBFs / TXTs ( USE / FOPEN )

Enviado: 09 Nov 2012 09:57
por Pablo César
Fiz estes tutoriais, para aqueles que tem dúvidas sobre tratamento de abertura de arquivo em rede.
Abertura de arquivos DBFs com bloqueio
Este teste de exemplo, foi baseado no código do Toledo, está funcionando perfeitamente.
Faça os seguintes testes com este executável em anexo (aconselho que sejam feito na linha de comando):

1. Testaremos 1º terminal/Exclusivo e 2º terminal/Exclusivo:
  1. Você começa chamando o teste87.exe sem parâmetro algum. Digite: TESTE87 <Enter> (vai chamar o teste em modo exclusivo e parecerá o nome daquele terminal).
  2. Em algum outro terminal da rede, chame também (na mesma pasta que estiver o executável teste87.exe, é claro) sem parâmetros também. O programa irá tentar abrir e demorará vários segundos até dar a mensagem "Nao foi possivel abrir o Arquivo em modo Exclusivo".
2. Testaremos 1º terminal/Exclusivo e 2º terminal/Compartilhado:
  1. Começa chamando o teste87.exe sem parâmetro (como no primeiro teste). Exemplo: TESTE87 <Enter> (vai chamar o teste em modo exclusivo e parecerá o nome daquele terminal).
  2. No segundo terminal, chame com algum parâmetro qualquer. Exemplo: TESTE87 COMPARTILHADO <Enter> neste momento irá tentar abrir, mas como o terminal está em modo Exclusivo, nesse 2º terminal irá dar a mensagem "Nao foi possivel abrir o Arquivo em modo Compartilhado".
3. Testaremos 1º terminal/Compartilhado e 2º terminal/Exclusivo:
  1. Começa chamando o teste87.exe com parâmetro (como no primeiro teste). Exemplo: TESTE87 COMPATILHADO <Enter> (vai chamar o teste em modo compartilhado, isto é, liberado para os outros terminais que venham acessar em modo compartilhado também e parecerá o nome daquele terminal).
  2. No segundo terminal, chame sem parâmetro. Exemplo: TESTE87 <Enter> neste momento irá tentar abrir, mas como este 2º terminal está tentando abrir em modo Exclusivo, mas não irá conseguir porque o 1º terminal está sendo ocupado e então irá dar a mensagem neste 2º terminal: "Nao foi possivel abrir o Arquivo em modo Exclusivo".
4. Testaremos 1º terminal/Compartilhado e 2º terminal/Compartilhado:
  1. Começa chamando o teste87.exe com parâmetro (como no primeiro teste). Exemplo: TESTE87 COMPATILHADO <Enter> (vai chamar o teste em modo compartilhado, isto é, liberado para os outros terminais que venham acessar em modo compartilhado também e parecerá o nome daquele terminal).
  2. No segundo terminal, chame com parâmetro também. Exemplo: TESTE87 COMPARTILHADO <Enter> neste momento irá abrir sem dúvidas o 2º terminal e irá aparecer a mensagem que está sendo executado <nome do terminal> em modo compartilhado.

Observações:
  • Estes exemplos tem a finalidade de servir para o aprendizado de qualquer colega agora e no futuro.
  • Durante o teste no 2º terminal enquanto aguarda a mensagem, se o 1º terminal sair (aberto em modo Exclusivo, deverá pressionar qualquer tecla pra sair) e no 2º terminal ainda não apareceu a mensagem, o 2º terminal irá acessar normalmente porque o 1º terminal saiu liberando o dbf.

Rotina com bloqueio de arquivos DBFs / TXTs ( USE / FOPEN )

Enviado: 09 Nov 2012 12:23
por Pablo César
Abertura de arquivos TXTs com bloqueio
Este outro teste de exemplo, foi baseado no código do Maligno porque como o exemplo anterior utiliza um "alias" na abertura, está funcionando perfeitamente.
Faça os seguintes testes com este executável em anexo (aconselho que sejam feito na linha de comando):

1. Testaremos 1º terminal/Exclusivo e 2º terminal/Exclusivo:
  1. Você começa chamando o teste88.exe sem parâmetro algum. Digite: TESTE88 <Enter> (vai chamar o teste em modo exclusivo e parecerá o nome daquele terminal).
  2. Em algum outro terminal da rede, chame também (na mesma pasta que estiver o executável teste88.exe, é claro) sem parâmetros também. O programa irá tentar abrir e demorará vários segundos até dar a mensagem "Nao foi possivel abrir o Arquivo em modo Exclusivo".
2. Testaremos 1º terminal/Exclusivo e 2º terminal/Compartilhado:
  1. Começa chamando o teste88.exe sem parâmetro (como no primeiro teste). Exemplo: TESTE88 <Enter> (vai chamar o teste em modo exclusivo e parecerá o nome daquele terminal).
  2. No segundo terminal, chame com algum parâmetro qualquer. Exemplo: TESTE88 COMPARTILHADO <Enter> neste momento irá tentar abrir, mas como o terminal está em modo Exclusivo, nesse 2º terminal irá dar a mensagem "Nao foi possivel abrir o Arquivo em modo Compartilhado".
3. Testaremos 1º terminal/Compartilhado e 2º terminal/Exclusivo:
  1. Começa chamando o teste88.exe com parâmetro (como no primeiro teste). Exemplo: TESTE88 COMPATILHADO <Enter> (vai chamar o teste em modo compartilhado, isto é, liberado para os outros terminais que venham acessar em modo compartilhado também e parecerá o nome daquele terminal).
  2. No segundo terminal, chame sem parâmetro. Exemplo: TESTE88 <Enter> neste momento irá tentar abrir, mas como este 2º terminal está tentando abrir em modo Exclusivo, mas não irá conseguir porque o 1º terminal está sendo ocupado e então irá dar a mensagem neste 2º terminal: "Nao foi possivel abrir o Arquivo em modo Exclusivo".
4. Testaremos 1º terminal/Compartilhado e 2º terminal/Compartilhado:
  1. Começa chamando o teste88.exe com parâmetro (como no primeiro teste). Exemplo: TESTE88 COMPATILHADO <Enter> (vai chamar o teste em modo compartilhado, isto é, liberado para os outros terminais que venham acessar em modo compartilhado também e parecerá o nome daquele terminal).
  2. No segundo terminal, chame com parâmetro também. Exemplo: TESTE88 COMPARTILHADO <Enter> neste momento irá abrir sem dúvidas o 2º terminal e irá aparecer a mensagem que está sendo executado <nome do terminal> em modo compartilhado.

Observações:
  • Estes exemplos tem a finalidade de servir para o aprendizado de qualquer colega agora e no futuro.
  • Durante o teste no 2º terminal enquanto aguarda a mensagem, se o 1º terminal sair (aberto em modo Exclusivo, deverá pressionar qualquer tecla pra sair) e no 2º terminal ainda não apareceu a mensagem, o 2º terminal irá acessar normalmente porque o 1º terminal saiu liberando o txt.

Rotina com bloqueio de arquivos DBFs / TXTs ( USE / FOPEN )

Enviado: 24 Nov 2012 23:21
por rochinha
Amiguinho

Parabens, assim teremos ferramentas para nossos testes e agregaremos conhecimento real desta caracteristica.