FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Nuevo FWH 16.05
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Nuevo FWH 16.05
Posted: Mon Jul 04, 2016 10:12 PM
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Nuevo FWH 16.05
Posted: Wed Jul 06, 2016 01:48 PM

Maestro, porque esta versi贸n sali贸 tan tarde? Estamos pensando en la compra de la corriente FiveWin, me pregunto si es estable, o deber铆a esperar un poco?

Gracias, saludos.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Nuevo FWH 16.05
Posted: Wed Jul 06, 2016 02:20 PM

Joao, es estable, y no hay ningun problema
Ha salido m谩s tarde para incluir en esta versi贸n FwMysql y realizar pruebas
Antonio te lo confirmar谩

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Nuevo FWH 16.05
Posted: Wed Jul 06, 2016 02:47 PM
cnavarro wrote:Joao, es estable, y no hay ningun problema
Ha salido m谩s tarde para incluir en esta versi贸n FwMysql y realizar pruebas
Antonio te lo confirmar谩


Gracias, master.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Nuevo FWH 16.05
Posted: Wed Jul 06, 2016 06:14 PM

Totalmente estable y probada

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 133
Joined: Mon May 12, 2008 04:13 PM
Re: Nuevo FWH 16.05
Posted: Sat Jul 16, 2016 07:32 PM

Maestro Antonio

fivewin 16.05

Experiencia con tMySql nuevo y comparando con ADO

Para un oRcs
1) oRcs:Clone(),oRcs:Open() y oRcs:Close()
uso directamente oRcs := oConexion:Query("") trabaja perfecto

2) oRcs:Update()
uso oRcs:Save() trabaja bien, sin embargo cada tabla debe tener un indice principal

3) DefinedSize logitud campo
Precision longitud campo numerico
NumericScale cantidad de decimales
Uso
oRcs:FieldLen(oRcs:FieldPos(cCampo))
oRcs:FieldDec(oRcs:FieldPos(cCampo))
La pregunta pueden hacer algo equivalente a ADO
oRcs:Fields(cCampo):Precision
oRcs:Fields(cCampo):NumericScale
mas eso en el caso de variable numericas da valores que no coinciden en la longitud
Ejemplo: con
a) Campo VARCHAR (type "C" caracter) esta bien con FieldLen
b) Campo DECIMAL (type "N" numerico) la longitud no coincide en algunoTEXYs casos pero los decimales si est谩n bien con FieldDec
c) Campo INT (type "C" y debe numerico) la longitud no coincide y tal vez que no tiene decimales siempre da 31 con FielDec
d) Campo TINYINT (type "C" y debe numerico) la longitud no coincide y tal vez que no tiene decimales siempre da 31 con FielDec
e) Campo DATE (type "D" fecha) la longitud es 17 con FieldLen
f) Campo TEXT (type "m" memo) la longitud est谩 bien con FieldLen

4) Sort
oRcs:Sort:= cCampo + " ASC"
oRcs:Sort:= cCampo + " DESC"
oRcs:SetOrder( c, u, lDescend )
no sirvi贸

para guiarme revis茅 tarrdata.prg y datarow.prg

NOTA PARA 64 bits no sirve da error ni con la libreria libmariadb64.lib ni libmysql64.lib
Dice: La aplicaci貌n no se pudo iniciar correctamente (0xc000007b)

En windows XP

oBrw:aCols[ 1 ]:SetCheck( { "Imagenes\level1.bmp", "Imagenes\level2.bmp" }, {|| algo()})

no sirve no salen los bmp, prob猫 agregandole
oBrw:aCols[ 1 ]:bStrData := { || If(Tabla->CHECKP, "S", "N" ) }
oBrw:aCols[ 1 ]:nDataStrAlign := AL_RIGHT
me muestra la S o N y al darle doble click hace lo que debe hacer

Fivewin 16.11
Harbour 3.2.0
Visual Studio 2015 community
MariaDb/MySql

Ing. MSc. Luis Duque
http://www.accasoft.net
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Nuevo FWH 16.05
Posted: Sat Jul 16, 2016 09:59 PM

Luis,

gracias por la informaci贸n

