Jump to content
Fivewin Brasil

Hb_DbCreateTemp em uma area determinada


Narlem

Recommended Posts

Olá,

Alguem sabe se é possivel usar a funcao Hb_DbCreateTemp, fazendo com que ela abra o arquivo temporario em uma determinada área do select, por exemplo, preciso que o arquivo temporario esteja na area 120, já tentei:

select 120

Hb_DbCreateTemp("TEMP",warray)

mas ele sempre abre o arquivo na primeira area disponivel, e assim ele ocupa uma area, por exemplo a area 5, que é reservado para um determinado arquivo a ser aberto posteriormente, ocasionando erro.

fivewin 8.10 + xharbour

Link to comment
Share on other sites

Olá,

Alguem sabe se é possivel usar a funcao Hb_DbCreateTemp, fazendo com que ela abra o arquivo temporario em uma determinada área do select, por exemplo, preciso que o arquivo temporario esteja na area 120, já tentei:

select 120

Hb_DbCreateTemp("TEMP",warray)

mas ele sempre abre o arquivo na primeira area disponivel, e assim ele ocupa uma area, por exemplo a area 5, que é reservado para um determinado arquivo a ser aberto posteriormente, ocasionando erro.

fivewin 8.10 + xharbour

Link to comment
Share on other sites

Nesse caso o seu código que deveria ser alterado para se trabalhar com o ALIAS. Com isso voce nao precisa saber o numero da área que ele foi alocado bem como qualquer alias. É desnecessário isso, mas se mesmo assim desejar faça da seguinte maneira:

cAliasTemp := "TEMP"

Hb_DbCreateTemp("TEMP",warray)

If Select("TEMP") == 5

Hb_DbCreateTemp("TEMP2",warray)

TEMP->(DbCloseArea())

cAliasTemp := "TEMP2"

EndIf

Desse jeito se abrir e cair na area 5, abrindo novamente o alias nao ficara na 5 pois já esta ocupado. Depois de abrir a 2a tabela de memoria é só fechar a primeira que ficou na area 5 e pronto. Pra saber o nome do ALIAS temporario vc relaciona pela variavel cAliasTemp.

Abraço

citação:

Olá,

Alguem sabe se é possivel usar a funcao Hb_DbCreateTemp, fazendo com que ela abra o arquivo temporario em uma determinada área do select, por exemplo, preciso que o arquivo temporario esteja na area 120, já tentei:

select 120

Hb_DbCreateTemp("TEMP",warray)

mas ele sempre abre o arquivo na primeira area disponivel, e assim ele ocupa uma area, por exemplo a area 5, que é reservado para um determinado arquivo a ser aberto posteriormente, ocasionando erro.

fivewin 8.10 + xharbour


id=quote>id=quote>

Eduardo Motta

emotta@gmail.com.br

FWH 9.09 (original) - xHARBOUR 1.2.1 (comercial e original) - SQLRDD

AJbJ

Link to comment
Share on other sites

Joao, pelo que eu entendi ele nao tem duvida sobre como usar a funcao e sim em nao abrir o memory table na área 5...

citação:

http://www.fivewin.com.br/forum/topic.asp?TOPIC_ID=17545

João Santos - São Paulo.

joao@pleno.com.br

Fone: (11) 3106-2832 / 5150-7341 - TIM

https://www.facebook.com/kapiaba

FWH 2.7 - xHARBOUR WorkShop.Exe


id=quote>id=quote>

Eduardo Motta

emotta@gmail.com.br

FWH 9.09 (original) - xHARBOUR 1.2.1 (comercial e original) - SQLRDD

AJbJ

Link to comment
Share on other sites

citação:

Joao, pelo que eu entendi ele nao tem duvida sobre como usar a funcao e sim em nao abrir o memory table na área 5...

citação:

http://www.fivewin.com.br/forum/topic.asp?TOPIC_ID=17545

João Santos - São Paulo.

joao@pleno.com.br

Fone: (11) 3106-2832 / 5150-7341 - TIM

https://www.facebook.com/kapiaba

FWH 2.7 - xHARBOUR WorkShop.Exe


id=quote>id=quote>

Eduardo Motta

emotta@gmail.com.br

FWH 9.09 (original) - xHARBOUR 1.2.1 (comercial e original) - SQLRDD

AJbJ


id=quote>id=quote>

Ok carissimo, só estou "amarrando" os tópicos.

Não se ofenda...

Abs,

João Santos - São Paulo.

joao@pleno.com.br

Fone: (11) 3106-2832 / 5150-7341 - TIM

https://www.facebook.com/kapiaba

FWH 2.7 - xHARBOUR WorkShop.Exe

Link to comment
Share on other sites

Concordo com o Eduardo Motta,

O pessoal que usa área fixa, precisa mudar o conceito, além do que vc está forçando uma área que pode não ser a melhor para o processador no momento.

Além do que fazendo desse jeito que o EMotta colocou funciona, mas teria que montar dentro de um for next e só fechar as outras áreas qndo vc chegar na área 120 como vc está querendo :D, o que vai deixar o processo lento ao invés de muito rápido como é o caso do arquivo temporário icon_smile_big.gif

Vagner Wirts

bgprofilea.jpg

"Ele não sabendo que era impossível, foi lá e fez"

Link to comment
Share on other sites

sem magoas... kkk

abraço

citação:

citação:

