alias dinamicos en dialogos nomodales
-
- Posts: 132
- Joined: Sun Oct 23, 2005 4:09 pm
- Location: Pánuco,Ver. México
alias dinamicos en dialogos nomodales
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
saludos y gracias
Re: alias dinamicos en dialogos nomodales
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>
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
"...programar es fácil, hacer programas es difícil..."
https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
-
- Posts: 132
- Joined: Sun Oct 23, 2005 4:09 pm
- Location: Pánuco,Ver. México
Re: alias dinamicos en dialogos nomodales
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
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
Re: alias dinamicos en dialogos nomodales
Hola
Cuantos browses tienes ? Como ? No acabo entender bien lo que haces pero el browse siempre manejara el alias q tenga asignado.
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
"...programar es fácil, hacer programas es difícil..."
https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
-
- Posts: 132
- Joined: Sun Oct 23, 2005 4:09 pm
- Location: Pánuco,Ver. México
Re: alias dinamicos en dialogos nomodales
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
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
- 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
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,
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,
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
Re: alias dinamicos en dialogos nomodales
The problem should be the way you create xbrowse.
Our recommendation:
This dialog can be called any number of times with the same DBF
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
Regards
G. N. Rao.
Hyderabad, India
G. N. Rao.
Hyderabad, India
Re: alias dinamicos en dialogos nomodales
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
"...programar es fácil, hacer programas es difícil..."
https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
-
- Posts: 132
- Joined: Sun Oct 23, 2005 4:09 pm
- Location: Pánuco,Ver. México
Re: alias dinamicos en dialogos nomodales
Gracias por su interes
ya probé ambos y sigo igual.
¿afeca que haga el browse desde recursos? craetefromresource()
saludos
ya probé ambos y sigo igual.
¿afeca que haga el browse desde recursos? craetefromresource()
saludos
Re: alias dinamicos en dialogos nomodales
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.
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.
-
- Posts: 132
- Joined: Sun Oct 23, 2005 4:09 pm
- Location: Pánuco,Ver. México
Re: alias dinamicos en dialogos nomodales
si lo he hecho, me mustra concepto1,concepto2,concepto3, etc...
gracias
gracias
Re: alias dinamicos en dialogos nomodales
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.
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.
-
- Posts: 132
- Joined: Sun Oct 23, 2005 4:09 pm
- Location: Pánuco,Ver. México
Re: alias dinamicos en dialogos nomodales
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
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
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
Re: alias dinamicos en dialogos nomodales
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
================
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
G. N. Rao.
Hyderabad, India
-
- Posts: 132
- Joined: Sun Oct 23, 2005 4:09 pm
- Location: Pánuco,Ver. México
Re: alias dinamicos en dialogos nomodales
corregido!
mil gracias
mil gracias