alias dinamicos en dialogos nomodales

Miguel Salas
Posts: 132
Joined: Sun Oct 23, 2005 4:09 pm
Location: Pánuco,Ver. México

alias dinamicos en dialogos nomodales

Post by Miguel Salas »

creo un alias (concepto0) la primera vez si lo abro 2 veces se crea otro alias (concepto1) pero no logro que trabajen independiente, si muevo el puntero en el ultimo al regresar a los anteriores se me "rellena" el browse con un único registro que es el seleccionado en este último alias.

saludos y gracias
User avatar
Carles
Posts: 937
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona
Contact:

Re: alias dinamicos en dialogos nomodales

Post by Carles »

Hola,

El browse debes indicarle que alias usaras isno cogerá el alias activo. No se q browse y version usas, pero prueba oBrw:cAlias := <el_alias_q_le_toque>
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
Miguel Salas
Posts: 132
Joined: Sun Oct 23, 2005 4:09 pm
Location: Pánuco,Ver. México

Re: alias dinamicos en dialogos nomodales

Post by Miguel Salas »

gracias Carles.

tengo asi

cAliasCon := "concepto"+cArea

Use (cFile) shared NEW ALIAS (cAliasCon) VIA "DBFCDX"

(cAliasCon)->(ORDSETFOCUS("EMPCON"))




oBrw := TxBrowse():New( oDlg )
oBrw:nHeaderLines := 1
oBrw:lAllowColSwapping :=.F.
oBrw:nColSel := 1
oBrw:nRowHeight := 18
oBrw:nMarqueeStyle := MARQSTYLE_HIGHLCELL
oBrw:nColDividerStyle := LINESTYLE_BLACK
oBrw:lColDividerComplete := .t.
oBrw:lHScroll := .f.
oBrw:lFooter := .t.
oBrw:nFreeze := 2
oBrw:lFastEdit = .T.
oBrw:cAlias := cAliascon // donde aliascon cambia cada ve que se abre (concepto0,concepto1,concepto2)


saludos
User avatar
Carles
Posts: 937
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona
Contact:

Re: alias dinamicos en dialogos nomodales

Post by Carles »

Hola

Cuantos browses tienes ? Como ? No acabo entender bien lo que haces pero el browse siempre manejara el alias q tenga asignado.
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
Miguel Salas
Posts: 132
Joined: Sun Oct 23, 2005 4:09 pm
Location: Pánuco,Ver. México

Re: alias dinamicos en dialogos nomodales

Post by Miguel Salas »

me pidieron abrir varias veces el mismo modulo de mantenimiento de articulos

para eso cambie el dialogo a nowait

lo hice con Use (cFile) shared NEW ALIAS (aAliasCon[val(cArea)]) VIA "DBFCDX" // donde cArea se incrementa cada vez (1,2,3,4...)

pero si me muevo del 4to al 3ro o al 2do o al 1ro , el puntero se queda con el que tenga seleccionado en el 4to.

y necesitan que esten independientes uno de otro es decir que si en el 1ro tengo seleccionado el registro 40 y voy al 2do selecciono el 300, si regreso al 1ro no se mueva del registro 40.


espero haberme explicado mejor
saludos
User avatar
José Luis Sánchez
Posts: 484
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España
Contact:

Re: alias dinamicos en dialogos nomodales

Post by José Luis Sánchez »

Hola,
Yo no uso diálogos no modales, uso una clase llamada FSDI que creo que es mejor desde el punto de vista de la usabilidad de la aplicación. Tienes toda la información y ejemplos en mi blog - https://cincomundos.wordpress.com/?s=fsdi

Saludos,
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: alias dinamicos en dialogos nomodales

Post by nageswaragunupudi »

The problem should be the way you create xbrowse.

Our recommendation:

Code: Select all

function BrowseDlg( cDBF )

   local oDlg, oBrw, cAlias

   USE ( cDbf ) NEW SHARED ALIAS ( cAlias := cGetNewAlias( "DB" ) ) VIA "DBFCDX"
   if !USED()
      ? "Can not open " + cDBF
      return nil
   endif

   DEFINE DIALOG oDlg SIZE 600,400 PIXEL
   @ 10,10 XBROWSE oBrw SIZE -10,-10 PIXEL OF oDlg ;
      ALIAS cAlias AUTOCOLS CELL LINES NOBORDER FASTEDIT

   WITH OBJECT oBrw
      // other settings
      //
      :CreateFromCode()
   END

   ACTIVATE DIALOG oDlg NOMODAL ;
      VALID ( ( cAlias )->( DBCLOSEAREA() ), .t. )