vamos a revisarlo cuanto antes

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Nuevo FWH 16.05
Posted: Sun Jul 17, 2016 12:02 PM
Many thanks for the feedback.

MariaDB/MySql functionality is being continuously improved after the last release. Very soon we shall be publishing updated documentation.

For those users of 16.05 who intend to use or test mysql functionality, we can provide the latest revised libs. Bug-reports will be attended on top priority.


1) oRcs:Clone(),oRcs:Open() y oRcs:Close()
uso directamente oRcs := oConexion:Query("") trabaja perfecto

Release version:
a) There is no Open() method.
Suggested: oRs := oCn:RowSet( cSql/TableName )
or oRs := oCn:Query( cSql/TableName ) // alias method
For compatible syntax with FW_OpenRecordSet(), we can also use oRs := mysql_RowSet( oCn, cSql/TableName )
Note: After opening, oRs should be checked against NIL to ascertain success or failure of the call.

b) oRs:Close() Optional but recommended

Latest:
c) oRs:Clone() implemented and is under testing


2) oRcs:Update()
uso oRcs:Save() trabaja bien, sin embargo cada tabla debe tener un indice principal

Release Version:
Saving and Resyncing required primary keys.

Latest:
(a) Unique fields work as good as primary keys
(b) Edit of tables without any primary or unique keys is also implemented and is now possible if all the current record's values together are unique. Resync may have limitations.

Note: While other libs read entire table from the server again after every modification and save, FWH implementation refreshes current record only after save, using ReSync() method. This should make a difference in performance.


3) DefinedSize logitud campo, ...........


Impleneted in the latest version:
DefinedSize, ActualSize, Precision, NumericScale, OriginalValue
Proposed to implement: UnderlyingValue

Now the methods FieldLen(), FieldType(), FieldDec() accept field number or field name.

In addition, FieldName() also accepts fieldname as paramter. This might sound odd but the real purpose is this. The sql statement creating the rowset could have used alias names for the fields, eg: FIRST AS FIRSTNAME, LAST AS LASTNAME, HIREDATE AS JGDATE, etc.
The rowset displays the alias names only eg. FirstName, LastName, JgDate, etc but not the original field names of the original table.

We can query oRs:FieldName( <original-name in the table> ) --> <alias name in the rowset>

Note: Attempting to edit/modify any field values in such Query with aliased field names results in run-time error with other 3rd party libs, but works perfectly with RowSet

Field-lengths:
In the released version, field sizes were reported as provided by the libmysql functions. These match with the other libraries. The confusion with unicode implementation also was handled properly.

Latest Version:
Field sizes are recast to match the corresponding DBF sizes.


4) Sort
oRcs:= cCampo + " ASC"
oRcs:= cCampo + " DESC"
oRcs:SetOrder( c, u, lDescend )
no sirvi贸

Working with us in the release version and also now. We can address the issue if specific examples are provided.


NOTA PARA 64

Probable reason might be that you are not using 64 bit dlls with 64 bit exes.
Please copy fwh\dll\libmysql64.dll or libmariadb64.dll to the executable path renaming them as libmysql.dll or libmariadb.dll.

SetCheck()
In case you want to have both bitmaps and prompts then please use:

oCol:SetCheck( aBitmaps, .T., aPrompts )
In your case :
oBrw:aCols[ 1 ]:SetCheck( { "Imagenes\level1.bmp", "Imagenes\level2.bmp" }, .T., { "S", "N" } )
If there is any specific problem with XP, we shall look into.
Note: Please never use bStrData and bOnPostEdit in the application program. These two are deprecated many years back. We are keeping them available only for compatibility of legacy programs.
Regards



G. N. Rao.

Hyderabad, India
Posts: 133
Joined: Mon May 12, 2008 04:13 PM
Re: Nuevo FWH 16.05
Posted: Sun Jul 17, 2016 06:10 PM
Gracias por las respuestas,

Estoy cambiando todo un Software ERP que est谩 con ADO y ha sido muy f谩cil el cambio y es totalmente estable, solo unos problemas que se pueden solucionar.

En el xbrowse no he podido refrescarlo cuando se hace un cambio en una tabla.
Ejemplo:
Code (fw): Select all Collapse
#include "fivewin.ch"
#include "xbrowse.ch"


