| HMG 3.x Changelog |
|
|
Página 3 de 5 09/10/2009
BEGIN DATA ITERATOR <xExpression> STOPPER <xExpression> END DATA Esta nueva característica es útil, por ejemplo, para usar arrays en lugar de tablas para los reportes. Ejemplo: Public i := 1 Public aRows [ 20 ] [ 3 ] ... DEFINE REPORT TEMPLATE BEGIN DATA ITERATOR i++ STOPPER i == 20 END DATA ... BEGIN DETAIL BANDHEIGHT 6 BEGIN TEXT EXPRESSION aRows [i] [1] ... END DETAIL ... END REPORT La sección es opcional. Si se omite, 'Iterator' es establecido como 'dbskip()' y 'Stopper()' como 'Eof()'. Ejemplo Completo: \hmg\samples\report.advanced\demo8.prg 20/08/2009
Reportado por Vanguarda. Gracias a Grigory Filatov por la ayuda. 20/07/2009
08/06/2009
- WINDOW - TOOLBAR - TREE - TAB - SPLITBOX - CONTEXT MENU - DROPDOWN MENU - MAIN MENU - STATUSBAR
- LINES (NOLINES) - ALIGNMENT (CENTERALIGN,RIGHTALIGN) - TODAY (NOTODAY) - TODAYCIRCLE (NOTODAYCIRCLE) - DATATYPE (NUMERIC,CHARACTER,DATE) - CASECONVERT (UPPERCASE,LOWERCASE) - TICKMARKS (NOTICKS) - AUTOSIZEWINDOW (NOAUTOSIZEWINDOW) - AUTOSIZEMOVIE (NOAUTOSIZEMOVIE) - ERRORDLG (NOERRORDLG) - MENU (NOMENU) - OPEN (NOOPEN) - PLAYBAR (NOPLAYBAR) 14/05/2009
* Solucionado: 'if' redundante en el procesamiento de eventos del control Grid. Reportado por Grigory Filatov. * Solucionado: Grid (CellNavigation). Evento 'OnChange' no ejecutado cuando la selección es cambiada automáticamente después de aceptar los cambios de una celda con [Enter]. * Solucionado: ComboBox con imágenes. Problemas de lectura con la propiedad 'Item'. Reported por Esgici. * Solucionado: Browse control. Al cambiar el registro seleccionado con el botón derecho del mouse no ejecytaba el procedimieto 'OnChange'. * Solucionado: Los cambios programáticos no ejecutaban el procedimiento 'OnChange' para los siguientes controles: - ComboBox - Slider - ListBox - Edit - DatePicker - RadioGroup - MonthCalendar * Solucionado: Propiedad 'Value'. Desde esta versión, los cambios programáticos a esta propiedad solo ocurrir'án cuando el nuevo valor sea diferente del anterior. * Solucionado: Problemas de foco con Grids editables en ventanas 'child'. Reportado por Sudip. * Modificado: Control Grid (CellNavigation). Las teclas de movimiento del cursor (arriba y abajo) permiten salir del modo de edición aceptando los cambios. Al aceptar la modificación de una celda con [Enter] se seleccionará automaticamente la celda contigua. * Modificado: Documentación finalizada. 20/04/2009
01/04/2009
- Nuevo: DRAGITEMS LISTBOX. Ahore es posible mover un item por encima del último. - Solucionado: Bug en This.CellValue. Gracias a Grigory Filatov. - Solucionado: \hmg\samples\mysql\demo2.prg. Reportado y solucionado por sudip. 01/04/2009
- Nuevo: Propiedad DRAGITEMS para el control LISTBOX. Esta propiedad permite al usuario reordenar los items en un ListBox arrastrándolos. Ejemplos:\hmg\samples\listbox - Solucionado: Bug en This.CellValue. Gracias a Grigory Filatov. 01/04/2009
- Nuevo: comando WAIT WINDOW. Este comando muestra una ventana con un mensaje personalizado y pausa la ejecución del programa hasta que se pulsa cualquier tecla o se hace clic. Cuando la cláusula opcional nowait se especifica, la ejecución del programa continua después de mostrar el mensaje Para ocultar la ventana debe usarse WAIT CLEAR. Este comando debe utilizarse sólo después de que la ventana principal se haya activado. Sintaxis (comando): WAIT WINDOW <cMessage> [nowait] | CLEAR Sintaxis (Función): WaitWindow ([cMessage, lNoWait]) Para ocultar la ventana (WAIT CLEAR) debe omitirse ambos parámetros. Ejemplo 1: WAIT WINDOW "Press any key to continue" Ejemplo 2: WAIT WINDOW "Processing" NOWAIT <...> WAIT CLEAR Más ejemplos:\HMG\samples\wait_window - Nuevo: Objeto 'System'. Permitirá tener acceso de lectura y escritura a varias propiedades del sistema. La primera implementación permitirá tener acceso de lectura y escritura al portapapeles y acceso de lectura a varias propiedades del sistema. Las funciones de acceso al portapapeles están basadas en código de HWGUI y WHAT32. Sintaxis: System.Clipboard System.Clipboard := <cString> System.DesktopWidth System.DesktopHeight System.DefaultPrinter System.DesktopFolder System.MyDocumentsFolder System.ProgramFilesFolder System.SystemFolder System.TempFolder System.WindowsFolder Ejemplos: System.Clipboard := 'a string' <...> MsgInfo(System.Clipboard) <...> MsgInfo(Str(System.DesktopWidth)) <...> MsgInfo(Str(System.DesktopHeight)) <...> MsgInfo(System.DefaultPrinter) Más ejemplos: \hmg\samples\clipboard. - Modificado: Control Grid: 'This.CellValue' puede ser modificado. desde el procedimiento 'ColumnValid'. Ejemplo:\HMG\samples\grid_14 - Modificado: El comando EXECUTE...WAIT soporta ahora la cláusula HIDE. - Modificado: La librería ADORDD fue reemplazada por una versión anterior ya que la que se distribuye actualmente con Harbour presenta bugs (Muchas Gracias a Grigory Filatov por su ayuda!). - Modificado: La librería 'socket' de Mateo Baccan ya no es enlazada por defecto y será removida en el próximo release. Debe usarse HBTIP en su lugar. - Modificado: FRAW GRAPH (pie type) acepta ahora valores mayores a 7 digitos (Gracias a Esgici). - Solucionado: Problemas al cambiar el contenido de las celdas de un control Grid, desde el procedimiento 'ColumnValid', para la fila que se está editando. - Solucionado: Problemas con el método 'AddItem' (Grid) en sistemas Win9x. - Solucionado: Problemas con DRAW GRAPH (tipo PIE) con valores bajos (cercanos al 0%). 09/10/2008 HMG 2.6.7
26/09/2008 HMG 2.6.6
Botones de ToolBar: Window.ToolBar.Button Controles en Tab: Window.Tab(nPage).Control Controles en SplitBox (El nombre 'SplitBox' es asignado automáticamente): Window.SplitBox.Control Cuando un ToolBar está en un SplitBox, la sintaxis es: Window.SplitBox.ToolBar.Button Ejemplos: \hmg\samples\containers. 24/09/2008 HMG 2.6.5
31/08/2008 HMG 2.6.4
29/08/2008 HMG 2.6.3
28/08/2008 HMG 2.6.2
27/08/2008 HMG 2.6.1
25/08/2008 HMG 2.6.0
Más ejemplos en (c:\hmg\samples\tab). 23/08/2008 HMG 2.5.9
Ejemplo: DEFINE BUTTON BUTTON_5 ROW 10 COL 200 CAPTION "Please... Click This!" ACTION MsgInfo('Thanks!') PICTURE "button.BMP" WIDTH 120 HEIGHT 60 PICTALIGNMENT LEFT MULTILINE .T. END BUTTON Más ejemplos:\hmg\samples\button_2 17/08/2008 HMG 2.5.8
16/08/2008 HMG 2.5.7
14/08/2008 HMG 2.5.6
DEFINE GRID Grid_1 ROW 10 COL 10 WIDTH 500 HEIGHT 330 HEADERS {'Last Name','First Name','Phone'} WIDTHS {140,140,140} ITEMS LoadItems() VALUE 1 HEADERIMAGES { '00.bmp' , '01.bmp' , '02.bmp' } END GRID
Form_1.Grid_1.HeaderImages(1) := '03.bmp'
MsgInfo ( Form_1.Grid_1.HeaderImages(1) ) Más ejemplos: \hmg\samples\grid_18, \hmg\samples\browse_6
11/08/2008 HMG 2.5.5 - Nuevo: Propiedad 'DroppedWidth' para el control ComboBox. Esta propiedad permite establecer el ancho de la lista desplegable. 'DroppedWidth' no puede ser menor al ancho del control. Ejemplos: \hmg\samples\combo_5. - Nuevo: Evento 'OnDropDown' para el control ComboBox. Este evento será ejecutado cuando el usuario abra la lista desplegable. Ejemplos: \hmg\samples\combo_5. - Nuevo: Evento 'OnCloseUp' para el control ComboBox. Se ejecutará cuando el usuario cierre la lista desplegable. Ejemplos: \hmg\samples\combo_5. - Solucionado: El item seleccionado es correctamente preservado luego de un 'refresh' en el control ComboBox que use la propiedad 'ItemSource'. - Nuevo: Propiedad 'Image' para el control COmboBox. La propiedad 'Image' se usa para especificar un array conteniendo los nombres de archivos de imagen (o recursos) que se quiera asociar al control. Al agregar un item, debe especificarse el número de índice de la imagen (basado en cero) y el texto asociados al mismo. Al agregar items en la definición del control, debe usarse un array de dos dimensiones (una fila por cada item y dos columnas). La primera columna debe contener el número de índice de la imagen (posiciónen el array de imágenes definido mediante la propiedad 'image') y la segunda columna debe contener el texto asociado al item. Cuando se agregan items usando el método 'AddItem' debe usarse un array de dos elementos: El primero, el índice de la imagen y el segundo el texto asociado al item. Al leer el contenido de un item por medio de la propiedad 'item' se obtendrá un array de dos elementos, según se describió en el punto anterior. Cuando las propuiedades 'Image' e 'ItemSource' se usan simultáneamente, 'ItemSource' debe especificarse como una lista conteniendo dos nombres de campo, correspondiendo al indice de la imagen y al texto de cada item, respectivamente. Las propiedades 'Sort' e 'Image' no pueden usarse simultáneamente. Ejemplo: DEFINE COMBOBOX Combo1 ROW 10 COL 250 ITEMSOURCE CIDADES->CODIGO , CIDADES->DESCRICAO VALUE 2 WIDTH 200 HEIGHT 100 IMAGE { 'Img1.bmp','Img2.bmp','Img3.Bmp','Img4.Bmp' } DROPPEDWIDTH 350 ONDROPDOWN PlayBeep() ONCLOSEUP PlayAsterisk() END COMBOBOX <...> aItems := {} aadd ( aItems , { 2 , 'Item 01' } ) aadd ( aItems , { 0 , 'Item 02' } ) aadd ( aItems , { 3 , 'Item 03' } ) aadd ( aItems , { 1 , 'Item 04' } ) DEFINE COMBOBOX Combo2 ROW 10 COL 10 WIDTH 100 ITEMS aItems VALUE 1 IMAGE { 'Img0.bmp','Img1.bmp','Img2.Bmp','Img3.Bmp' } END COMBOBOX * Agregando una item con la imagen 'Img3.bmp' y el texto * 'Hello!' Win1.Combo2.AddItem( { 3 , 'Hello!' } ) Más Ejemplos: \hmg\samples\combo_5 02/08/2008 Harbour MiniGUI 2.5.4
24/07/2008 Harbour MiniGUI 2.5.3:
La propiedad 'InputItems' sirve para controlar la entrada de datos en Browse. Esta propiedad es un array (un elemento por cada columna de browse). Cada elemento (si se especifica) debe ser un array de dos dimensiones. La primera columna en el array debe contener los datos a mostrarse al usuario. La segunda columna debe contener los datos a almacenar en la tabla(ID) para cada fila de texto en el array. La propiedad 'DisplayItems' permite controlar los datos a mostrar en browse. Esta propiedad es un array (un elemento por cada columna de browse). Cada elemento (si se especifica) debe ser un array de dos dimensiones. La primera columna en el array debe contener el texto a mostrar al usuario. La segunda columna debe contener el ID para cada fila del array. Se buscará en el array el ID correspondiente en la tabla para mostrar el texto correcto en la celda correspondiente. en caso de no encontrarse correspondencia, se mostrará la celda en blanco. Ejemplos: \hmg\samples\browse_5\ 18/07/2008 Harbour MiniGUI 2.5.2 - Nuevo: Ejemplo Activex (c\hmg\samples\activex\demo5.prg). - Solucionado: 'c:\hmg\batch\compile.bat'. Problemas al crear aplicaciones MySql incluyendo recursos (Gracias a MARIO SÉRGIO por el reporte). - Solucionado: Activex control. Verificacion de errores. - Solucionado: Ejemplo User componets (Gracias a Bicahi Esgici por el reporte). - Solucionado: Referencia. User components. 15/07/2008 Harbour MiniGUI 2.5.1
Una nueva propiedad llamada 'Object' fue agregada para manipular el control. Sintaxis: @ <nRow>,<nCol> ACTIVEX <ControlName> [ OF | PARENT <ParentWindowName> ] WIDTH <nWidth> HEIGHT <nWidth> PROGID <cProgId> O: DEFINE ACTIVEX <ControlName> <PropertyName> <PropertyValue> <...> END ACTIVEX Ejemplo: <...> @ 10 , 50 ACTIVEX Test ; WIDTH 700 ; HEIGHT 400 ; PROGID "shell.explorer.2" <...> Win1.Test.Object:Navigate("www.harbour-project.org") Más ejemplos: \hmg\samples\activex. 07/07/2008 Harbour MiniGUI 2.5.0
archivos ZIP o de Registry REQUERIRÁN cambios en el código. - Actualizado: Compilador Harbour a la version 1.0 RC2. - modificado: El soporte para ZIP es proporcionado por la librería HBMZIP (contribución de Harbour) que es enlazada por defecto. La cláusulas STOREPATH, LEVEL, EXTRACTPATH y CREATEDIR, han sido REMOVIDAS de los comandos COMPRESS/UNCOMPRESS. XZIP.DLL YA NO ES REQUERIDA. - Los paths serán siempre almacennados cuando sean especificados en el array <aFiles>. - Los paths serán siempre restaurados cuando se hayan especificado en <aFiles> al momento de la compresión. La sintaxis actualizada (simplificada) de los comandos es: COMPRESS [ FILES ] <aFiles> TO <cZipfile> [ BLOCK <bBlock> ] [ OVERWRITE ] UNCOMPRESS [ FILE ] <cZipfile> [ BLOCK <bBlock> ] Alternativamente estas nuevas funciones pueden usarse: CompressFiles ( <cZipfile> , <aFileNames> , [<bBlock>] , [<lOovr>] ) UncompressFiles ( <cZipfile> , [<bBlock>] ) Ejemplos: \hmg\samples|\zip. - Modificado: El soporte de Registry es proporcionado por la librería HBW32 (contribución de Harbour enlazada por defecto). Los comandos: OPEN REGISTRY, GET VALUE, SET VALUE, DELETE VALUE y CLOSE REGISTRY han sido REMOVIDOS. Las siguientes funciones deben usarse en su lugar: RegistryRead( cRegPath ) RegistryWrite( cRegPath, xValue ) Ejemplos: RegistryRead("HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper" ) RegistryWrite("HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper","New") Más ejemplos \hmg\samples\registry. - Modificado: Bug report. Para reportar bugs: http://sourceforge.net/harbourminigui (bugs section) - Modificado: Wish list. Para enviar ideas y sugerencias: http://sourceforge.net/harbourminigui (Wish list section) 28/06/2008 Harbour MiniGUI 2.0.032
|
|||||||
| Modificado el ( viernes, 02 de abril de 2010 ) | |||||||
HMG 3.X Lista de Cambios 