return nil
 
This dialog can be called any number of times with the same DBF
Regards

G. N. Rao.
Hyderabad, India
User avatar
Carles
Posts: 937
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona
Contact:

Re: alias dinamicos en dialogos nomodales

Post by Carles »

Miguel

Code: Select all

#include "FiveWin.Ch"
#include "xbrowse.ch"

STATIC oWnd 
STATIC nCount := 0

FUNCTION Main()
    LOCAL oBar

    CreateTable()
    
    DEFINE WINDOW oWnd MDI
        DEFINE BUTTONBAR oBar
        DEFINE BUTTON OF oBar ACTION Dlg()
    ACTIVATE WINDOW oWnd ON INIT Test()

RETU NIL

FUNCTION Dlg()

    LOCAL oDlg, oBrw, cAlias
    
    cAlias := 'MIALIAS' + ltrim(str(++nCount))
    
    USE "xbr.dbf" SHARED NEW ALIAS (cAlias )

    DEFINE DIALOG oDlg TITLE ( 'Browse => ' + cAlias )
        oDlg:nStyle    := nOr( WS_THICKFRAME, WS_SYSMENU, WS_MINIMIZEBOX, WS_MAXIMIZEBOX )
        
       @ 0,0 XBROWSE oBrw OF oDlg ALIAS (cAlias) AUTOCOLS   
            oBrw:CreateFromCode()
            
        oDlg:oClient := oBrw
        
    ACTIVATE DIALOG oDlg NOMODAL ;
            ON INIT ( oDlg:Move( HB_RandomInt(5) * 100 , HB_RandomInt(10) * 100 ) ) ;
            VALID ( (cAlias)->(DbCloseArea()), .t. )

RETU NIL

FUNCTION Test()
    LOCAL n
    
    FOR n := 1 TO 10
        Dlg()
    NEXT
    
RETU NIL

STATIC FUNCTION CreateTable()

   LOCAL n
   LOCAL aFlds := { ;
                  { "FLDID",      "N",  3, 0  }, ;
                  { "FLDNAME",    "C", 10, 0  } ;
                }

   dbCreate( "XBR", aFlds )

   Use XBR

   for n := 1 to 50
      dbAppend()     
      FIELD->FldID      := n
      FIELD->FldName    := {'ONE','TWO','THREE','FOUR','FIVE'}[ HB_RandomInt( 5 ) ] + ' - ' + ltrim(str(n)) 
   next
   
   CLOSE DATA

return nil
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
Miguel Salas
Posts: 132
Joined: Sun Oct 23, 2005 4:09 pm
Location: Pánuco,Ver. México

Re: alias dinamicos en dialogos nomodales

Post by Miguel Salas »

Gracias por su interes

ya probé ambos y sigo igual.

¿afeca que haga el browse desde recursos? craetefromresource()



saludos
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: alias dinamicos en dialogos nomodales

Post by cnavarro »

Miguel, pon esta instrucción en la definición del diálogo, a ver si te da alguna pista

Code: Select all


 oDlg:bGotFocus   := { || MsgInfo( Alias() ) }

 
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Miguel Salas
Posts: 132
Joined: Sun Oct 23, 2005 4:09 pm
Location: Pánuco,Ver. México

Re: alias dinamicos en dialogos nomodales

Post by Miguel Salas »

si lo he hecho, me mustra concepto1,concepto2,concepto3, etc...
gracias
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: alias dinamicos en dialogos nomodales

Post by cnavarro »

Y se corresponden con los Alias que debe tener ese dialog ?
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Miguel Salas
Posts: 132
Joined: Sun Oct 23, 2005 4:09 pm
Location: Pánuco,Ver. México

Re: alias dinamicos en dialogos nomodales

Post by Miguel Salas »

Pues ya funciona ¡loteria!

me hice un ejemplo pequeño con la ayuda de todos