function Main()

聽 聽local oWnd

聽 聽 oConexion := mysql_Connect( { "localhost", "rovigo", "root", "1223", "3306" } )
聽 聽 If oConexion == nil
聽 聽 聽 聽msginfo("error base de datos")
聽 聽 聽 聽return(.f.)
聽 聽 EndIf

聽 聽 oRcs := oConexion:Query("Select CodCli,NomCli From Clientes Limit 5")
聽 聽 If oRcs==Nil
聽 聽 聽 聽msginfo("error tabla")
聽 聽聽Return(.f.)
聽 聽 EndIf

聽 聽define window ownd
聽 聽 聽 聽 聽 聽 oBrw := brow(oWnd,oRcs)
聽 聽activate window oWnd

return nil


Procedure brow(oWnd,oRcs)


聽 聽 聽 聽 聽oBrw := TXBrowse():New( oWnd ) 

聽 聽聽 聽oBrw:lFlatStyle 聽 聽 聽 := .t.
聽 聽 聽 聽 聽oBrw:l2007 聽 聽 聽 聽 聽 聽:= .f.
聽 聽 聽 聽 oBrw:lKinetic 聽 聽 聽 聽 := .f.
聽 聽 聽 聽 oBrw:lExcelCellWise 聽 := .t. 聽 聽 聽聽 聽 聽 聽 

聽 聽 聽 聽 oBrw:nTop 聽 聽:= 0
聽 聽 聽 聽 oBrw:nLeft 聽 := 0
聽 聽 聽 聽 oBrw:nBottom := 500
聽 聽 聽 聽 oBrw:nRight 聽:= 400
聽 聽 聽 聽 
聽 聽 聽 聽 oBrw:lAllowRowSizing 聽 聽 := .f.
聽 聽 聽 聽 聽oBrw:lAllowColHiding 聽 聽 := .f.
聽 聽 聽 聽 聽 oBrw:lColDividerComplete := .t. 聽 聽

聽 聽 聽 聽 oBrw:nColDividerStyle 聽 聽:= LINESTYLE_BLACK
聽 聽 聽 聽 oBrw:nRowDividerStyle 聽 聽:= LINESTYLE_BLACK
聽 聽 聽 聽 聽 oBrw:lColDividerComplete := .t. //completa pintado sobre el footer cuando lineas no llenan todo el browse

聽 聽 聽 聽 聽 oBrw:nRowSel 聽 聽 聽 聽 聽 聽 := 1
聽 聽 聽 聽 聽 oBrw:nRowHeight 聽 聽 聽 聽 聽:= 35 //altura entre lineas
聽 聽 聽 聽 聽 oBrw:nMarqueeStyle 聽 聽 聽 := MARQSTYLE_HIGHLCELL //solo ilumina la celda actual

聽 聽 聽 聽 聽 oBrw:lHeader 聽 聽 聽 聽 聽 聽 := .t. //Que tendr谩 cabecera
聽 聽 聽 聽 聽 oBrw:nHeaderHeight 聽 聽 聽 := 60 //Altura cabeceras de col
聽 聽 聽 聽 oBrw:nHeaderLines 聽 聽 聽 聽:= 2

聽 聽 聽 聽 聽 oBrw:lFooter 聽 聽 聽 聽 聽 聽 := .t. //Que tendr谩 footer
聽 聽 聽 聽 聽 oBrw:nFooterLines 聽 聽 聽 聽:= 2 //Lineas del footer
聽 聽 聽 聽 聽 oBrw:nFooterHeight 聽 聽 聽 := 35 //Altura del Footer
聽 聽 聽 聽 聽 oBrw:lRecordSelector 聽 聽 := .t. //poner o no, COL de la flechita de la izq

