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

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

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

Mensagem 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.
Anexos
TESTE87.rar
(102.71 KiB) Baixado 201 vezes
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

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

Mensagem 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.
Anexos
TESTE88.rar
(69.78 KiB) Baixado 180 vezes
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

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

Mensagem por rochinha »

Amiguinho

Parabens, assim teremos ferramentas para nossos testes e agregaremos conhecimento real desta caracteristica.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Responder