function nomodales()

local oDlg, oBrw, cAlias

cFile := cPath+"\DATOS\concepto.DBF"


USE ( cFile ) NEW SHARED ALIAS ( cAlias := DinamicAlias( "CON" ) ) VIA "DBFCDX"
if !USED()
? "Can not open " + cFile
return nil
endif
DEFINE DIALOG oDlg RESOURCE "concepto2" TITLE "Catalogo de Conceptos"+cAlias Of oWnd ;

oBrw := TxBrowse():New( oDlg )
oBrw:nHeaderLines := 1
oBrw:lAllowColSwapping :=.F.
oBrw:nColSel := 1
oBrw:nRowHeight := 18
oBrw:nMarqueeStyle := MARQSTYLE_HIGHLCELL
oBrw:nColDividerStyle := LINESTYLE_BLACK
oBrw:lColDividerComplete := .t.
oBrw:lHScroll := .f.
oBrw:lFooter := .t.
oBrw:nFreeze := 2
oBrw:lFastEdit := .T.
oBrw:cAlias := cAlias


oCol := oBrw:AddCol()
oCol:cHeader := "Clave"
oCol:bStrData := { || ( oBrw:cAlias )->clave }
oCol:nWidth := 45
oCol:nDataStrAlign:= AL_RIGHT
oCol:nHeadStrAlign:= AL_RIGHT
oCol:lAllowSizing :=.F.

oCol := oBrw:AddCol()
oCol:cHeader := "Nombre"
oCol:bStrData := { || ( oBrw:cAlias )->NOMBREEXT }
oCol:nWidth := 300
oCol:nDataStrAlign:= AL_LEFT
oCol:nHeadStrAlign:= AL_LEFT
oCol:lAllowSizing :=.F.



oBrw:CreateFromResource (101 )
oBrw:setrdd()

ACTIVATE DIALOG oDlg NOMODAL ;
VALID ( ( cAlias )->( DBCLOSEAREA() ), .t. )

return nil


muchisimas gracias
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: alias dinamicos en dialogos nomodales

Post by nageswaragunupudi »

This is the correction
================
DEFINE DIALOG oDlg RESOURCE "concepto2" TITLE "Catalogo de Conceptos"+cAlias Of oWnd

oBrw := TxBrowse():New( oDlg )
( cAlias )->( oBrw:SetRDD( .f. ) ) // <--- Add this here
oBrw:nHeaderLines := 1
oBrw:lAllowColSwapping :=.F.
oBrw:nColSel := 1
oBrw:nRowHeight := 18
oBrw:nMarqueeStyle := MARQSTYLE_HIGHLCELL
oBrw:nColDividerStyle := LINESTYLE_BLACK
oBrw:lColDividerComplete := .t.
oBrw:lHScroll := .f.
oBrw:lFooter := .t.
oBrw:nFreeze := 2
oBrw:lFastEdit := .T.
//oBrw:cAlias := cAlias // REMOVE THIS LINE


oCol := oBrw:AddCol()
oCol:cHeader := "Clave"
oCol:bStrData := { || ( oBrw:cAlias )->clave }
oCol:nWidth := 45
oCol:nDataStrAlign:= AL_RIGHT
oCol:nHeadStrAlign:= AL_RIGHT
oCol:lAllowSizing :=.F.

oCol := oBrw:AddCol()
oCol:cHeader := "Nombre"
oCol:bStrData := { || ( oBrw:cAlias )->NOMBREEXT }
oCol:nWidth := 300
oCol:nDataStrAlign:= AL_LEFT
oCol:nHeadStrAlign:= AL_LEFT
oCol:lAllowSizing :=.F.

oBrw:CreateFromResource (101 )
//oBrw:setrdd() // REMOVE THIS LINE

ACTIVATE DIALOG oDlg NOMODAL ;
VALID ( ( cAlias )->( DBCLOSEAREA() ), .t. )

return nil
Regards

G. N. Rao.
Hyderabad, India
Miguel Salas
Posts: 132
Joined: Sun Oct 23, 2005 4:09 pm
Location: Pánuco,Ver. México

Re: alias dinamicos en dialogos nomodales

Post by Miguel Salas »

corregido!

mil gracias
Post Reply