Como pegar coluna do browse
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Como pegar coluna do browse
Estou tentando pegar a coluna do browse.
Tentei oBrowse:ColPos mas tá sempre 1
Tentei oBrowse:ColPos mas tá sempre 1
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Como pegar coluna do browse
Olá!
oTab, oDlg...
oTab:oBrw:ColPos
oDlg:oTab:oBrw:ColPos
Saudações,
Itamar M. Lins Jr.
oTab, oDlg...
oTab:oBrw:ColPos
oDlg:oTab:oBrw:ColPos
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Como pegar coluna do browse
Não vai, dá até erro.
Estou alterando o exemplo testbrowsearr.prg pra 2 colunas
É um exemplo de browse array com edição.
Alterei o array pra duas colunas
A definiçào de título
E agora mexendo na função de edição
Estou alterando o exemplo testbrowsearr.prg pra 2 colunas
É um exemplo de browse array com edição.
Alterei o array pra duas colunas
Código: Selecionar todos
al_DOKs := { {"1", "12" } , {"2", "22"} , {"3", "23"} , {"4", "24"} }
Código: Selecionar todos
hwg_CREATEARLIST( oBrwArr, al_DOKs )
oBrwArr:acolumns[1]:heading := "DOKs" // Header string
oBrwArr:acolumns[1]:length := 50
oBrwArr:bcolorSel := hwg_ColorC2N( "800080" )
oBrwArr:aColumns[2]:Heading := "X"
oBrwArr:aColumns[2]:Length := 10
Código: Selecionar todos
STATIC FUNCTION BrwArrayEditElem( oBrow )
* Edit the Element in the array
LOCAL nlaeng, cGetfield, cOldget, aRow
hwg_Msginfo( hb_ValToExp( oBrow:nCurrent ) ) // ok, retorna a linha
hwg_MsgInfo( hb_ValToExp( oBrow:ColPos ) ) // retorna sempre 1
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Como pegar coluna do browse
Acrescentei mais um teste:
Ok, linha atual com 2 elementos
Falta essa ColPos
Código: Selecionar todos
hwg_MsgInfo( hb_ValToExp( oBrow:aArray[ oBrow:nCurrent ] ) )
Falta essa ColPos
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Como pegar coluna do browse
Resolvido parcial.
Agora é com os desenvolvedores.
Clique do mouse não manda nada.
Setas..... tentando entender pra que serve...
Agora é com os desenvolvedores.
Clique do mouse não manda nada.
Setas..... tentando entender pra que serve...
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Como pegar coluna do browse
Automático é comigo mesmo kkkkk
Array do tamanho que quiser pra linhas e colunas
Mas tem o título....
1. Clique do mouse não manda nada na coluna
2. A navegação com setas NÃO é coluna a coluna, sendo assim, ColPos não é atualizado com 2 colunas
Array do tamanho que quiser pra linhas e colunas
Código: Selecionar todos
aBrowseList := Array(10,10)
FOR EACH aRow IN aBrowseList
FOR EACH aCol IN aRow
aCol := Ltrim( Str( aRow:__EnumIndex() ) ) + "." + Ltrim( Str( aCol:__EnumIndex() ) )
NEXT
NEXT
Código: Selecionar todos
hwg_CREATEARLIST( oBrowse, aBrowseList )
FOR EACH oCol IN oBrowse:aColumns
oCol:Heading := Ltrim( Str( oCol:__EnumIndex() ) )
oCol:Length := 20
NEXT
2. A navegação com setas NÃO é coluna a coluna, sendo assim, ColPos não é atualizado com 2 colunas
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Como pegar coluna do browse
Olá!
Não entendi se quer saber em qual coluna está posicionado ou se quer obter o valor da célula...
Em todo caso, como o browse é uma tabela, tem que referenciar linha e coluna. Tente assim:
Não entendi se quer saber em qual coluna está posicionado ou se quer obter o valor da célula...
Em todo caso, como o browse é uma tabela, tem que referenciar linha e coluna. Tente assim:
Código: Selecionar todos
hwg_MsgInfo( hb_ValToExp( oBrow:aArray[ oBrow:nCurrent ,Brow:nCol ] ) )[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Como pegar coluna do browse
Valeu, mas o pipino é outro.
ColPos retorna correto.
A navegação é que está falhando.
Descobri testando o dlgauto, e depois aumentando a quantidade de colunas.
Não sei o que pode estar errado nesse exemplo.
ColPos retorna correto.
A navegação é que está falhando.
Descobri testando o dlgauto, e depois aumentando a quantidade de colunas.
Não sei o que pode estar errado nesse exemplo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Como pegar coluna do browse
O exemplo inicialmente tinha 2 colunas.
Haviam anotações no fonte de só poder usar array de uma coluna.
O que vi, parecendo um erro em ColPos, na verdade é que o browse não está mudando de coluna mesmo.
Quando olhei o DLGAUTO, vi o problema de navegação COM DBF.
Foi quando aumentei a quantidade de colunas do array, e vi que acontece geral.
As setas ficam funcionando parecido com um PageDown lateral, ao invés de uma coluna por vez.
Além disso, o clique do mouse não altera a coluna.
Não dava pra perceber isso no browse de só duas colunas.
O Fernando Queiroz mostrou no aplicativo dele e está funcionando.
Por isso acho que tem alguma coisa errada no exemplo.
Só não sei o que poderia ser.
Haviam anotações no fonte de só poder usar array de uma coluna.
O que vi, parecendo um erro em ColPos, na verdade é que o browse não está mudando de coluna mesmo.
Quando olhei o DLGAUTO, vi o problema de navegação COM DBF.
Foi quando aumentei a quantidade de colunas do array, e vi que acontece geral.
As setas ficam funcionando parecido com um PageDown lateral, ao invés de uma coluna por vez.
Além disso, o clique do mouse não altera a coluna.
Não dava pra perceber isso no browse de só duas colunas.
O Fernando Queiroz mostrou no aplicativo dele e está funcionando.
Por isso acho que tem alguma coisa errada no exemplo.
Só não sei o que poderia ser.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Como pegar coluna do browse
E também não é nColPos, esse é a posição das colunas visíveis no browse.
Testei igual (*) outro exemplo que funciona mas não foi.
Igual com certeza não é.
Sinceramente, não entendo.
Testei igual (*) outro exemplo que funciona mas não foi.
Igual com certeza não é.
Código: Selecionar todos
//hwg_CREATEARLIST( oBrowse, aBrowseList )
oBrowse:aArray := aBrowseList
FOR EACH oCol IN aBrowseList[1]
FOR EACH nTmp IN { oCol:__EnumIndex() }
oBrowse:AddColumn( HColumn():New( Ltrim(Str(nTmp, 5)),{|v,o|(v),o:aArray[o:nCurrent,nTmp]},"C",10,0,.F.,DT_CENTER ) )
NEXT
NEXT
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Como pegar coluna do browse
Código: Selecionar todos
/*
*$Id$
*
* HWGUI - Harbour Win32 and Linux (GTK) GUI library
* testbrw.prg - another browsing sample (array)
*
* Copyright 2005 Alexander S.Kresin <alex@kresin.ru>
* www - http://www.kresin.ru
*/
* Status:
* WinAPI : Yes
* GTK/Linux: Yes , see comment above
* GTK/Win : No
* -------------------------
* Sample crashes on GTK,
* method Add standard not
* working here, so
* the image add as hex value.
*
* -------------------------
* Only Field "Age" is editable.
* HBROWSE class on GTK:
* Obscure behavior on editable field "Age" need to fix !
* The modified value not accepted.
#include "hwgui.ch"
FUNCTION Main()
LOCAL oMainWindow
INIT WINDOW oMainWindow MAIN TITLE "Example" ;
AT 200,0 SIZE 400,150
* GTK: Submenus required, otherwise only display "Activate"
MENU OF oMainWindow
MENU TITLE "&Exit"
MENUITEM "&Quit" ACTION hwg_EndWindow()
ENDMENU
MENU TITLE "&Dialog"
MENUITEM "&Start Browse" ACTION DlgGet()
ENDMENU
ENDMENU
ACTIVATE WINDOW oMainWindow
RETURN Nil
FUNCTION DlgGet()
LOCAL oBmp
LOCAL oModDlg, oBrw1, oBrw2
LOCAL aSample1 := { {"Alex",17,2500}, {"Victor",42,2200}, {"John",31,1800}, ;
{"Sebastian",35,2000}, {"Mike",54,2600}, {"Sardanapal",22,2350}, {"Sergey",30,2800}, {"Petr",42,2450} }
LOCAL aSample2 := { {.t.,"Line 1",10}, {.t.,"Line 2",22}, {.f.,"Line 3",40} }
LOCAL cValTrue
INIT DIALOG oModDlg TITLE "About" AT 190,10 SIZE 600,320
@ 20,16 BROWSE oBrw1 ARRAY SIZE 280,220 ;
STYLE WS_BORDER + WS_VSCROLL + WS_HSCROLL
@ 310,16 BROWSE oBrw2 ARRAY SIZE 280,220 ;
STYLE WS_BORDER + WS_VSCROLL + WS_HSCROLL
oBrw1:aArray := aSample1
oBrowse:AddColumn( HColumn():New( "Name",{|v,o|o:aArray[o:nCurrent,1]},"C",12,0,.F.,DT_CENTER ) )
oBrowse:AddColumn( HColumn():New( "Age",{|v,o|o:aArray[o:nCurrent,2]},"N",6,0,.T.,DT_CENTER,DT_RIGHT ) )
oBrowse:AddColumn( HColumn():New( "Koef",{|v,o|o:aArray[o:nCurrent,3]},"N",6,0,.F.,DT_CENTER,DT_RIGHT ) )
oBrowse:aColumns[2]:footing := "Age"
oBrowse:aColumns[2]:lResizable := .F.
hwg_CREATEARLIST( oBrw2,aSample2 )
#ifdef __GTK__
* Standard image OBM_CHECK not available on GTK
* Take it from hex value
cValTrue := hwg_cHex2Bin(true_bmp())
oBmp := HBitmap():AddString( "true" , cValTrue )
#else
oBmp := HBitmap():AddStandard( OBM_CHECK )
#endif
oBrw2:aColumns[1]:aBitmaps := { { {|l|l}, oBmp } }
oBrw2:aColumns[2]:length := 6
oBrw2:aColumns[3]:length := 4
oBrw2:bKeyDown := {|o,key|BrwKey(o,key)}
oBrw2:bcolorSel := oBrw2:htbColor := 0xeeeeee
oBrw2:tcolorSel := 0xff0000
@ 210,260 OWNERBUTTON ON CLICK {|| hwg_EndDialog()} ;
SIZE 180,36 FLAT ;
TEXT "Close" COLOR hwg_ColorC2N("0000FF")
ACTIVATE DIALOG oModDlg
RETURN Nil
STATIC FUNCTION BrwKey( oBrw, key )
IF key == 32
oBrw:aArray[ oBrw:nCurrent,1 ] := !oBrw:aArray[ oBrw:nCurrent,1 ]
oBrw:RefreshLine()
ENDIF
RETURN .T.
#ifdef __GTK__
FUNCTION true_bmp()
* Hexdump of true.bmp, needed for GTK
RETURN ;
"42 4D 36 05 00 00 00 00 00 00 36 04 00 00 28 00 " + ;
"00 00 0D 00 00 00 10 00 00 00 01 00 08 00 00 00 " + ;
"00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 " + ;
"00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80 " + ;
"00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80 " + ;
"00 00 C0 C0 C0 00 C0 DC C0 00 F0 CA A6 00 00 20 " + ;
"40 00 00 20 60 00 00 20 80 00 00 20 A0 00 00 20 " + ;
"C0 00 00 20 E0 00 00 40 00 00 00 40 20 00 00 40 " + ;
"40 00 00 40 60 00 00 40 80 00 00 40 A0 00 00 40 " + ;
"C0 00 00 40 E0 00 00 60 00 00 00 60 20 00 00 60 " + ;
"40 00 00 60 60 00 00 60 80 00 00 60 A0 00 00 60 " + ;
"C0 00 00 60 E0 00 00 80 00 00 00 80 20 00 00 80 " + ;
"40 00 00 80 60 00 00 80 80 00 00 80 A0 00 00 80 " + ;
"C0 00 00 80 E0 00 00 A0 00 00 00 A0 20 00 00 A0 " + ;
"40 00 00 A0 60 00 00 A0 80 00 00 A0 A0 00 00 A0 " + ;
"C0 00 00 A0 E0 00 00 C0 00 00 00 C0 20 00 00 C0 " + ;
"40 00 00 C0 60 00 00 C0 80 00 00 C0 A0 00 00 C0 " + ;
"C0 00 00 C0 E0 00 00 E0 00 00 00 E0 20 00 00 E0 " + ;
"40 00 00 E0 60 00 00 E0 80 00 00 E0 A0 00 00 E0 " + ;
"C0 00 00 E0 E0 00 40 00 00 00 40 00 20 00 40 00 " + ;
"40 00 40 00 60 00 40 00 80 00 40 00 A0 00 40 00 " + ;
"C0 00 40 00 E0 00 40 20 00 00 40 20 20 00 40 20 " + ;
"40 00 40 20 60 00 40 20 80 00 40 20 A0 00 40 20 " + ;
"C0 00 40 20 E0 00 40 40 00 00 40 40 20 00 40 40 " + ;
"40 00 40 40 60 00 40 40 80 00 40 40 A0 00 40 40 " + ;
"C0 00 40 40 E0 00 40 60 00 00 40 60 20 00 40 60 " + ;
"40 00 40 60 60 00 40 60 80 00 40 60 A0 00 40 60 " + ;
"C0 00 40 60 E0 00 40 80 00 00 40 80 20 00 40 80 " + ;
"40 00 40 80 60 00 40 80 80 00 40 80 A0 00 40 80 " + ;
"C0 00 40 80 E0 00 40 A0 00 00 40 A0 20 00 40 A0 " + ;
"40 00 40 A0 60 00 40 A0 80 00 40 A0 A0 00 40 A0 " + ;
"C0 00 40 A0 E0 00 40 C0 00 00 40 C0 20 00 40 C0 " + ;
"40 00 40 C0 60 00 40 C0 80 00 40 C0 A0 00 40 C0 " + ;
"C0 00 40 C0 E0 00 40 E0 00 00 40 E0 20 00 40 E0 " + ;
"40 00 40 E0 60 00 40 E0 80 00 40 E0 A0 00 40 E0 " + ;
"C0 00 40 E0 E0 00 80 00 00 00 80 00 20 00 80 00 " + ;
"40 00 80 00 60 00 80 00 80 00 80 00 A0 00 80 00 " + ;
"C0 00 80 00 E0 00 80 20 00 00 80 20 20 00 80 20 " + ;
"40 00 80 20 60 00 80 20 80 00 80 20 A0 00 80 20 " + ;
"C0 00 80 20 E0 00 80 40 00 00 80 40 20 00 80 40 " + ;
"40 00 80 40 60 00 80 40 80 00 80 40 A0 00 80 40 " + ;
"C0 00 80 40 E0 00 80 60 00 00 80 60 20 00 80 60 " + ;
"40 00 80 60 60 00 80 60 80 00 80 60 A0 00 80 60 " + ;
"C0 00 80 60 E0 00 80 80 00 00 80 80 20 00 80 80 " + ;
"40 00 80 80 60 00 80 80 80 00 80 80 A0 00 80 80 " + ;
"C0 00 80 80 E0 00 80 A0 00 00 80 A0 20 00 80 A0 " + ;
"40 00 80 A0 60 00 80 A0 80 00 80 A0 A0 00 80 A0 " + ;
"C0 00 80 A0 E0 00 80 C0 00 00 80 C0 20 00 80 C0 " + ;
"40 00 80 C0 60 00 80 C0 80 00 80 C0 A0 00 80 C0 " + ;
"C0 00 80 C0 E0 00 80 E0 00 00 80 E0 20 00 80 E0 " + ;
"40 00 80 E0 60 00 80 E0 80 00 80 E0 A0 00 80 E0 " + ;
"C0 00 80 E0 E0 00 C0 00 00 00 C0 00 20 00 C0 00 " + ;
"40 00 C0 00 60 00 C0 00 80 00 C0 00 A0 00 C0 00 " + ;
"C0 00 C0 00 E0 00 C0 20 00 00 C0 20 20 00 C0 20 " + ;
"40 00 C0 20 60 00 C0 20 80 00 C0 20 A0 00 C0 20 " + ;
"C0 00 C0 20 E0 00 C0 40 00 00 C0 40 20 00 C0 40 " + ;
"40 00 C0 40 60 00 C0 40 80 00 C0 40 A0 00 C0 40 " + ;
"C0 00 C0 40 E0 00 C0 60 00 00 C0 60 20 00 C0 60 " + ;
"40 00 C0 60 60 00 C0 60 80 00 C0 60 A0 00 C0 60 " + ;
"C0 00 C0 60 E0 00 C0 80 00 00 C0 80 20 00 C0 80 " + ;
"40 00 C0 80 60 00 C0 80 80 00 C0 80 A0 00 C0 80 " + ;
"C0 00 C0 80 E0 00 C0 A0 00 00 C0 A0 20 00 C0 A0 " + ;
"40 00 C0 A0 60 00 C0 A0 80 00 C0 A0 A0 00 C0 A0 " + ;
"C0 00 C0 A0 E0 00 C0 C0 00 00 C0 C0 20 00 C0 C0 " + ;
"40 00 C0 C0 60 00 C0 C0 80 00 C0 C0 A0 00 F0 FB " + ;
"FF 00 A4 A0 A0 00 80 80 80 00 00 00 FF 00 00 FF " + ;
"00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF " + ;
"00 00 FF FF FF 00 FF FF FF FF FF FF FF FF FF FF " + ;
"FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF " + ;
"FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF " + ;
"FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF " + ;
"FF FF FF 00 00 00 FF FF FF FF 00 FF FF FF FF FF " + ;
"FF FF FF 00 00 00 FF FF FF 00 00 00 FF FF FF FF " + ;
"FF FF FF 00 00 00 FF FF 00 00 00 00 00 FF FF FF " + ;
"FF FF FF 00 00 00 FF FF 00 00 FF 00 00 00 FF FF " + ;
"FF FF FF 00 00 00 FF FF 00 FF FF FF 00 00 00 FF " + ;
"FF FF FF 00 00 00 FF FF FF FF FF FF FF 00 00 FF " + ;
"FF FF FF 00 00 00 FF FF FF FF FF FF FF FF 00 FF " + ;
"FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF " + ;
"FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF " + ;
"FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF " + ;
"FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF " + ;
"FF FF FF 00 00 00 FF FF FF FF FF FF FF FF FF FF " + ;
"FF FF FF 00 00 00 "
#endif
* ========================== EOF of testbrw.prg ==========================
O primeiro funciona correto, o segundo não.
Este é o encrencado
Código: Selecionar todos
/*
*
* demobrowsearr.prg
*
* $Id$
*
* HWGUI - Harbour Win32 GUI and GTK library source code:
* Sample for HBROWSE class for arrays
*
* Copyright 2002 Alexander S.Kresin <alex@kresin.ru>
* www - http://www.kresin.ru
* Copyright 2020 Wilfried Brunken, DF7BE
*/
/*
More samples for ARRAY BROWSE in
utils\devtools\memdump.prg
Because the HBROWSE class for arrays have some bugs,
so this sample demonstrates a suitable working browse function
for full editing of arrays (mainly without crash's).
This sample is for an array with one column of type "C", but
it could be possible to extend it for more columns with other types.
For editing features you need buttons for adding, editing and
deleting lines.
We will fix the bugs as soon as possible.
The HBROWSE class for DBF's is very stable.
Sample for read out the edited array:
@ 360,410 BUTTON oBtn4 CAPTION "OK " SIZE 80,26 ;
ON CLICK { | | bCancel := .F. , ;
aBrowseList := oBrowse:aArray , ;
hwg_EndDialog() }
*/
* Status:
* WinAPI : Yes
* GTK/Linux: Yes
* GTK/Win : Yes
#include "hwgui.ch"
#include "common.ch"
#ifdef __XHARBOUR__
#include "ttable.ch"
#endif
FUNCTION DemoBrowseArr( lWithDialog, oDlg )
LOCAL oBrowse , oFont , oBtn1 , oBtn2 , oBtn3 , oBtn4
LOCAL aBrowseList, aRow, aCol, oCol, nTmp
#ifdef __PLATFORM__WINDOWS
PREPARE FONT oFont NAME "MS Sans Serif" WIDTH 0 HEIGHT -13
#else
PREPARE FONT oFont NAME "Sans" WIDTH 0 HEIGHT 12 && vorher 13
#endif
/*
If the base array has one dimension, you need to convert it
first into a 2 dimension array
(and back again for storage after editing)
*/
aBrowseList := Array(10,10)
FOR EACH aRow IN aBrowseList
FOR EACH aCol IN aRow
aCol := Ltrim( Str( aCol:__EnumIndex() ) ) + "." + Ltrim( Str( aCol:__EnumIndex() ) )
NEXT
NEXT
IF lWithDialog
INIT DIALOG oDlg ;
TITLE "demobrowsearr.prg - Browse Array" ;
AT 0,0 ;
SIZE 600, 500 ;
NOEXIT ;
STYLE WS_DLGFRAME + WS_SYSMENU + DS_CENTER
ENDIF
/*
Do not use parameters AUTOEDIT and APPEND, they are buggy.
*/
ButtonForSample( "demobrowsearr.prg" )
@ 21, 80 BROWSE oBrowse ;
ARRAY ;
ON CLICK { | | BrwArrayEditElem( oBrowse ) };
STYLE WS_VSCROLL + WS_HSCROLL + WS_BORDER ;
SIZE 500, 300
* Pressing ENTER starts editing of element, too
//hwg_CREATEARLIST( oBrowse, aBrowseList )
oBrowse:aArray := aBrowseList
FOR EACH oCol IN aBrowseList[1]
FOR EACH nTmp IN { oCol:__EnumIndex() }
oBrowse:AddColumn( HColumn():New( Ltrim(Str(nTmp, 5)),{|v,o|(v),o:aArray[o:nCurrent,nTmp]},"C",10,0,.F.,DT_CENTER ) )
NEXT
//oCol:Heading := Ltrim( Str( oCol:__EnumIndex() ) )
//oCol:Length := 20
NEXT
oBrowse:bcolorSel := hwg_ColorC2N( "800080" )
* FONT setting is mandatory, otherwise crashes with "Not exported method PROPS2ARR"
oBrowse:ofont := oFont && HFont():Add( 'Arial',0,-12 )
@ 10, 410 BUTTON oBtn1 ;
CAPTION "Edit" ;
SIZE 60,25 ;
ON CLICK { || BrwArrayEditElem( oBrowse ) } ;
TOOLTIP "Click or ENTER: Edit element under cursor"
@ 70, 410 BUTTON oBtn2 ;
CAPTION "Add" ;
SIZE 60,25 ;
ON CLICK { || BrwArrayAddElem( oBrowse ) } ;
TOOLTIP "Add element"
@ 140, 410 BUTTON oBtn3 ;
CAPTION "Delete" ;
SIZE 60,25 ;
ON CLICK { || BrwArrayDelElem( oBrowse ) } ;
TOOLTIP "Delete element under cursor"
@ 260,410 BUTTON oBtn4 ;
CAPTION "OK " ;
SIZE 80,26 ;
ON CLICK { || hwg_EndDialog() }
IF lWithDialog
oDlg:Activate()
ENDIF
RETURN .T.
STATIC FUNCTION BrwArrayEditElem( oBrowse )
* Edit the Element in the array
LOCAL nlaeng, cGetfield, cOldget, aRow
hwg_Msginfo( ;
"RowPos: " + hb_ValToExp( oBrowse:RowPos ) + hb_Eol() + ;
"ColPos: " + hb_ValToExp( oBrowse:ColPos ) )
nlaeng := oBrowse:acolumns[ oBrowse:ColPos ]:length
* Should be an element with one dimension and one element
aRow := oBrowse:aArray[ oBrowse:nCurrent ]
cGetField := Padr( aRow[ oBrowse:ColPos ], nlaeng )
cOldget := cGetfield
* Call edit window (GET)
cGetfield := BrwArrayGetElem( oBrowse, cGetfield )
* Write back, if modified or not cancelled
IF ( .NOT. EMPTY( cGetfield ) ) .AND. ( cOldget != cGetfield )
oBrowse:aArray[ oBrowse:nCurrent, oBrowse:ColPos ] := { cGetfield }
oBrowse:lChanged := .T.
oBrowse:Refresh()
ENDIF
RETURN Nil
STATIC FUNCTION BrwArrayAddElem( oBrowse )
* Add array element
LOCAL oTotReg , i , nlaeng , cGetfield
oTotReg := {}
nlaeng := oBrowse:acolumns[1]:length
cGetfield := SPACE(nlaeng)
IF (oBrowse:aArray == NIL) .OR. EMPTY(oBrowse:aArray)
// ( LEN(oBrowse:aArray) == 1 .AND. oBrowse:aArray[1] == "" )
oBrowse:aArray := {}
ENDIF
* Copy browse array and get number of elements
FOR i := 1 TO LEN( oBrowse:aArray )
AADD( oTotReg, oBrowse:aArray[ i ] )
NEXT
* Edit new element
cGetfield := BrwArrayGetElem( oBrowse, cGetfield )
IF .NOT. EMPTY( cGetfield )
* Add new item
AADD( oTotReg, { cGetfield } )
oBrowse:aArray := oTotReg
oBrowse:Refresh()
ENDIF
RETURN Nil
STATIC FUNCTION BrwArrayDelElem( obrw )
* Delete array element
IF ( obrw:aArray == Nil ) .OR. Empty( obrw:aArray )
* Nothing to delete
RETURN NIL
ENDIF
Adel( obrw:aArray, obrw:nCurrent )
ASize( obrw:aArray, Len( obrw:aArray ) - 1 )
obrw:lChanged := .T.
obrw:Refresh()
RETURN Nil
STATIC FUNCTION BrwArrayGetElem( oBrowse, cgetf )
* Edit window for element
* Cancel: return empty string
LOCAL clgetf , lcancel , oDlg
LOCAL oLabel1, oLabel2, oGet1, oButton1, oButton2
lcancel := .F.
clgetf := cgetf
INIT DIALOG oDlg ;
TITLE "Edit array element" ;
AT 437,74 ;
SIZE 635,220 ;
CLIPPER STYLE WS_POPUP + WS_VISIBLE + WS_CAPTION + WS_SYSMENU + WS_SIZEBOX + DS_CENTER
@ 38,12 SAY oLabel1 ;
CAPTION "Record number:" ;
SIZE 136,22
@ 188,12 SAY oLabel2 ;
CAPTION Alltrim( Str( oBrowse:nCurrent ) ) ;
SIZE 155,22
@ 38,46 GET oGet1 ;
VAR clgetf ;
SIZE 534,24 ;
STYLE WS_BORDER
@ 38,100 BUTTON oButton1 ;
CAPTION "Save" ;
SIZE 80,32 ;
STYLE WS_TABSTOP + BS_FLAT ;
ON CLICK { | | oDlg:Close() } ;
TOOLTIP "Save changes and return to array browse list"
@ 169,100 BUTTON oButton2 ;
CAPTION "Cancel" ;
SIZE 80,32 ;
STYLE WS_TABSTOP + BS_FLAT ;
ON CLICK { | | lcancel := .T. , oDlg:Close() } ;
TOOLTIP "Return to array browse list without saving modifications"
ACTIVATE DIALOG oDlg CENTER
* Cancelled ?
IF lcancel
clgetf := ""
ENDIF
RETURN clgetf
* ============================ EOF of demobrowsearr.prg ==============================
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Como pegar coluna do browse
Resumindo: ColPos não é, Colpos se refere às colunas na tela somente. o nCol dá erro.
Mas isso ainda não importa, porque está com problema de navegação.
NA TELA, olhando a tela, parado na primeira coluna, seta pro lado pula pra coluna 4 ou 5, para o que seria a primeira coluna depois de todas que estão na tela.
Igual acontece com a linha, quando apertamos pagedown, mas com as colunas.
Com as duas colunas do exemplo original, a seta não fazia nada
Por enquanto isso é prioridade, antes de encontrar o raio da coluna.
Curiosamente tem esse exemplo que mostrei, com 2 browses, 1 funciona outro não.
Vi como diferença o hwg_CreateArList(), foi o que testei alterar e não resolveu.
Por enquanto sem idéias, a não ser tentar isolar o que funciona, e alterar a partir dali.
Posso estar meio ceguinho e deixando passar alguma coisa.
Só depois volto no problema de pegar coluna.
Mas isso ainda não importa, porque está com problema de navegação.
NA TELA, olhando a tela, parado na primeira coluna, seta pro lado pula pra coluna 4 ou 5, para o que seria a primeira coluna depois de todas que estão na tela.
Igual acontece com a linha, quando apertamos pagedown, mas com as colunas.
Com as duas colunas do exemplo original, a seta não fazia nada
Por enquanto isso é prioridade, antes de encontrar o raio da coluna.
Curiosamente tem esse exemplo que mostrei, com 2 browses, 1 funciona outro não.
Vi como diferença o hwg_CreateArList(), foi o que testei alterar e não resolveu.
Por enquanto sem idéias, a não ser tentar isolar o que funciona, e alterar a partir dali.
Posso estar meio ceguinho e deixando passar alguma coisa.
Só depois volto no problema de pegar coluna.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Como pegar coluna do browse
Está aí pra quem quiser.
4 browses
A ordem é primeiro o de cima e depois o de baixo.
Pra ligarem a imagem aos nomes browse1(), browse3(), browse2(), browse4()
1 3
2 4
Apertei seta pra direita
Browse1() e browse3() ok, estão na coluna 2.
Browse2() não saiu da coluna 1
Browse4() pulou direto pra coluna 4
Alguém já tinha percebido isso e consegue explicar ?
4 browses
A ordem é primeiro o de cima e depois o de baixo.
Pra ligarem a imagem aos nomes browse1(), browse3(), browse2(), browse4()
1 3
2 4
Apertei seta pra direita
Browse1() e browse3() ok, estão na coluna 2.
Browse2() não saiu da coluna 1
Browse4() pulou direto pra coluna 4
Código: Selecionar todos
#include "hwgui.ch"
FUNCTION Test
LOCAL oDlg
INIT DIALOG oDlg ;
TITLE "About" ;
AT 0, 0 ;
SIZE 1024, 768
Browse1()
Browse2()
Browse3()
Browse4()
ACTIVATE DIALOG oDlg CENTER
RETURN Nil
FUNCTION Browse1()
LOCAL oBrw1
LOCAL aSample1 := { {"Alex",17,2500}, {"Victor",42,2200}, {"John",31,1800}, ;
{"Sebastian",35,2000}, {"Mike",54,2600}, {"Sardanapal",22,2350}, {"Sergey",30,2800}, {"Petr",42,2450} }
@ 20, 20 BROWSE oBrw1 ;
ARRAY ;
SIZE 280, 300 ;
STYLE WS_BORDER + WS_VSCROLL + WS_HSCROLL ;
ON CLICK { || BrowseClick( oBrw1 ) }
oBrw1:aArray := aSample1
oBrw1:AddColumn( HColumn():New( "Name", {|v,o| (v), o:aArray[o:nCurrent,1]},"C",12,0,.F.,DT_CENTER ) )
oBrw1:AddColumn( HColumn():New( "Age", {|v,o| (v), o:aArray[o:nCurrent,2]},"N",6,0,.T.,DT_CENTER,DT_RIGHT ) )
oBrw1:AddColumn( HColumn():New( "Koef", {|v,o| (v), o:aArray[o:nCurrent,3]},"N",6,0,.F.,DT_CENTER,DT_RIGHT ) )
oBrw1:aColumns[2]:footing := "Age"
oBrw1:aColumns[2]:lResizable := .F.
RETURN Nil
FUNCTION Browse2()
LOCAL oBrw2
LOCAL aSample2 := { {"1","Line 1",10}, {"1","Line 2",22}, {"0","Line 3",40} }
@ 20, 350 BROWSE oBrw2 ;
ARRAY ;
SIZE 280, 300 ;
STYLE WS_BORDER + WS_VSCROLL + WS_HSCROLL ;
ON CLICK { || BrowseClick( oBrw2 ) }
hwg_CREATEARLIST( oBrw2,aSample2 )
oBrw2:aColumns[2]:length := 6
oBrw2:aColumns[3]:length := 4
//oBrw2:bKeyDown := { |o,key| BrwKey( o, key ) }
//oBrw2:bcolorSel := oBrw2:htbColor := 0xeeeeee
//oBrw2:tcolorSel := 0xff0000
RETURN Nil
FUNCTION Browse3()
LOCAL oBrw3, aRow, aCol
LOCAL aList := Array(10,10)
FOR EACH aRow IN aList
FOR EACH aCol IN aRow
aCol := Str( aRow:__EnumIndex(), 3 ) + "." + Str( aCol:__EnumIndex(), 3 )
NEXT
NEXT
@ 500, 20 BROWSE oBrw3 ;
ARRAY ;
SIZE 280, 300 ;
STYLE WS_BORDER + WS_VSCROLL + WS_HSCROLL ;
ON CLICK { || BrowseClick( oBrw3 ) }
oBrw3:aArray := aList
oBrw3:AddColumn( HColumn():New( "Name", {|v,o| (v), o:aArray[o:nCurrent,1]},"C",12,0,.F.,DT_CENTER ) )
oBrw3:AddColumn( HColumn():New( "Age", {|v,o| (v), o:aArray[o:nCurrent,2]},"C",10,0,.T.,DT_CENTER,DT_RIGHT ) )
oBrw3:AddColumn( HColumn():New( "Koef", {|v,o| (v), o:aArray[o:nCurrent,3]},"C",10,0,.F.,DT_CENTER,DT_RIGHT ) )
oBrw3:AddColumn( HColumn():New( "Name", {|v,o| (v), o:aArray[o:nCurrent,4]},"C",12,0,.F.,DT_CENTER ) )
oBrw3:AddColumn( HColumn():New( "Age", {|v,o| (v), o:aArray[o:nCurrent,5]},"C",10,0,.T.,DT_CENTER,DT_RIGHT ) )
oBrw3:AddColumn( HColumn():New( "Koef", {|v,o| (v), o:aArray[o:nCurrent,6]},"C",10,0,.F.,DT_CENTER,DT_RIGHT ) )
oBrw3:AddColumn( HColumn():New( "Name", {|v,o| (v), o:aArray[o:nCurrent,7]},"C",12,0,.F.,DT_CENTER ) )
oBrw3:AddColumn( HColumn():New( "Age", {|v,o| (v), o:aArray[o:nCurrent,8]},"C",10,0,.T.,DT_CENTER,DT_RIGHT ) )
oBrw3:AddColumn( HColumn():New( "Koef", {|v,o| (v), o:aArray[o:nCurrent,9]},"C",10,0,.F.,DT_CENTER,DT_RIGHT ) )
oBrw3:AddColumn( HColumn():New( "Name", {|v,o| (v), o:aArray[o:nCurrent,10]},"C",12,0,.F.,DT_CENTER ) )
oBrw3:aColumns[2]:lResizable := .T.
RETURN Nil
FUNCTION Browse4()
LOCAL oBrw4, aRow, aCol
LOCAL aList := Array(10,10)
FOR EACH aRow IN aList
FOR EACH aCol IN aRow
aCol := Str( aRow:__EnumIndex(), 3 ) + "." + Str( aCol:__EnumIndex(), 3 )
NEXT
NEXT
@ 500, 350 BROWSE oBrw4 ;
ARRAY ;
SIZE 280, 300 ;
STYLE WS_BORDER + WS_VSCROLL + WS_HSCROLL ;
ON CLICK { || BrowseClick( oBrw4 ) }
hwg_CREATEARLIST( oBrw4, aList )
oBrw4:aColumns[1]:length := 10
oBrw4:aColumns[2]:length := 10
oBrw4:aColumns[3]:length := 10
oBrw4:aColumns[4]:length := 10
oBrw4:aColumns[5]:length := 10
oBrw4:aColumns[6]:length := 10
oBrw4:aColumns[7]:length := 10
oBrw4:aColumns[8]:length := 10
oBrw4:aColumns[9]:length := 10
oBrw4:aColumns[10]:length := 10
//oBrw4:bKeyDown := { |o,key| BrwKey( o, key ) }
//oBrw4:bcolorSel := oBrw2:htbColor := 0xeeeeee
//oBrw4:tcolorSel := 0xff0000
RETURN Nil
FUNCTION BrowseClick( oBrowse )
hwg_MsgInfo( ;
hb_ValToExp( oBrowse:RowPos ) + hb_Eol() + ;
hb_ValToExp( oBrowse:ColPos ) )
RETURN Nil
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Como pegar coluna do browse
Olá!
Elementar meu caro!
LOCAL oBrw4
...
ON CLICK { |oBrw4,nColpos| BrowseClick( oBrw4,nColPos ) }
Precisa passar var LOCAL, nos parametros de entrada "||" do CODEBLOCK! Aprendi isso, futucando aqui e ali...
Saudações,
Itamar M. Lins Jr.
Elementar meu caro!
LOCAL oBrw4
...
ON CLICK { |oBrw4,nColpos| BrowseClick( oBrw4,nColPos ) }
Precisa passar var LOCAL, nos parametros de entrada "||" do CODEBLOCK! Aprendi isso, futucando aqui e ali...
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Como pegar coluna do browse
Deu certo.
O outro problema, ainda não entendi muito bem, porque cada hora parece uma coisa.
No momento parece Editable := .T.
O outro problema, ainda não entendi muito bem, porque cada hora parece uma coisa.
No momento parece Editable := .T.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/