聽 聽 聽 聽 oBrw:AddCol():bEditValue := { || oRcs:Fields("codcli"):value }
聽 聽 聽 聽 oBrw:aCols[ 1 ]:cHeader 聽 聽 聽 := "C贸digo"
聽 聽 聽 聽 oBrw:aCols[ 1 ]:nHeadStrAlign := AL_CENTER
聽 聽 聽 聽 聽 oBrw:aCols[ 1 ]:AddBmpFile( "up.bmp" )
聽 聽 聽 聽 聽 oBrw:aCols[ 1 ]:AddBmpFile( "down.bmp" )
聽 聽 聽 聽 聽 oBrw:aCols[ 1 ]:nHeadBmpAlign := AL_RIGHT
聽 聽 聽 聽 聽oBrw:aCols[ 1 ]:nWidth 聽 聽 聽 聽:= 150
聽 聽 聽 聽 聽oBrw:aCols[ 1 ]:bLClickHeader := {|r,c,f,o| FunSort(oBrw,oRcs)}

聽 聽 聽 聽 oBrw:AddCol():bEditValue := { || oRcs:Fields("nomcli"):value }
聽 聽 聽 聽 oBrw:aCols[ 2 ]:cHeader 聽 聽 聽 := "Nombre"
聽 聽 聽 聽 oBrw:aCols[ 2 ]:nHeadStrAlign := AL_CENTER
聽 聽 聽 聽 聽 oBrw:aCols[ 2 ]:AddBmpFile( "up.bmp" )
聽 聽 聽 聽 聽 oBrw:aCols[ 2 ]:AddBmpFile( "down.bmp" )
聽 聽 聽 聽 聽 oBrw:aCols[ 2 ]:nHeadBmpAlign := AL_RIGHT
聽 聽 聽 聽 聽oBrw:aCols[ 2 ]:nWidth 聽 聽 聽 聽:= 150
聽 聽 聽 聽 聽oBrw:aCols[ 2 ]:bLClickHeader := {|r,c,f,o| FunSort(oBrw,oRcs)}

聽 聽 聽 聽 聽 oBrw:SetMySql(oRcs)
聽 聽聽 聽oBrw:CreateFromCode()

Return(oBrw)
//
Function FunSort(oBrw,oRcs)

聽 聽 oRcs:Sort:= "nomcli ASC"

聽 聽 //Verifico si me est谩 ordenando y si lo ordena
聽 聽 oRcs:movefirst()
聽 聽 while !oRcs:Eof()
聽 聽 聽 聽 msginfo(oRcs:Fields("nomcli"):Value)
聽 聽 聽 聽oRcs:MoveNext()
聽 聽 EndDo
聽 聽 oRcs:movefirst()

聽 聽 //oRcs:Requery()

聽 聽 //No me refresca con .t. y sin .t.
聽 聽oBrw:Refresh(.t.)
聽 聽 Return nil


Coloqu猫 el msginfo() para verificar que si est脿 ordenado y si est脿 ordenado pero no me refresca el browse y con filter me pasa lo mismo que si filtra pero no me refresca el xbrowse.

ese es un ejemplo totalmente funcional y lo facil de manejar base de datos y tablas de MySql

Por otro lado logr猫 resolver el problema de longitud y decimales de la siguiente manera
oRcs:Fields("codcli"):Len
oRcs:Fields("codcli"):Dec
Fivewin 16.11
Harbour 3.2.0
Visual Studio 2015 community
MariaDb/MySql

Ing. MSc. Luis Duque
http://www.accasoft.net
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Nuevo FWH 16.05
Posted: Sun Jul 17, 2016 07:53 PM
Please do not use the above syntax for creating xbrowse. This is obsolete and does not allow you to take advantage of the many built-in features of xbrowse. Recommended to use command syntax.

This is our recommended way to create the above browse:
Code (fw): Select all Collapse
function brow( oWnd, oRcs )

聽 聽local oBrw

聽 聽@ 0,0 XBROWSE oBrw SIZE 400,500 PIXEL OF oWnd ;
聽 聽 聽 DATASOURCE oRcs ;
聽 聽 聽 COLUMNS "codcli", "nomcli" ;
聽 聽 聽 HEADERS "C贸digo", "Nombre" ;
聽 聽 聽 COLSIZES 150,150 ;
聽 聽 聽 AUTOSORT FOOTERS CELL LINES NOBORDER

