| HMG 3.x Changelog |
|
02/04/2010
29/03/2010
26/03/2010
14/03/2010
- This.EditBuffer: Array (un elemento por cada celda editada). Los elementos tienen la siguiente estructura: { nLogicalRow , nLogicalCol , xValue , nRecNo } - This.AppendBuffer: Array (un elemento por cada registro agregado). Los elementos tienen la siguiente estructura: { xFieldValue 1 , ... , xFieldValue n } - This.MarkBuffer: Array (un elemento por cada registro marcado para ser eliminado o recuperado). Los elementos tienen la siguiente estructura: { nLogicalRow , nRecNo , cMark ( 'D' or 'R' ) } Ejemplo: \samples\grid.34
PsPAd tiene muchas buenas características, incluyendo resaltado de sIntaxis. Recientemente descubrí que puede distribuirse libremente, por lo cual, decidí incluirlo en la distribución de HMG. Desde esta versión, PsPAd es el editor de m'ódulos por defecto para IDE en lugar de NotePad. 07/03/2010
01/03/2010
22/02/2010
14/02/2010
07/02/2010
En el modo 'Buffered', al agregar un nuevo registro, este se almacenará en un buffer temporal (de un registro).
Eliminado: Ejemplos ADORDD (adordd no funciona en la versión actual de Harbour)
Ejemplo: \HMG\SAMPLES\MULTI.PRG
Modificado: Nuevo control de errores en los eventos 'ColumnWhen' y 'ColumnValid' de Browse y Grid para evitar el intento de edición simultánea de celdas en diferentes instacias del control. Reportado por Luis Vazquez. 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
27/06/2007 Harbour MiniGUI 2.0.031 Changelog: - Solucionado: Problemas con imágenes en botones (Vista y XP). Gracias a Bicahi Esgici. - Solucionado: Problemas de edición en Browse y Grid en ventanas de tipo Standard. - Solucionado: Problemas de inicialización de Browse en Vista. 23/06/2007 Harbour MiniGUI 2.0.030 Changelog: - Solucionado: Problemas con las imágenes en botones. Bug introducido en 2.0.025. Gracias a Juan Rendon. - Solucionado: Soporte para lenguaje Turco. Gracias a Bicahi Esgici. - Solucionado: Problemas con la propiedad valid de Browse cuando se usa la sintaxis estándar. Gracias a Corsini Giorgio. - Solucionado: Browse. Cuando la table está vacía, al usar las teclas Up,Down,PgUp and PgDn se genera un error de tiempo de ejecución. Gracias a Martín Gamez. - Solucionado: Comando DO REPORT. Error de tiempo de ejecución cuando se incluyen campos lógicos. - Solucionado: Problemas en la vista previa de impresión en Windows Vista. 20/06/2007 Harbour MiniGUI 2.0.029 Changelog: - Actualizado: HBOLE (librería contribución de Harbour) a la nueva versión (alternativa). Esta nueva versión es requerida por ADORDD para trabajar correctamente (no funcionó en las versiones 2.0.027 y 2.0.028 con la version anterior de HBOLE). Debe tenerse en cuenta que esta nueva versión NO ES TOTALMENTE COMPATIBLE con la versión anterior de HBOLE, por lo cual el código existente que use OLE podría generar errores o no funcionar en absoluto. El código OLE existente puede ser adaptado fácilmente. El ejemplo '\hmg\samples\ole' ha sido actualizado para trabajar con esta nueva librería. Los cambios requeridos son mínimos. En caso que se desee usar la versión anterior de HBOLE, esta, aun está incluida en la distribución de HMG: '\hmg\harbour\lib\libhboleold.a', pero debe tenerse en cuenta que enlazando esta librería en lugar de la nueva, ADORDD no funcionará. Lamentablemente, ambas librerías no pueden ser enlazadas juntas ya que usan algunos de los mismos nombres para clases, funciones y métodos, creándose conflictos. Espero que los colaboradores de Harbour puedan en el futuro integrar ambas librerñias para obtener compatibilidad con versiones anteriores y soporte adecuado para ADORDD. Ejemplos OLE actualizados: \hmg\samples\OLE Ejemplos ADORDD: \hmg\samples\adordd-1 (ejemplo access) \hmg\samples\adordd-2 (ejemplo mysql) 19/06/2007 Harbour MiniGUI 2.0.028 Changelog:
- Nuevo: Comando SET AUTOSCROLL. Cuando se establece en ON, las barras de desplazamiento de las ventanas de dimensiones virtuales se ajustan automáticamente para hacer visibles, controles no visibles que ganaron el foco. El valor por defecto es ON.
SET AUTOSCROLL ON | OFF
Ejemplos: \hmg\samples\virtualdim
- Nuevo: Propiedad HORIZONTAL para el control RADIOGROUP.
Ejemplos:
@ 10,10 RADIOGROUP Radio_1 ; OPTIONS { 'One' , 'Two' , 'Three', 'Four' } ; VALUE 1 ; WIDTH 100 ; HORIZONTAL
DEFINE RADIOGROUP Radio_2 ROW 10 COL 150 OPTIONS { 'One' , 'Two' , 'Three', 'Four' } VALUE 1 WIDTH 100 HORIZONTAL .T. END RADIOGROUP
Más Ejemplos: \hmg\samples\radiogroup 13/06/2007 - Harbour MiniGUI 2.0.027 Changelog:
- Solucionado: Problemas de compatibilidad con OLE en Vista.
- Modificado: Las librerías ADORDD y USRRDD son ahora enlazadas por defecto.
- Actualizado: Harbour (Beta 3).
- Nuevo: Propiedad 'ReadOnly' para el control RadioGroup (array lógico).
Ejemplo:
En tiempo de diseño:
@ 10,150 RADIOGROUP Radio_2 ; OPTIONS { 'One' , 'Two' , 'Three', 'Four' } ; VALUE 1 ; WIDTH 100 ; TOOLTIP 'RadioGroup' ; READONLY { .F. , .T. , .F. , .T. }
O:
DEFINE RADIOGROUP Radio_2 ROW 10 COL 150 OPTIONS { 'One' , 'Two' , 'Three', 'Four' } VALUE 1 WIDTH 100 TOOLTIP 'RadioGroup' READONLY { .F. , .T. , .F. , .T. } END RADIOGROUP
En tiempo de ejecución:
Form_1.Radio_1.ReadOnly := { .F. , .F. , .F. , .F. } aReadOnly := Form_1.Radio_1.ReadOnly
O:
SetProperty ( 'Form_1','Radio_1','ReadOnly',{ .F. , .F. , .F. , .F. } ) aReadOnly := GetProperty ( 'Form_1','Radio_1','ReadOnly' )
Más ejemplos:
\hmg\sample\radiogroup\demo2.prg \hmg\sample\radiogroup\demo2.prg
- Nuevo: Comando SET SCROLLSTEP TO. Configura la magnitud del desplazamiento en las barras de desplazamiento de las ventanas con dimensiones virtuales.
Ejemplo:
SET SCROLLSTEP TO 15
Más ejemplos:
\hmg\samples\virtualdim\test2.prg 11/06/2007 - Harbour MiniGUI 2.0.026 Changelog: - Actualizado: MingW. A partir de esta nueva versión, noes necesario cambiar la ubicación de MingW para trabajar en Vista.
- Actualizado: Harbour (CVS 2007.06.11).
- Nuevo: Sporte para lenguaje Turco. Gracias a Bicahi Esgici.
- Solucionado: Varios problemas menores de compatibilidad con Vista. 06/04/2007
PictAlignment Top | Left | Right | Bottom
Esta característica requiere Windows XP o superior. Se agregará soporte para versiones anteriores de Windows en futuras versiones de HMG.
22/02/2007
17/02/2007
11/02/2007
Ver detalles en: "\hmg\harbour\Harbour Compiler Changelog.Txt"
Reportado por "Miguelon".
26/12/2006
- Actualizado: Compilador Harbour. Ver detalles en: "\hmg\harbour\Harbour Compiler Changelog.Txt" 27/06/2006
- Nuevo: Modificador /C para 'Compile.Bat'. Permite la creación de aplicaciones de modo consola/mixtas. - Solucionado: TAB. Considerando que ComCtl32.dll version 6 (API estilo XP) no soporta controles TAB verticales (estilo TCS_VERTICAL) la propiedad 'Vertical' será ignorada cuando el estilo XP esté activo y el estilo 'buttons' no se haya seleccionado. - Solucionado: TAB. Problemas con el color de fondo con algunos controles 'tab-child', cuando se usa el estilo 'buttons' y el estilo XP está activo. (bug introducido en la versión 2.0.019). - Solucionado: BROWSE. Ingreso de fechas nulas en la edición de campos no permitida. - Solucionado: Función Tone() no funciona. - Solucionado: Problemas al mostrar los mensajes de error en aplicaciones GUI que no tienen una ventana principal definida. 14/06/2006
- Nuevo: Modificador /C para 'Compile.Bat'. Permite la creación de aplicaciones de modo consola/mixtas. - Solucionado: Los siguientes controles 'tab-child' no se mostraban correctamente cuando el estilo XP esta activo: - Label - Frame - RadioGroup - Slider - CheckBox - HyperLink - Solucionado: Las aplicaciones GUI muestran una ventana de consola en sistemas Win9x. 07/06/2006
- Actualizado: Binarios del Compilador Harbour. Detalles en directorio \hmg\horbour\changelog,txt. - Modificado: El comando SET CODEPAGE, soporta más nuevos lenguajes en esta versión: SET CODEPAGE TO ENGLISH | SPANISH | BULGARIAN | GERMAN | GREEK | HUNGARIAN | POLISH | PORTUGUESE | RUSSIAN | SERBIAN | SLOVENIAN 06/06/2006
- Actualizado: Binearios del Compilador Harbour (cambios muy importantes y soluciones a problemas). Detalles en el directorio \hmg\horbour\changelog,txt. - Nuevo: Comando SET CODEPAGE. Estable la página de código actual. SET CODEPAGE TO ENGLISH | SPANISH - Nuevo: Soporte para lenguaje Checoslovaco (SET LANGUAGE TO CZECH). Gracias a Vojtech Obrdlik. - Solucionado: Control STATUSBAR. Respuesta lenya de los iconos de estado del teclado. - Solucionado: Control DATEPICKER. Problemas con el evento OnChange (reportado por Chris). 08/04/2006
- Nuevo: Propiedad 'ShowHeaders', cláusula 'NoHeaders' para el control GRID. - Solucionado: Problemas con el evento ACTION del control StatusBar. - Solucionado: Verificación de errores en el control 'ToolBar Button'. - Solucionado: Error tipográfico en la función MiniGuiVersion(). - Solucionado: Problemas con scroll originado con la rueda del mouse en ventanas de dimensiones virtuales. - Solucionado: Problemas en compile.bat con el soporte para la libreria 'codepage'. - Solucionado: Problemas con scroll originado con la rueda del mouse en la ventana de vista preliminar de impresión. 31/03/2006
- Solucionado: Problemas con el evento ACTION de los ítems especiales de StatusBar. - Solucionado: Problemas SET LANGUAGE con los mensajes del sistema de impresión. - Solucionado: Conflicto entre la propiedad BREAK y la sentencia BREAK de la estructura BEGIN SEQUENCE. Gracias a Fernando Yurisich. - Solucionado: BROWSE. La ventana de edición de campos memo muestra el nombre de la columna en lugar de 'Edit memo' como título. Gracias a Fernando Yurisich. - Actualizado: Mensajes en Francés del sistema de impresión. Gracias a 'c.jouniauxdiv'. 24/03/2006
- Solucionado: Problemas con @...PRINT TO. - Solucionado: Ejemplo ODBC. String de conexión actualizada. 06/03/2006
- Nuevo: Cláusula NOFIXED para el comando DO REPORT y reportes externos. basado en una contribución de Ciro Vargas Clemov. - Nuevo: Cláusula STOREPATH para el comando COMPRESS. - Cambiado: La librería Codepage es enlazada por default en esta versión. - Solucionado: Objetos OLE descargados incorrectamente. - Solucionado: Problemas en las funciones aPrinters() y GetPrinter() con impresoras de red en Windows 2000. Gracias a: Ciro Vargas Clemov, Luigi Ferraris y Pierpaolo Martinello. - Solucionado: Problemas de configuración en el ejemplo CONTROL FINANCIERO. 28/02/2006
- Solucionado: problemas con las funciones GetPrintableAreaWith()y GetPrintableAreaHeight() (bug introducido en 2.0.010). - Solucionado: Problemas con el metodo 'release' (windows). Bug introducido en 2.0.010. - Solucionado: Problemas en la vista preliminar con la ventana 'Go To Page'. - Nuevo: Cláusula NAME para el comando START PRINTDOC. Esta cláusula permite establecer un nombre personalizado para el trabajo de impresión (es el nombre mostrado por el spooler de windows). START PRINTDOC [ NAME ] - Nuevo: Comando SET TOOLTIPSTYLE. SET TOOLTIPSTYLE STANDARD | BALLOON - New: SET TOOLTIPBACKCOLOR. Establece el color de fondo para los tooltips. (**) SET TOOLTIPBACKCOLOR - New: SET TOOLTIPFORECOLOR. Establece el color de fuente para los tooltips. (**) SET TOOLTIPFORECOLOR - Nuevo: Metodo 'Print' (ventanas). Ver ejemplo: \hmg\samples\maindemo (syntax I). (*) - Nuevo: Metodo 'Capture' (ventanas). Este metodo guarda una copia de la ventana especificada (.bmp) en la carpeta actual. Ver ejemplo: \hmg\samples\maindemo (syntax I). (*) - Nuevo: Comando PRINT GRAPH. PRINT GRAPH [ OF ] [ PREVIEW ] [ DIALOG ] Imprime gráficos de tipo BARS, POINTS, LINES y PIE creados con el comando DRAW GRAPH en la ventana especificada. Ver ejemplos: \hmg\samples\graph_3 and \hmg\samples\graph_4. (*) (*) Basado en una contribución de Ciro Vargas Clemov. (**) Based encodigo publicado en el sitio de Marcos Antonio Gambeta (http://geocities.yahoo.com.br/marcosgambeta). 22/02/2006
- Solucionado: Problemas de impresión en Win9x. - Solucionado: Problemas en la vista preliminar de impresión con algunos tamaños de papel no usuales. - Modificado: GetPrinter() muestra las impresoras ordenadas y la impresora por defecto es seleccionada al inicio (Gracias a Ciro Vargas Clemov). La ventana es ahora mas ancha para evitar el truncamiento de nombres de impresora más largos. - Nuevo: Cláusulas opcionales RIGHT y CENTER para el comando @...PRINT. 17/02/2006
- Optimizado: Administración de variables internas de HMG. Todas las variables públicas usadas por HMG fueron reemplazadas por un array público único que contiene todos los datos de uso interno. Este array se denomina _HMG_SYSDATA. Una referencia completa del uso de cada elemento en este array se encuentra al inicio del archivo 'h_init.prg' ubicado en la carpeta SOURCE. A partir de este cambio el uso de memoria para una aplicación HMG típica se redujo aproximadamente 100k y el tamaño de los ejecutables aproximadamente 50k. - Nuevo: Soporte para HMG User Components. He creado una interfase estándar para permitir a los usuarios de HMG crear sus propios componentes (por ejemplo controles) sin necesidad de modificar la librería. Referencia de HMG User Components: - InstallEventHandler ( ) Cada vez que un evento es iniciado por el sistema, la función especificada será invocada. Esta función recibirá los siguientes parámetros: hWnd, nMsg, wParam, lParam Si ña función procesa el mensaje, esta debe retornar un valor diferente de NIL. De lo contrario, debe retornar NIL. - InstallMethodHandler(,) Cada vez que el método especificado sea invocado, el procedimiento será ejecutado. Si este procedimiento procesa el método, debe asignarse .T. al 'user process flag' ( _HMG_SYSDATA [63] ). De lo contrario debe asignárseLe .F. - InstallPropertyHandler(,,) Cuando se le asigne un valor a la propiedad especificada se invocará con todos los parámetros originales. Cuando el valor de la propiedad especificada sea leído, será invocada con todos los parámetros originales. En ambos casos, si se procesa la función, debe asignarse .T. al 'user process flag' ( _HMG_SYSDATA [63] ). De lo contrario debe asignárseLe .F. - Otras Consideraciones: Si los componentes creados requieren directivas #command (por ejemplo un control) las definiciones deben agregarse al archivo i_UsrInit.ch ubicado en la carpeta INCLUDE. Estas definiciones deben incluir marcadores de inicio y fin que serán usados para la creación de procedimientos automáticos de instalación y mantenimiento para los componentes. El formato para el marcador de inicio es: #define BASEDEF_ El formato para el marcador de finalización es: #undef BASEDEF_ Si se han creado métodos o propiedades con nuevos nombres (no especificados actualmente en la definición del comando DECLARE WINDOW en el archivo i_windows.ch) debe agregarse las directivas de traducción para ellas en el archivo i_UsrSOOP.ch ubicado en la carpeta INCLUDE. Estas definiciones deben incluir marcadores de inicio y fin y las directivas de traducción deben seguir reglas especiales. El formato para el marcador de inicio es el siguiente: #define SOOP_ ;; EL formato para las directivas #translate de los métodos es: #xtranslate . . MethodName => Domethod ( <"Window">, <"Control"> , "MethodName" ) ;; El formato para las directivas #translate de las propiedades es: #xtranslate . . PropName => GetProperty ( <"Window">, <"Control"> , "PropName" ) ;; #xtranslate . . PropName := => SetProperty ( <"Window">, <"Control"> , "PropName" , ) ;; El formato para el marcador de finalización es: #undef SOOP_ ;; - Ejemplo: c:\hmg\samples\user_components - Solucionado: Warnings reportados por Harbour al construir la librería. - Solucionado: Problemas varios en algunos ejemplos de BROWSE y GRID. - Solucionado: Definicion del comando TOOLBAR (estilos de fuente). 25/01/2006
- Changed: From this release, build number is at the end of version number. This way '2.0.009' is used instead '2.0 build 009'. Besides that 'ALPHA' and 'BETA' denominations will not be used anymore, 'Stable' and 'Test' will be used to indicate the status of a specific release. - Fixed: EXECUTE (WAIT) command definition bug. - Fixed: BROWSE bug. The problem arises when DynamicBackColor property is not Nil and a column is resized. - Fixed: TEXTBOX / EDITBOX controls. Non consistent behavior about control's content selection when focus is received. - Fixed: Print Preview. Thumbails background problems (bug introduced in build 008). - Updated: Harbour compiler binaries. 18/12/2005
- Fixed: BROWSE repositioning (row/col properties) problems. - Fixed: DYNAMICFORECOLOR, INPUTMASK and FORMAT properties not available in splitchild BROWSE (standard syntax). - Fixed: BROWSE (valid property) xHarbour compatibility issue. - Fixed: GRID. Edit problems when grid is inside tab. - Fixed: STATUSBAR control. RELEASE method problems when CLOCK or KEYBOARD items are used. - Fixed: STATUSBAR control. When created outside of WINDOW...END WINDOW structure and CLOCK / KEYBOARD special items are used a runtime error on internal timers creation arises. - Fixed: IMAGE control. Memory leak at PICTURE property change. 08/12/2005
- Fixed: When toolbar button is disabled, hot key associated to the button (if any) was not deactivated. - Fixed/Updated: MySql access libraries. MySql support is working now for LibMySql.dll distributed with 4.1 and 5.0 MySql versions. - Changed: ADS support libraries will be not included in main HMG distribution nor linked by default anymore. These libraries will be available for download separately. - Updated: Harbour compiler binaries. This build solves various known problems and includes new features like SWITCH and FOR EACH structures and support for date constants. Look at \hmg\harbour\changelog.txt for details.
- Fixed: 'This.Cell()' object reference not working. - Fixed: GRID. FontName and Fontsize used in cell editing are the same as control. - Fixed: BROWSE. FontName and Fontsize used in cell editing are the same as control. - Fixed: GRID. 'UpDown' style for datepicker edit control not working. - Fixed: GRID. Using 0 as value for a COMBOBOX column causes program crash. - Fixed: GRID. Some cosmetic problems with edit controls. - Fixed: GRID_11, GRID_12, GRID_14, GRID_16 samples. Fixed / Update: Harbour MiniGUI IDE. - Linker and resource compiler errors not shown in 'post-build' error report window. - New properties (introduced in 2.0) dor GRID and BROWSE controls are supported now 24/10/2005
- Changed: MiniPrint library source code (a modified/optimized version) is now included as an integral part of MiniGUI library. This code is experimental and will be changed / optimized in the future. Please, do not use these sources as an example of MiniGUI programming, since some techniques used there relies hardly on MiniGUI internals and could be non-stable or reliable applied to other environments (outside print modules). The same applies to modifications to the code. You don't need to use the "#include 'miniprint.ch'" anymore, but that is supported for backwards compatibility. - Updated: Harbour Compiler Binaries. There is various important changes. The most relevant is the synchronization of RDD system with xHarbour. - New: 'ColumnValid' property for GRID control. Codeblock array (one element per column) is evaluated at cell editing. This.CellValue variable are available at codeblock evaluation. Sample: COLUMNVALID { ; { || This.CellValue > 100 } , ; { || This.CellValue = Date() } , ; Nil , ; Nil , ; Nil ; } See \hmg\samples\grid\grid_14 \hmg\samples\grid\grid_15 - New: 'ColumnWhen' property for GRID control. Codeblock array (one element per column) is evaluated at cell editing. This.CellValue variable are available at codeblock evaluation. Sample: COLUMNWHEN { ; { || This.CellValue >= 'M' } , ; { || This.CellValue >= 'C' } , ; { || ! Empty ( This.CellValue ) } ; } See \hmg\samples\grid\grid_16 \hmg\samples\grid\grid_17 - New: GetPrintableAreaWidth() Function. Returns the current printable area width in milimeters. - New: GetPrintableAreaHeight() Function. Returns the current printable area height in milimeters. - New: GetPrintableAreaHorizontalOffset() Function. Returns the current printable area horizontal offset (distance from paper edge to begining of printable area) in milimeters. - New: GetPrintableAreaVerticalOffset() Function. Returns the current printable area vertical offset (distance from paper edge to begining of printable area) in milimeters. - Updated: Harbour MiniGUI IDE. Build processing has been changed according requirements of new Harbour RDD structure. An installer is provided now (download at www.geociries.com/harbour_minigui). - Updated: HMG application build batch files according requirements of new Harbour RDD structure.
- New: Cell ( nRow , nCol ) property for GRID control (read(write). - New: Edit routines for GRID control. Editing is now 'in-cell'. - New: 'DynamicForeColor' / 'DynamicBackColor' properties for GRID control. Codeblock array (one element per column) evaluated for each cell at any grid change. This.CellRowIndex, This.CellColIndex and This.CellValue variables are available at codeblock evaluation. Sample: bColor := { || if ( This.CellRowIndex/2 == int(This.CellRowIndex/2) , ; RGB (128,128,128) , RGB (192,192,192) ) } DYNAMICBACKCOLOR { bColor , bColor, bColor, bColor, bColor, bColor } See \hmg\samples\grid\grid_10 \hmg\samples\grid\grid_11 \hmg\samples\grid\grid_12 - New: EDITCONTROLS Property for GRID. You can specify control type and behavior for cell edit. EDITCONTROLS { aControlDef1 , aControlDef2 , ... aControlDefN } Control Definition Array: ------------------------- TEXTBOX { cControlType , cDataType , cInputMask , cFormat } cControlType = 'TEXTBOX' (Required) cDataType = 'CHARACTER' , 'NUMERIC' , 'DATE' (Required) cInputMask = cInputMask (Optional) cFormat = cFormat (Optional) DATEPICKER { cControlType , cControlStyle } cControlType = 'DATEPICKER' (Required) cControlStyle = 'DROPDOWN' , 'UPDOWN' (Required) COMBOBOX { cControlType , acItems } cControlType 'COMBOBOX' (Required) acItems (Required) SPINNER { cControlType , nRangeMin , nRangeMax } cControlType 'SPINNER' (Required) nRangeMin (Required) nRangeMax (Required) CHECKBOX { cControlType , cCheckedLabel , cUnCheckedLabel } cControlType 'CHECKBOX' (Required) cCheckedLabel (Required) cUnCheckedLabel (Required) Data type for each column will depend control specified. NUMERIC TEXTBOX : NUMERIC DATE TEXTBOX : DATE CHARACTER TEXTBOX : CHARACTER SPINNER : NUMERIC COMBOBOX : NUMERIC CHECKBOX : LOGICAL Sample: @ 10,10 GRID Grid_1 ; WIDTH 620 ; HEIGHT 330 ; HEADERS {'Column 1','Column 2','Column 3','Column 4',; 'Column 5'} ; WIDTHS {140,140,140,140,140} ; ITEMS aRows ; EDIT ; COLUMNCONTROLS { {'TEXTBOX','NUMERIC','$ 999,999.99'},; {'DATEPICKER','DROPDOWN'} ,; {'COMBOBOX',{'One','Two','Three'}} , ; { 'SPINNER' , 1 , 20 } , ; { 'CHECKBOX' , 'Yes' , 'No' } } See \hmg\samples\grid\grid_9 \hmg\samples\grid\grid_10 - New: 'LEGENDSWIDTH' clause (optional) for DRAW GRAPH commands (BARS/LINES/POINTS types). - Fixed: '!' template symbol allows digits. - Fixed: BROWSE control, default Inputmask incorrect for floating point fields. - Fixed: DRAW GRAPH commands, when data series values are all '0', program crash (divide by zero error). - Fixed: DRAW GRAPH commands, labels backcolor incorrect when window backcolor is not the default. - Fixed: Automatic Inputmask for edit Browse fail for numeric fields with no decimals. - Changed: BROWSE edit is always inplace without regarding about 'InPlace' value (Edit and Inplace properties has now the same meaning).
- New: 'InputMask' property for BROWSE control. This must be defined as a character array (one element per column). The same rules as TEXTBOX are applied. Sample: INPUTMASK { '$99.9', '!!!!!!!!!!' , '!!!!!!!!!!' ) - New: 'Format' property for BROWSE control. This must be defined as a character array (one element per column). The same rules as TEXTBOX are applied. Sample: FORMAT { 'E' , '' , '' } - Fixed: Append record causes crash when DynamicBackColor / DynamicForecolor used in Browse control. - Fixed: 'DynamicBackColor' and 'DynamicForeColor' Borwse properties accept color arrays now, being, this way, consistent with MiniGUI general color handling. - Fixed: BROWSE control, when 'InPlaceEdit' style is used, program crash if you use keep ENTER key pressed. - Fixed: BROWSE control, when 'DynamicbackColor' / 'DynamicForeColor' properties are used along images, program crash.
- Enhanced: 'AllowEdit' Borwse property can be read and written at runtime now. - Enhanced: 'AllowDelete' Borwse property can be read and written at runtime now. - Enhanced: 'AllowAppend' Borwse property can be read and written at runtime now. - New: GetProgramFileName() Function - New: 'DynamicForeColor' property for BROWSE control. Codeblock array (one element per column) evaluated for each cell at browse refresh allowing total control of foreground color (the value returned by the codeblock). Sample: bColor := { || if ( recno()/2 == int(recno()/2) , RGB (128,128,128) , ; RGB (192,192,192) ) } DYNAMICFORECOLOR { bColor , bColor, bColor, bColor, bColor, bColor } - Fixed: 'No new line at end of file' warning. - Fixed: Registry support not available. - Fixed: Grid lines corruption when up and down buttons are used to scroll. - Changed: Harbour MiniGUI IDE and Harbour MiniPrint library are distributed separately. You must download them at Harbour MiniGUI site: www.geocities.com/harbour_minigui - Changed: dll files required for ADS, MYSQL and ZIP samples must be downloaded from sites indicated in readme.txt files located at corresponding folders.
- New: 'DynamicBackColor' property for BROWSE control. Codeblock array (one element per column) evaluated for each cell at browse refresh allowing total control of background color (the value returned by the codeblock). Sample: bColor := { || if ( recno()/2 == int(recno()/2) , RGB (128,128,128) , ; RGB (192,192,192) ) } DYNAMICBACKCOLOR { bColor , bColor, bColor, bColor, bColor, bColor } - New: 'When' property for BROWSE control. This is a codeblock array (one element per column) evaluated prior to cell edit. Sample (Full Record Edit). Expressions may contain other fields temporary values: WHEN { { || Test->Code == 10 } , , { || MemVar.Test.Married == .t. },,,} Sample (InPlace Edit). Expressions MAY NOT contain other fields temporary values (Memvar.*), since edition is per individual field): WHEN { { || Test->Code == 10 } , ,{ || Test->Married == .t. } , , , } - New: IMAGESIZE clause for TOOLBAR control. If not specified it is calculated automatically. - New: STRICTWIDTH clause for TOOLBAR control. Forces buttons width, preventing automatic width changes. - New: TOOLTIP clause for TOOLBAR BUTTON control - New: TOP clause for STATUSBAR control. Allows to locate status bar at the top of the window. - New: RIGHTALIGN property for HYPERLINK control - New: CENTERALIGN property for HYPERLINK control - New: GetStartUpFolder() Function. - New: JPG and GIF resource types supported by IMAGE and TOOLBAR controls (you must use JPG and GIF as resource types in resource file). - New: Function 'CallDll32'. This is simpler that DynaCall used in previous versions (DECLARE command uses it now). DECLARE syntax and format are preserved for backwards compatibility, but, it is recommended to use CallDll32 function instead. Syntax: CallDll32 ( cFunctionName , cDllName , ... ... ) This code author is Vic McClung (I've made a slight change to make it run under Harbour) SInce this is new code and it has not been fully tested yet, problems could arise. If find some trouble please send to me a report according directions in 'BugReport.Txt' file. - Optimized / Rewrote from the scratch: TOOLBAR control. - Optimized / Rewrote from the scratch: STATUSBAR control. - Optimized / Rewrote from the scratch: HELP commands. - Optimized / Rewrote from the scratch: RICHEDITBOX control. - Optimized / Redesigned: HYPERLINK control (Works on top of label control now). - Changed: Zip Support. Considering that hbzlib has some license restrictions I've decided to not include in HMG distribution anymore. From now, Zip support will rely on 'xzip.dll' a freeware Zip Component (http://xstandard.com) You must considering the following: - xzip.dll must be located at the application folder. - Clauses PASSWORD and CREATEDIR of UNCOMPRESS command are not available anymore, since that features are not supported by this component. - The following contributed modules has been separated from main library and compiled as individual libraries. The source code for these contributions is available at \source folder. - libcrypt.a: Crypto Library. Contributor: Grigory Filatov - libedit.a: EDIT command support library. Contributor: Cristobal Molla - libeditex.a: EDIT EXTENDED command support library. Contributor: Cristobal Molla - libreport.a: DO REPORT command support library. Contributor: Ciro vargas Clemow - libgraph.a: DRAW commands support library. Contributors: Grigory Filatov / Rathinagiri - libregistry.a:Registry commands support library. Contributor: Grigory Filatov - libini.a: INI commands support library. Contributors: Grigory Filatov / Janusz Pora - HbPrinter library will not be included in Harbour MiniGUI distribution anymore.
|
|
| Modificado el ( viernes, 02 de abril de 2010 ) |