Joao, pelo que eu entendi ele nao tem duvida sobre como usar a funcao e sim em nao abrir o memory table na área 5...

citação:

http://www.fivewin.com.br/forum/topic.asp?TOPIC_ID=17545

João Santos - São Paulo.

joao@pleno.com.br

Fone: (11) 3106-2832 / 5150-7341 - TIM

https://www.facebook.com/kapiaba

FWH 2.7 - xHARBOUR WorkShop.Exe


id=quote>id=quote>

Eduardo Motta

emotta@gmail.com.br

FWH 9.09 (original) - xHARBOUR 1.2.1 (comercial e original) - SQLRDD

AJbJ


id=quote>id=quote>

Ok carissimo, só estou "amarrando" os tópicos.

Não se ofenda...

Abs,

João Santos - São Paulo.

joao@pleno.com.br

Fone: (11) 3106-2832 / 5150-7341 - TIM

https://www.facebook.com/kapiaba

FWH 2.7 - xHARBOUR WorkShop.Exe


id=quote>id=quote>

Eduardo Motta

emotta@gmail.com.br

FWH 9.09 (original) - xHARBOUR 1.2.1 (comercial e original) - SQLRDD

AJbJ

Link to comment
Share on other sites

Eu usava selecionando o numero da area quando aprendi clipper, em 1993, acho que no livro do Ramalho ensinava assim... Logo depois aprendi que se poderia trabalhar com alias e entao nunca mais... Com certeza é mais pratico, funcional e o codigo fica muito melhor. É bem mais fácil entender que SELECT CLIENTES é a tabela de clientes do que SELECT 2...

Mas uma coisa que talvez dê certo seja colocar o numero que deseja no lugar do alias, mas nao indico...

ex:

Hb_DbCreateTemp(60,warray)

citação:

Concordo com o Eduardo Motta,

O pessoal que usa área fixa, precisa mudar o conceito, além do que vc está forçando uma área que pode não ser a melhor para o processador no momento.

Além do que fazendo desse jeito que o EMotta colocou funciona, mas teria que montar dentro de um for next e só fechar as outras áreas qndo vc chegar na área 120 como vc está querendo :D, o que vai deixar o processo lento ao invés de muito rápido como é o caso do arquivo temporário icon_smile_big.gif

Vagner Wirts

bgprofilea.jpg

"Ele não sabendo que era impossível, foi lá e fez"


id=quote>id=quote>

Eduardo Motta

emotta@gmail.com.br

FWH 9.09 (original) - xHARBOUR 1.2.1 (comercial e original) - SQLRDD

AJbJ

Link to comment
Share on other sites

Sempre usei desta forma:

If Empty(Select("Venda") )

DBUseArea(.T.,"DBFCDX","SGOVEN","Venda",Modo,.F.)

If !NetErr()

Venda->(OrdListAdd("Vendas")) // DocVen,DatVen,CpfVen,CopVen

Else

MsgAlert(" Arquivo: Registro de vendas ","Abrir Arquivos")

Endif

Endif

Nunca tive problemas de alocação de área

Crisvam - xHarbour_FWH_10.11 - Whorkshop

Link to comment
Share on other sites

citação:

Sempre usei desta forma:

If Empty(Select("Venda") )

DBUseArea(.T.,"DBFCDX","SGOVEN","Venda",Modo,.F.)

If !NetErr()

Venda->(OrdListAdd("Vendas")) // DocVen,DatVen,CpfVen,CopVen

Else

MsgAlert(" Arquivo: Registro de vendas ","Abrir Arquivos")

Endif

Endif

Nunca tive problemas de alocação de área

Crisvam - xHarbour_FWH_10.11 - Whorkshop


id=quote>id=quote>

Olá Crisvam,

Estamos falando de arquivos em memória icon_smile_big.gif

Vagner Wirts

bgprofilea.jpg

"Ele não sabendo que era impossível, foi lá e fez"

Link to comment
Share on other sites

Eu usava abrindo por numero da area, so depois me toquei que o melhor e o Alias.

Como o sistema ja estava pronto eu mudei isso facilmente fazendo o seguinte:

Onde eu dava Select 5 mudei para D05, so coloquei a letra D e o 0 antes do numero da area.

Passei para alias facilmente mexendo em todos os selects sem riscos de mudar errado.

274082_100000139180259_6365851_q.jpg

Muriaé-MG

FWH 2.6/XHARBOUR/C/C++/JAVA/DELPHI/MYSQL/FIREBIRD

Link to comment
Share on other sites

citação:

citação:

Sempre usei desta forma:

If Empty(Select("Venda") )

DBUseArea(.T.,"DBFCDX","SGOVEN","Venda",Modo,.F.)

If !NetErr()

Venda->(OrdListAdd("Vendas")) // DocVen,DatVen,CpfVen,CopVen

Else

MsgAlert(" Arquivo: Registro de vendas ","Abrir Arquivos")

Endif

Endif

Nunca tive problemas de alocação de área

Crisvam - xHarbour_FWH_10.11 - Whorkshop


id=quote>id=quote>

Olá Crisvam,

Estamos falando de arquivos em memória icon_smile_big.gif

Vagner Wirts

bgprofilea.jpg

"Ele não sabendo que era impossível, foi lá e fez"


id=quote>id=quote>

OK Vagner, não tinha lido direito os itens, valeu.

Crisvam - xHarbour_FWH_10.11 - Whorkshop

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...