聽 聽WITH OBJECT oBrw
聽 聽 聽 :nHeadStrAligns 聽 聽 聽:= AL_CENTER
聽 聽 聽 :nHeaderHeight 聽 聽 聽 := 60
聽 聽 聽 :nFooterHeight 聽 聽 聽 := 30
聽 聽 聽 :nRowHeight 聽 聽 聽 聽 聽:= 35
聽 聽 聽 //
聽 聽 聽 :CreateFromCode()
聽 聽END

return oBrw

1. Using AUTOSORT clause in XBrowse command:
This allows clicking on header to automatically sort columns. Second click on the same column toggles asc and desc order

2. The same code works for ADO RecordSet, TMySql or Dolphin Query and DBF also without changing even a single alphabet. (For dbf, oRcs should be the alias name)

3. Please consider having one primary key for every table and include that field in the queries always. Hope codcli is the primary key in this case.
Regards



G. N. Rao.

Hyderabad, India
Posts: 133
Joined: Mon May 12, 2008 04:13 PM
Re: Nuevo FWH 16.05
Posted: Sun Jul 17, 2016 11:39 PM
Gracias

voy a tomar en cuenta las sugerencias para xbrowse, pero lo que estoy colocando es solo para explicar lo que necesito.

AUTOSORT lo hace bien pero necesito que siempre se posicione en el primer registro sea ascendente o descendente.

mas eso necesito que cuando escriba en un get cualquier palabra se haga una nueva consulta o un filtros, pero vamos a suponer una consulta con el fin de mostrar
otra informaci贸n, insisto necesito refrescar el browse con la consulta nueva, con ado se hace bien solo con oBrw:Refresh()

Code (fw): Select all Collapse
#include "fivewin.ch"
#include "xbrowse.ch"


function Main()

聽 聽local oWnd
聽 聽cbuscar=space(20)

聽 聽 oConexion := mysql_Connect( { "localhost", "rovigo", "root", "1223", "3306" } )
聽 聽 If oConexion == nil
聽 聽 聽 聽msginfo("error base de datos")
聽 聽 聽 聽return(.f.)
聽 聽 EndIf

聽 聽 oRcs := oConexion:Query("Select CodCli,NomCli From Clientes Limit 20")
聽 聽 If oRcs==Nil
聽 聽 聽 聽msginfo("error tabla")
聽 聽聽Return(.f.)
聽 聽 EndIf

聽 聽DEFINE DIALOG oDlg SIZE 600, 600
聽 聽
聽 聽 聽 聽 聽 聽 oBrw := brow(oWnd,oRcs)
聽 聽 聽 聽 聽 聽 @20,0 get obuscar var cbuscar valid filtrar()

聽 聽ACTIVATE DIALOG oDlg CENTER

return nil


Procedure brow(oWnd,oRcs)
聽local oBrw

聽 聽@ 0,0 XBROWSE oBrw SIZE 200,200 PIXEL OF oWnd ;
聽 聽 聽 DATASOURCE oRcs ;
聽 聽 聽 COLUMNS "codcli", "nomcli" ;
聽 聽 聽 HEADERS "C贸digo", "Nombre" ;
聽 聽 聽 COLSIZES 150,150 ;
聽 聽 聽 AUTOSORT FOOTERS CELL LINES NOBORDER

聽 聽WITH OBJECT oBrw
聽 聽 聽 :nHeadStrAligns 聽 聽 聽:= AL_CENTER
聽 聽 聽 :nHeaderHeight 聽 聽 聽 := 60
聽 聽 聽 :nFooterHeight 聽 聽 聽 := 30
聽 聽 聽 :nRowHeight 聽 聽 聽 聽 聽:= 35
聽 聽 聽 //
聽 聽 聽 :CreateFromCode()
聽 聽END

return oBrw
//
Function FunSort(oBrw,oRcs)

聽 聽 oRcs:Sort:= "nomcli ASC"

聽 聽 //oRcs:Requery()

聽 聽 //No me refresca con .t. y sin .t.
聽 聽oBrw:Refresh(.t.)
聽 聽 Return nil
//
Function filtrar
聽 聽 If !Empty(cbuscar)
聽 聽 聽 聽 oRcs := oConexion:Query("Select CodCli,NomCli From Clientes where nomcli like '%&cbuscar%' Limit 20")
聽 聽 EndIf

