Página 1 de 1

Como definir o ALIAS do browse ?

Enviado: 31 Jan 2024 17:47
por JoséQuintas
Criei o browse mas não é para o arquivo em uso.
Como defino o ALIAS a ser usado no browse ?

Como definir o ALIAS do browse ?

Enviado: 31 Jan 2024 17:58
por Itamar M. Lins Jr.
Olá!

Código: Selecionar todos

local oDlg, oBrwCab, oBrwItens, ...
INIT DIALOG ...
...
dbSelectArea('master') //Cabeçalho

@ 5,80 Browse oBrwCab DataBase of oDlg...
oBrwCab:Alias  := "master"
...

//Browse dos itens
dbSelectArea('slave')
@ 5,35 Browse oBrwItens DataBase of oTab Size 730,400 Font oBrwFont Style WS_VSCROLL + WS_HSCROLL       
oBrwItens:Alias := 'slave'
...

Saudações,
Itamar M. Lins Jr.

Como definir o ALIAS do browse ?

Enviado: 31 Jan 2024 18:39
por JoséQuintas
Neste instante cheguei nos fontes do hbrowse, mas valeu mesmo assim.

Pra complementar:

Código: Selecionar todos

   IF ::type == BRW_DATABASE
      ::alias   := Alias()
      ::bSkip     :=  { |o, n| (o), ( ::alias ) -> ( dbSkip( n ) ) }
      ::bGoTop    :=  { || ( ::alias ) -> ( DBGOTOP() ) }
      ::bGoBot    :=  { || ( ::alias ) -> ( dbGoBottom() ) }
      ::bEof      :=  { || ( ::alias ) -> ( Eof() ) }
      ::bBof      :=  { || ( ::alias ) -> ( Bof() ) }
      ::bRcou     :=  { || ( ::alias ) -> ( RecCount() ) }
      ::bRecnoLog := ::bRecno  := { ||( ::alias ) -> ( RecNo() ) }
      ::bGoTo     := { |o, n|(o), ( ::alias ) -> ( dbGoto( n ) ) }
Esse método é chamado no New() e tem isto

Código: Selecionar todos

      ::alias   := Alias()
Com base nessa parte, ou cria o browse com a área já selecionada, ou define depois.

Algo como:

Código: Selecionar todos

// cria label, textbox, etc
SELECT outro
// cria o browse
SELECT volta
// cria mais coisas
setscope.png
No meu uso, foi só mover o SELECT pra depois da montagem do browse, não pode ser antes.

Como de qualquer jeito faço isso pro SET SCOPE, nem vou mexer no ::Alias

Mas valeu, pode ser útil em outros casos, ou se alterar o SET SCOPE pra forma de função e não alterar área em uso.

Como definir o ALIAS do browse ?

Enviado: 31 Jan 2024 19:30
por JoséQuintas
browsegen.png
Uia, melhor ainda, no browse genérico