Função que salva todo o ambiente (todos os sets)

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Função que salva todo o ambiente (todos os sets)

Mensagem por Stanis Luksys »

Olá Pessoal,

Estou com uma dúvida simples, sobre uma função que não consigo me recordar.

É uma função que salva todos os sets, que a gente coloca no inicio do prg, ao invés de ficar salvando com, savescreen(), setcolor(), setcursor(), ela salva tudo e no final é só restaurar...

Eu usava sempre uma função assim, mas não lembro se ela existe nativamente ou se fui eu mesmo que fiz manualmente... Se fui eu já era... Alguém sabe me dizer, ou tem a bendita função?

Abraços!
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
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á

Re: Função que salva todo o ambiente (todos os sets)

Mensagem por Pablo César »

Oi Stanis, seria a função SET() ? No NG tem um exemplo:

Código: Selecionar todos

 #include "Set.ch"

 FUNCTION SetAll( aNewSets )
    LOCAL aCurrentSets[_SET_COUNT], nCurrent
    IF ( aNewSets != NIL )   // Set new and return current
       FOR nCurrent := 1 TO _SET_COUNT
          aCurrentSets[nCurrent] := ;
             SET(nCurrent, aNewSets[nCurrent])
       NEXT
    ELSE                     // Just return current
       FOR nCurrent := 1 TO _SET_COUNT
          aCurrentSets[nCurrent] := SET(nCurrent)
       NEXT
    ENDIF
    RETURN (aCurrentSets)
Vjea acho que é isso que você precisa.
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.
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Re: Função que salva todo o ambiente (todos os sets)

Mensagem por Stanis Luksys »

Opa Pablo,

Era isso mesmo, não tenho certeza se eu usava assim, mas isso é extamante o que eu preciso. Só acho que não vou setar nada através desta função, pois me parece um pouco complicado ter que passar todos de uma vez em uma matriz. Na verdade é bem interessante, mas não para o meu propósito atual que envolve dois ou três sets apenas. É um programa que não usa nem banco de dados.

Vou adicionar também um savescreen e restscreen na função, bem como umas variáveis globais. Pro que eu preciso vai ficar excelente desta forma:

Código: Selecionar todos

PROCEDURE Main()
  local aTodosSets := SetAll()
  set isso
  set aquilo

  ... // menu que chama os módulos

  SetAll( aTodosSets )
RETURN 
Parece bobagem passar os sets por fora da função, mas no meu caso vai me dar maior controle...



Valeu mesmo!

Abraços
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Responder