聽 聽oBrw:Refresh()
聽 聽return(.t.)
Fivewin 16.11
Harbour 3.2.0
Visual Studio 2015 community
MariaDb/MySql

Ing. MSc. Luis Duque
http://www.accasoft.net
Posts: 133
Joined: Mon May 12, 2008 04:13 PM
Re: Nuevo FWH 16.05
Posted: Thu Jul 21, 2016 04:48 AM
Maestro Antonio

Alguna soluci贸n para que se refresque el xbrowse con la nueva clase tymsql
Refrescar desde el punto de vista que por algun motivo se hace una nueva consulta, un filtro un order.

Cabe destacar que con ado solo con oBrw:Refresh() lo hace y refrescando el oRcs:Refresh()

repito ejemplo

Code (fw): Select all Collapse
#include "fivewin.ch"
#include "xbrowse.ch"


function Main()

聽 聽local oWnd
聽 聽cbuscar=space(20)

聽 聽 oConexion := mysql_Connect( { "localhost", "rovigo", "root", "1223", "3306" } )
聽 聽 If oConexion == nil
聽 聽 聽 聽msginfo("error base de datos")
聽 聽 聽 聽return(.f.)
聽 聽 EndIf

聽 聽 oRcs := oConexion:Query("Select CodCli,NomCli From Clientes Limit 20")
聽 聽 If oRcs==Nil
聽 聽 聽 聽msginfo("error tabla")
聽 聽 Return(.f.)
聽 聽 EndIf

聽 聽DEFINE DIALOG oDlg SIZE 600, 600
聽 聽
聽 聽 聽 聽 聽 聽 oBrw := brow(oWnd,oRcs)
聽 聽 聽 聽 聽 聽 @20,0 get obuscar var cbuscar valid filtrar()

聽 聽ACTIVATE DIALOG oDlg CENTER

return nil


Procedure brow(oWnd,oRcs)
聽local oBrw

聽 聽@ 0,0 XBROWSE oBrw SIZE 200,200 PIXEL OF oWnd ;
聽 聽 聽 DATASOURCE oRcs ;
聽 聽 聽 COLUMNS "codcli", "nomcli" ;
聽 聽 聽 HEADERS "C贸digo", "Nombre" ;
聽 聽 聽 COLSIZES 150,150 ;
聽 聽 聽 AUTOSORT FOOTERS CELL LINES NOBORDER

聽 聽WITH OBJECT oBrw
聽 聽 聽 :nHeadStrAligns 聽 聽 聽:= AL_CENTER
聽 聽 聽 :nHeaderHeight 聽 聽 聽 := 60
聽 聽 聽 :nFooterHeight 聽 聽 聽 := 30
聽 聽 聽 :nRowHeight 聽 聽 聽 聽 聽:= 35
聽 聽 聽 //
聽 聽 聽 :CreateFromCode()
聽 聽END

return oBrw
//
Function FunSort(oBrw,oRcs)

聽 聽 oRcs:Sort:= "nomcli ASC"

聽 聽 //oRcs:Requery()

聽 聽 //No me refresca con .t. y sin .t.
聽 聽oBrw:Refresh(.t.)
聽 聽 Return nil
//
Function filtrar
聽 聽 If !Empty(cbuscar)
聽 聽 聽 聽 oRcs := oConexion:Query("Select CodCli,NomCli From Clientes where nomcli like '%&cbuscar%' Limit 20")
聽 聽 EndIf

聽 聽oBrw:Refresh()
聽 聽return(.t.)
Fivewin 16.11
Harbour 3.2.0
Visual Studio 2015 community
MariaDb/MySql

Ing. MSc. Luis Duque
http://www.accasoft.net
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Nuevo FWH 16.05
Posted: Thu Jul 21, 2016 07:14 AM
Code (fw): Select all Collapse
Function filtrar
    If !Empty(cbuscar)
        cbuscar := AllTrim( cbuscar )
        oBrw:oDbf := oConexion:Query("Select CodCli,NomCli From Clientes where nomcli like '%&cbuscar%' Limit 20")
    EndIf

   oBrw:Refresh()
   return(.t.)
Regards



G. N. Rao.

Hyderabad, India

Continue the discussion