Attachments
Attachments
Code: Select all
#include "hmg.ch"
REQUEST HB_GT_WIN_DEFAULT
*----------------------------------------------------------------------------------*
Function Main
*----------------------------------------------------------------------------------*
DEFINE WINDOW startCons AT 0 , 0 WIDTH 0 HEIGHT 0 TITLE "" MAIN;
ON INIT Console();
NOSHOW;
NOMINIMIZE;
NOMAXIMIZE;
NOSIZE;
NOSYSMENU;
ICON Nil;
BACKCOLOR Nil;
NOCAPTION
END WINDOW
ACTIVATE WINDOW startCons
Return Nil
**************************** MAIN *****************************
Procedure Console
Public cons_hwnd := GETCONSOLEWINDOW()
SETCONSOLETITLE ( "New console title" )
SETMODE(25,80)
@0,0 CLEA
DO WHILE .T.
@2,2 SAY 'PRESS F10 TO CALL FORM 1'
@4,2 SAY 'PRESS F11 TO HIDE CONSOLE AND CALL FORM 1'
@6,2 SAY 'PRESS ESC TO EXIT'
INKEY(0)
IF LASTKEY()=27
QUIT
ENDIF
IF LASTKEY()=-9
Form1()
SetForegroundWindow(cons_hwnd)
ENDIF
IF LASTKEY()=-40
HideConsole(cons_hwnd)
Form1()
ShowConsole(cons_hwnd)
ENDIF
KEYBOARD ""
ENDDO
RETURN
**********************************************************
FUNCTION Form1()
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 800 HEIGHT 600 ;
TITLE 'FORM 1'
ON KEY Escape ACTION ThisWindow.Release
DEFINE TEXTBOX Text_1
ROW 50
COL 190
WIDTH 120
HEIGHT 24
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .T.
READONLY .F.
RIGHTALIGN .F.
BACKCOLOR NIL
FONTCOLOR NIL
INPUTMASK Nil
FORMAT Nil
VALUE "hello!"
END TEXTBOX
DEFINE TEXTBOX Text_2
ROW 90
COL 190
WIDTH 120
HEIGHT 24
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .T.
READONLY .F.
RIGHTALIGN .F.
BACKCOLOR NIL
FONTCOLOR NIL
INPUTMASK Nil
FORMAT Nil
NUMERIC .T.
VALUE 100
END TEXTBOX
DEFINE TEXTBOX Text_3
ROW 130
COL 190
WIDTH 120
HEIGHT 24
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .T.
READONLY .F.
RIGHTALIGN .F.
BACKCOLOR NIL
FONTCOLOR NIL
INPUTMASK Nil
FORMAT Nil
DATE .T.
VALUE ctod('01/01/01')
END TEXTBOX
DEFINE LABEL Label_1
ROW 50
COL 60
WIDTH 120
HEIGHT 24
VALUE "Label_1"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR NIL
FONTCOLOR NIL
END LABEL
DEFINE LABEL Label_2
ROW 90
COL 60
WIDTH 120
HEIGHT 24
VALUE "Label_2"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR NIL
FONTCOLOR NIL
END LABEL
DEFINE LABEL Label_3
ROW 130
COL 60
WIDTH 120
HEIGHT 24
VALUE "Label_3"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR NIL
FONTCOLOR NIL
END LABEL
DEFINE FRAME Frame_1
ROW 10
COL 30
WIDTH 310
HEIGHT 170
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
CAPTION "Frame_1"
BACKCOLOR NIL
FONTCOLOR NIL
OPAQUE .T.
END FRAME
DEFINE FRAME Frame_2
ROW 190
COL 30
WIDTH 310
HEIGHT 170
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
CAPTION "Frame_2"
BACKCOLOR NIL
FONTCOLOR NIL
OPAQUE .T.
END FRAME
DEFINE TEXTBOX Text_4
ROW 230
COL 190
WIDTH 120
HEIGHT 24
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .T.
READONLY .F.
RIGHTALIGN .F.
BACKCOLOR NIL
FONTCOLOR NIL
INPUTMASK Nil
FORMAT Nil
VALUE ""
END TEXTBOX
DEFINE TEXTBOX Text_5
ROW 270
COL 190
WIDTH 120
HEIGHT 24
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .T.
READONLY .F.
RIGHTALIGN .F.
BACKCOLOR NIL
FONTCOLOR NIL
INPUTMASK Nil
FORMAT Nil
NUMERIC .T.
VALUE Nil
END TEXTBOX
DEFINE TEXTBOX Text_6
ROW 310
COL 190
WIDTH 120
HEIGHT 24
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .T.
READONLY .F.
RIGHTALIGN .F.
BACKCOLOR NIL
FONTCOLOR NIL
INPUTMASK Nil
FORMAT Nil
VALUE ""
END TEXTBOX
DEFINE LABEL Label_4
ROW 230
COL 60
WIDTH 120
HEIGHT 24
VALUE "Label_4"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR NIL
FONTCOLOR NIL
END LABEL
DEFINE LABEL Label_5
ROW 270
COL 60
WIDTH 120
HEIGHT 24
VALUE "Label_5"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR NIL
FONTCOLOR NIL
END LABEL
DEFINE LABEL Label_6
ROW 310
COL 60
WIDTH 120
HEIGHT 24
VALUE "Label_6"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR NIL
FONTCOLOR NIL
END LABEL
END WINDOW
SetForegroundWindow ( Form_1.Handle )
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1
RETURN
#pragma BEGINDUMP
#include "hbapi.h"
#include "hbapiitm.h"
#include <windows.h>
// doesn't work with win32 function GetConsoleWindow()
HWND GetConWin()
{
HWND hwnd;
AllocConsole();
hwnd = FindWindowA("ConsoleWindowClass",NULL);
return hwnd;
}
HB_FUNC( GETCONSOLEWINDOW )
{
hb_retnl((long) GetConWin() );
}
HB_FUNC(HIDECONSOLE )
{
long h = hb_parnl(1);
if (h==NULL)
h = GetConWin();
ShowWindow(h,SW_HIDE); // SW_HIDE
}
HB_FUNC(SHOWCONSOLE )
{
long h = hb_parnl(1);
if (h==NULL)
h = GetConWin();
ShowWindow(h,SW_SHOW); // because 1'st time console stays minimized
ShowWindow(h,SW_RESTORE); //SW_SHOW
SetFocus(h);
SetForegroundWindow(h);
}
HB_FUNC(SETCONSOLETITLE)
{ char * szTitle=hb_parc(1);
SetConsoleTitle(szTitle);
}
#pragma ENDDUMP
]]>Code: Select all
#include "hmg.ch"
REQUEST HB_GT_WIN_DEFAULT
*----------------------------------------------------------------------------------*
Function Main
*----------------------------------------------------------------------------------*
DEFINE WINDOW startCons AT 0 , 0 WIDTH 0 HEIGHT 0 TITLE "" MAIN;
ON INIT Console();
NOSHOW;
NOMINIMIZE;
NOMAXIMIZE;
NOSIZE;
NOSYSMENU;
ICON Nil;
BACKCOLOR Nil;
NOCAPTION
END WINDOW
ACTIVATE WINDOW startCons
Return Nil
**************************** MAIN *****************************
Procedure Console
Public cons_hwnd := GETCONSOLEWINDOW()
SETCONSOLETITLE ( "New console title" )
SETMODE(25,80)
@0,0 CLEA
DO WHILE .T.
@2,2 SAY 'PRESS F10 TO CALL FORM 1'
@4,2 SAY 'PRESS F11 TO HIDE CONSOLE AND CALL FORM 1'
@6,2 SAY 'PRESS ESC TO EXIT'
INKEY(0)
IF LASTKEY()=27
QUIT
ENDIF
IF LASTKEY()=-9
Form1()
SetForegroundWindow(cons_hwnd)
ENDIF
IF LASTKEY()=-40
HideConsole(cons_hwnd)
Form1()
ShowConsole(cons_hwnd)
ENDIF
KEYBOARD ""
ENDDO
RETURN
**********************************************************
FUNCTION Form1()
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 800 HEIGHT 600 ;
TITLE 'FORM 1'
ON KEY Escape ACTION ThisWindow.Release
DEFINE TEXTBOX Text_1
ROW 50
COL 190
WIDTH 120
HEIGHT 24
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .T.
READONLY .F.
RIGHTALIGN .F.
BACKCOLOR NIL
FONTCOLOR NIL
INPUTMASK Nil
FORMAT Nil
VALUE "hello!"
END TEXTBOX
DEFINE TEXTBOX Text_2
ROW 90
COL 190
WIDTH 120
HEIGHT 24
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .T.
READONLY .F.
RIGHTALIGN .F.
BACKCOLOR NIL
FONTCOLOR NIL
INPUTMASK Nil
FORMAT Nil
NUMERIC .T.
VALUE 100
END TEXTBOX
DEFINE TEXTBOX Text_3
ROW 130
COL 190
WIDTH 120
HEIGHT 24
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .T.
READONLY .F.
RIGHTALIGN .F.
BACKCOLOR NIL
FONTCOLOR NIL
INPUTMASK Nil
FORMAT Nil
DATE .T.
VALUE ctod('01/01/01')
END TEXTBOX
DEFINE LABEL Label_1
ROW 50
COL 60
WIDTH 120
HEIGHT 24
VALUE "Label_1"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR NIL
FONTCOLOR NIL
END LABEL
DEFINE LABEL Label_2
ROW 90
COL 60
WIDTH 120
HEIGHT 24
VALUE "Label_2"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR NIL
FONTCOLOR NIL
END LABEL
DEFINE LABEL Label_3
ROW 130
COL 60
WIDTH 120
HEIGHT 24
VALUE "Label_3"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR NIL
FONTCOLOR NIL
END LABEL
DEFINE FRAME Frame_1
ROW 10
COL 30
WIDTH 310
HEIGHT 170
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
CAPTION "Frame_1"
BACKCOLOR NIL
FONTCOLOR NIL
OPAQUE .T.
END FRAME
DEFINE FRAME Frame_2
ROW 190
COL 30
WIDTH 310
HEIGHT 170
FONTNAME "Arial"
FONTSIZE 9
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
CAPTION "Frame_2"
BACKCOLOR NIL
FONTCOLOR NIL
OPAQUE .T.
END FRAME
DEFINE TEXTBOX Text_4
ROW 230
COL 190
WIDTH 120
HEIGHT 24
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .T.
READONLY .F.
RIGHTALIGN .F.
BACKCOLOR NIL
FONTCOLOR NIL
INPUTMASK Nil
FORMAT Nil
VALUE ""
END TEXTBOX
DEFINE TEXTBOX Text_5
ROW 270
COL 190
WIDTH 120
HEIGHT 24
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .T.
READONLY .F.
RIGHTALIGN .F.
BACKCOLOR NIL
FONTCOLOR NIL
INPUTMASK Nil
FORMAT Nil
NUMERIC .T.
VALUE Nil
END TEXTBOX
DEFINE TEXTBOX Text_6
ROW 310
COL 190
WIDTH 120
HEIGHT 24
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .T.
READONLY .F.
RIGHTALIGN .F.
BACKCOLOR NIL
FONTCOLOR NIL
INPUTMASK Nil
FORMAT Nil
VALUE ""
END TEXTBOX
DEFINE LABEL Label_4
ROW 230
COL 60
WIDTH 120
HEIGHT 24
VALUE "Label_4"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR NIL
FONTCOLOR NIL
END LABEL
DEFINE LABEL Label_5
ROW 270
COL 60
WIDTH 120
HEIGHT 24
VALUE "Label_5"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR NIL
FONTCOLOR NIL
END LABEL
DEFINE LABEL Label_6
ROW 310
COL 60
WIDTH 120
HEIGHT 24
VALUE "Label_6"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR NIL
FONTCOLOR NIL
END LABEL
END WINDOW
SetForegroundWindow ( Form_1.Handle )
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1
RETURN
#pragma BEGINDUMP
#include "hbapi.h"
#include "hbapiitm.h"
#include <windows.h>
// doesn't work with win32 function GetConsoleWindow()
HWND GetConWin()
{
HWND hwnd;
AllocConsole();
hwnd = FindWindowA("ConsoleWindowClass",NULL);
return hwnd;
}
HB_FUNC( GETCONSOLEWINDOW )
{
hb_retnl((long) GetConWin() );
}
HB_FUNC(HIDECONSOLE )
{
long h = hb_parnl(1);
if (h==NULL)
h = GetConWin();
ShowWindow(h,SW_HIDE); // SW_HIDE
}
HB_FUNC(SHOWCONSOLE )
{
long h = hb_parnl(1);
if (h==NULL)
h = GetConWin();
ShowWindow(h,SW_SHOW); // because 1'st time console stays minimized
ShowWindow(h,SW_RESTORE); //SW_SHOW
SetFocus(h);
SetForegroundWindow(h);
}
HB_FUNC(SETCONSOLETITLE)
{ char * szTitle=hb_parc(1);
SetConsoleTitle(szTitle);
}
#pragma ENDDUMP
]]>Code: Select all
#define CRLF Chr( 13 ) + Chr( 10 )
#include "minigui.ch"
PROCEDURE MAIN()
Code: Select all
#define CRLF Chr( 13 ) + Chr( 10 )
#include "minigui.ch"
PROCEDURE MAIN()
Code: Select all
p_p := __pp_Init()
Command_s := "SET MARGIN TO"
Preprocessed_s := __pp_Process( p_p, Command_s )
Code: Select all
Set( _SET_MARGIN, 0 )
Code: Select all
p_p := __pp_Init()
Command_s := "SET MARGIN TO"
Preprocessed_s := __pp_Process( p_p, Command_s )
Code: Select all
Set( _SET_MARGIN, 0 )
You can look at the following working example:REQUEST __pp_StdRules
Code: Select all
REQUEST HB_GT_WIN_DEFAULT
REQUEST __pp_StdRules
PROCEDURE Main()
LOCAL cString
LOCAL pPP := __pp_Init()
CLS
? "Testing Harbour run-time preprocessing"
?
? cString := "@ 10, 10 SAY 'Hello!'"
? __pp_Process( pPP, cString )
?
? cString := "? 'Hello mom'"
? __pp_Process( pPP, cString )
?
? cString := "SET MARGIN TO Something"
? __pp_Process( pPP, cString )
?
WAIT
RETURN
Attachments
You can look at the following working example:REQUEST __pp_StdRules
Code: Select all
REQUEST HB_GT_WIN_DEFAULT
REQUEST __pp_StdRules
PROCEDURE Main()
LOCAL cString
LOCAL pPP := __pp_Init()
CLS
? "Testing Harbour run-time preprocessing"
?
? cString := "@ 10, 10 SAY 'Hello!'"
? __pp_Process( pPP, cString )
?
? cString := "? 'Hello mom'"
? __pp_Process( pPP, cString )
?
? cString := "SET MARGIN TO Something"
? __pp_Process( pPP, cString )
?
WAIT
RETURN
Attachments
Code: Select all
Function GetSystemClipboard()
Local ClipBoard_s := ""
ClipBoard_s := System.Clipboard
Return ClipBoard_s
Code: Select all
#INCLUDE "i_pseudofunc.CH"
#include "FILEIO.CH"
#INCLUDE "COMMON.CH"
#INCLUDE "directry.ch"
#Include "hbinkey.ch"
#Include "inkey.ch"
#INCLUDE "hbgtinfo.ch"
#include "inkey.ch"
#include "set.ch"
Code: Select all
Function GetSystemClipboard()
Local ClipBoard_s := ""
ClipBoard_s := System.Clipboard
Return ClipBoard_s
Code: Select all
#INCLUDE "i_pseudofunc.CH"
#include "FILEIO.CH"
#INCLUDE "COMMON.CH"
#INCLUDE "directry.ch"
#Include "hbinkey.ch"
#Include "inkey.ch"
#INCLUDE "hbgtinfo.ch"
#include "inkey.ch"
#include "set.ch"
]]>
]]>
Code: Select all
#include "hmg.ch"
Function Main
Local aRows [20] [3]
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 690 ;
HEIGHT 400 ;
TITLE 'Row Height Grid Test' ;
MAIN
DEFINE MAIN MENU
DEFINE POPUP 'File'
MENUITEM 'Set Item' ACTION SetItem()
MENUITEM 'Get Item' ACTION GetItem()
END POPUP
END MENU
aRows [1] := {113.12,date(),1,1 , .t. }
aRows [2] := {123.12,date(),2,2 , .f. }
aRows [3] := {133.12,date(),3,3, .t. }
aRows [4] := {143.12,date(),1,4, .f. }
aRows [5] := {153.12,date(),2,5, .t. }
aRows [6] := {163.12,date(),3,6, .f. }
aRows [7] := {173.12,date(),1,7, .t. }
aRows [8] := {183.12,date(),2,8, .f. }
aRows [9] := {193.12,date(),3,9, .t. }
aRows [10] := {113.12,date(),1,10, .f. }
aRows [11] := {123.12,date(),2,11, .t. }
aRows [12] := {133.12,date(),3,12, .f. }
aRows [13] := {143.12,date(),1,13, .t. }
aRows [14] := {153.12,date(),2,14, .f. }
aRows [15] := {163.12,date(),3,15, .t. }
aRows [16] := {173.12,date(),1,16, .f. }
aRows [17] := {183.12,date(),2,17, .t. }
aRows [18] := {193.12,date(),3,18, .f. }
aRows [19] := {113.12,date(),1,19, .t. }
aRows [20] := {123.12,date(),2,20, .f. }
@ 10,60 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 ON CHANGE playbeep() ;
COLUMNCONTROLS { {'TEXTBOX','NUMERIC','$ 999,999.99'} , {'DATEPICKER','DROPDOWN'} , {'COMBOBOX',{'One','Two','Three'}} , { 'SPINNER' , 1 , 20 } , { 'CHECKBOX' , 'Yes' , 'No' } } ;
CELLNAVIGATION
@ 10,10 SLIDER Slider_1 ;
RANGE 1,10 ;
VALUE 1 ;
TOOLTIP "Grid Row Height" ;
VERTICAL ;
ON CHANGE { || ( SetGridRowHeight ( "Form_1", "Grid_1", Form_1.Slider_1.Value * 12 ), Form_1.RowHeight_label.Value := Str( Form_1.Slider_1.Value * 12, 3 ) ) }
@ 130, 10 LABEL RowHeight_label VALUE Str( Form_1.Slider_1.Value * 12, 3 ) WIDTH 45
END WINDOW
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1
Return
PROCEDURE SETITEM()
Form_1.Grid_1.Item (2) := { 123.45 , date() , 2 , 10 , .T. }
RETURN
PROCEDURE GETITEM()
local a
a := Form_1.Grid_1.Item (2)
msginfo ( str ( a [1] ) , '1' )
msginfo ( dtoc ( a [2] ) , '2' )
msginfo ( str( a [3] ) , '3' )
msginfo ( str ( a [4] ) , '4' )
msginfo ( if ( a [5] == .t. , '.t.' , '.f.' ) , '5' )
RETURN
****************
Function SetGridRowHeight ( cFormName, cGridName, nHeight )
Local cDummyPNG := "__Dummy_" + cFormName + "_" + cGridName + ".png"
Local hBitmap := BT_BitmapCreateNew (1, nHeight, { 255, 255, 255 } )
Local Ret := BT_BitmapSaveFile (hBitmap, cDummyPNG, BT_FILEFORMAT_PNG)
BT_BitmapRelease ( hBitmap )
IF Ret
SetProperty ( cFormName, cGridName, "Image", .T., { cDummyPNG } )
ENDIF
hb_FileDelete ( cDummyPNG )
RETURN Ret
Code: Select all
#include "hmg.ch"
Function Main
Local aRows [20] [3]
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 690 ;
HEIGHT 400 ;
TITLE 'Row Height Grid Test' ;
MAIN
DEFINE MAIN MENU
DEFINE POPUP 'File'
MENUITEM 'Set Item' ACTION SetItem()
MENUITEM 'Get Item' ACTION GetItem()
END POPUP
END MENU
aRows [1] := {113.12,date(),1,1 , .t. }
aRows [2] := {123.12,date(),2,2 , .f. }
aRows [3] := {133.12,date(),3,3, .t. }
aRows [4] := {143.12,date(),1,4, .f. }
aRows [5] := {153.12,date(),2,5, .t. }
aRows [6] := {163.12,date(),3,6, .f. }
aRows [7] := {173.12,date(),1,7, .t. }
aRows [8] := {183.12,date(),2,8, .f. }
aRows [9] := {193.12,date(),3,9, .t. }
aRows [10] := {113.12,date(),1,10, .f. }
aRows [11] := {123.12,date(),2,11, .t. }
aRows [12] := {133.12,date(),3,12, .f. }
aRows [13] := {143.12,date(),1,13, .t. }
aRows [14] := {153.12,date(),2,14, .f. }
aRows [15] := {163.12,date(),3,15, .t. }
aRows [16] := {173.12,date(),1,16, .f. }
aRows [17] := {183.12,date(),2,17, .t. }
aRows [18] := {193.12,date(),3,18, .f. }
aRows [19] := {113.12,date(),1,19, .t. }
aRows [20] := {123.12,date(),2,20, .f. }
@ 10,60 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 ON CHANGE playbeep() ;
COLUMNCONTROLS { {'TEXTBOX','NUMERIC','$ 999,999.99'} , {'DATEPICKER','DROPDOWN'} , {'COMBOBOX',{'One','Two','Three'}} , { 'SPINNER' , 1 , 20 } , { 'CHECKBOX' , 'Yes' , 'No' } } ;
CELLNAVIGATION
@ 10,10 SLIDER Slider_1 ;
RANGE 1,10 ;
VALUE 1 ;
TOOLTIP "Grid Row Height" ;
VERTICAL ;
ON CHANGE { || ( SetGridRowHeight ( "Form_1", "Grid_1", Form_1.Slider_1.Value * 12 ), Form_1.RowHeight_label.Value := Str( Form_1.Slider_1.Value * 12, 3 ) ) }
@ 130, 10 LABEL RowHeight_label VALUE Str( Form_1.Slider_1.Value * 12, 3 ) WIDTH 45
END WINDOW
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1
Return
PROCEDURE SETITEM()
Form_1.Grid_1.Item (2) := { 123.45 , date() , 2 , 10 , .T. }
RETURN
PROCEDURE GETITEM()
local a
a := Form_1.Grid_1.Item (2)
msginfo ( str ( a [1] ) , '1' )
msginfo ( dtoc ( a [2] ) , '2' )
msginfo ( str( a [3] ) , '3' )
msginfo ( str ( a [4] ) , '4' )
msginfo ( if ( a [5] == .t. , '.t.' , '.f.' ) , '5' )
RETURN
****************
Function SetGridRowHeight ( cFormName, cGridName, nHeight )
Local cDummyPNG := "__Dummy_" + cFormName + "_" + cGridName + ".png"
Local hBitmap := BT_BitmapCreateNew (1, nHeight, { 255, 255, 255 } )
Local Ret := BT_BitmapSaveFile (hBitmap, cDummyPNG, BT_FILEFORMAT_PNG)
BT_BitmapRelease ( hBitmap )
IF Ret
SetProperty ( cFormName, cGridName, "Image", .T., { cDummyPNG } )
ENDIF
hb_FileDelete ( cDummyPNG )
RETURN Ret
]]>The GCC 14 compiler code was branched from the main Git branch with release preparations for GCC 14 underway. A status report was just published outlining release plans for getting GCC 14.1 stable out around 7 May.
With the GCC 14 code now being branched, GCC 15 is in development on the mainline Git code. A GCC 14.1 release candidate should be out next week while the hope is to release GCC 14.1 stable around 7 May. In today's status report they have cleared all the highest priority "P1" regressions while now are up to 606 P2 regressions and 57 P3 regressions.
Long story short, GCC 14.1 stable should be out by mid-May.
]]>The GCC 14 compiler code was branched from the main Git branch with release preparations for GCC 14 underway. A status report was just published outlining release plans for getting GCC 14.1 stable out around 7 May.
With the GCC 14 code now being branched, GCC 15 is in development on the mainline Git code. A GCC 14.1 release candidate should be out next week while the hope is to release GCC 14.1 stable around 7 May. In today's status report they have cleared all the highest priority "P1" regressions while now are up to 606 P2 regressions and 57 P3 regressions.
Long story short, GCC 14.1 stable should be out by mid-May.
]]>May 7, 2024
The GCC developers are pleased to announce the release of GCC 14.1.
This release is a major release, containing new features (as well as many other improvements) relative to GCC 13.x.
Release History
GCC 14.1
May 7, 2024
References and Acknowledgements
GCC used to stand for the GNU C Compiler, but since the compiler supports several other languages aside from C, it now stands for the GNU Compiler Collection.
The GCC developers would like to thank the numerous people that have contributed new features, improvements, bug fixes, and other changes as well as test results to GCC. This amazing group of volunteers is what makes GCC successful.
]]>May 7, 2024
The GCC developers are pleased to announce the release of GCC 14.1.
This release is a major release, containing new features (as well as many other improvements) relative to GCC 13.x.
Release History
GCC 14.1
May 7, 2024
References and Acknowledgements
GCC used to stand for the GNU C Compiler, but since the compiler supports several other languages aside from C, it now stands for the GNU Compiler Collection.
The GCC developers would like to thank the numerous people that have contributed new features, improvements, bug fixes, and other changes as well as test results to GCC. This amazing group of volunteers is what makes GCC successful.
Code: Select all
2024-05-08 16:38:30 Windows 10 10.0
Harbour 3.2.0dev (r2404101339) MinGW GNU C 14.1 (64-bit) x86-64
THREADS: 0
N_LOOPS: 1000000
[ T000: empty loop overhead ]...................................0.02
====================================================================
[ T001: x := L_C ]..............................................0.02
[ T002: x := L_N ]..............................................0.00
[ T003: x := L_D ]..............................................0.02
[ T004: x := S_C ]..............................................0.02
[ T005: x := S_N ]..............................................0.02
[ T006: x := S_D ]..............................................0.02
[ T007: x := M->M_C ]...........................................0.02
[ T008: x := M->M_N ]...........................................0.02
[ T009: x := M->M_D ]...........................................0.02
[ T010: x := M->P_C ]...........................................0.03
[ T011: x := M->P_N ]...........................................0.02
[ T012: x := M->P_D ]...........................................0.02
[ T013: x := F_C ]..............................................0.02
[ T014: x := F_N ]..............................................0.02
[ T015: x := F_D ]..............................................0.02
[ T016: x := o:Args ]...........................................0.05
[ T017: x := o[ 2 ] ]...........................................0.05
[ T018: Round( i / 1000, 2 ) ]..................................0.08
[ T019: Str( i / 1000 ) ].......................................0.22
[ T020: Val( s ) ]..............................................0.08
[ T021: Val( a [ i % 16 + 1 ] ) ]...............................0.11
[ T022: DToS( d - i % 10000 ) ].................................0.13
[ T023: Eval( {|| i % 16 } ) ]..................................0.14
[ T024: Eval( bc := {|| i % 16 } ) ]............................0.08
[ T025: Eval( {| x | x % 16 }, i ) ]............................0.11
[ T026: Eval( bc := {| x | x % 16 }, i ) ]......................0.08
[ T027: Eval( {| x | f1( x ) }, i ) ]...........................0.13
[ T028: Eval( bc := {| x | f1( x ) }, i ) ].....................0.09
[ T029: Eval( bc := &( "{| x | f1( x ) }" ), i ) ]..............0.09
[ T030: x := &( "f1(" + Str( i ) + ")" ) ]......................0.72
[ T031: bc := &( "{| x | f1( x ) }" ), Eval( bc, i ) ]..........0.91
[ T032: x := ValType( x ) + ValType( i ) ]......................0.11
[ T033: x := StrZero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........0.25
[ T034: x := a[ i % 16 + 1 ] == s ].............................0.08
[ T035: x := a[ i % 16 + 1 ] = s ]..............................0.09
[ T036: x := a[ i % 16 + 1 ] >= s ].............................0.09
[ T037: x := a[ i % 16 + 1 ] <= s ].............................0.09
[ T038: x := a[ i % 16 + 1 ] < s ]..............................0.09
[ T039: x := a[ i % 16 + 1 ] > s ]..............................0.09
[ T040: AScan( a, i % 16 ) ]....................................0.11
[ T041: AScan( a, {| x | x == i % 16 } ) ]......................0.94
[ T042: iif( i % 1000 == 0, a := {}, ), AAdd(a,{i,1,.T.,s, ]....0.30
[ T043: x := a ]................................................0.02
[ T044: x := {} ]...............................................0.03
[ T045: f0() ]..................................................0.02
[ T046: f1( i ) ]...............................................0.03
[ T047: f2( c[1...8] ) ]........................................0.03
[ T048: f2( c[1...40000] ) ]....................................0.02
[ T049: f2( @c[1...40000] ) ]...................................0.02
[ T050: f2( @c[1...40000] ), c2 := c ]..........................0.03
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................0.09
[ T052: f2( a ) ]...............................................0.03
[ T053: x := f4() ].............................................0.13
[ T054: x := f5() ].............................................0.08
[ T055: x := Space( 16 ) ]......................................0.06
[ T056: f_prv( c ) ]............................................0.09
====================================================================
[ total application time: ].....................................7.09
[ total real time: ]............................................7.11
2024-05-08 16:41:12 Windows 10 10.0
Harbour 3.2.0dev (r2404101339) (MT)+ MinGW GNU C 14.1 (64-bit) x86-64
THREADS: all->56
N_LOOPS: 1000000
[ T000: empty loop overhead ]...................................0.02
====================================================================
[ T001: x := L_C ]..............................................0.84
[ T002: x := L_N ]..............................................0.28
[ T003: x := L_D ]..............................................0.34
[ T004: x := S_C ]..............................................0.78
[ T005: x := S_N ]..............................................1.27
[ T006: x := S_D ]..............................................1.05
[ T007: x := M->M_C ]...........................................1.33
[ T008: x := M->M_N ]...........................................1.22
[ T009: x := M->M_D ]...........................................1.22
[ T010: x := M->P_C ]...........................................1.27
[ T011: x := M->P_N ]...........................................1.23
[ T012: x := M->P_D ]...........................................1.52
[ T013: x := F_C ]..............................................0.55
[ T014: x := F_N ]..............................................0.70
[ T015: x := F_D ]..............................................0.64
[ T016: x := o:Args ]...........................................6.61
[ T017: x := o[ 2 ] ]...........................................2.05
[ T018: Round( i / 1000, 2 ) ]..................................8.72
[ T019: Str( i / 1000 ) ]......................................12.92
[ T020: Val( s ) ]..............................................8.77
[ T021: Val( a [ i % 16 + 1 ] ) ]..............................11.33
[ T022: DToS( d - i % 10000 ) ]................................11.42
[ T023: Eval( {|| i % 16 } ) ].................................17.70
[ T024: Eval( bc := {|| i % 16 } ) ]............................9.08
[ T025: Eval( {| x | x % 16 }, i ) ]...........................18.73
[ T026: Eval( bc := {| x | x % 16 }, i ) ]......................9.08
[ T027: Eval( {| x | f1( x ) }, i ) ]..........................18.61
[ T028: Eval( bc := {| x | f1( x ) }, i ) ]....................10.86
[ T029: Eval( bc := &( "{| x | f1( x ) }" ), i ) ].............10.80
[ T030: x := &( "f1(" + Str( i ) + ")" ) ].....................17.77
[ T031: bc := &( "{| x | f1( x ) }" ), Eval( bc, i ) ].........20.66
[ T032: x := ValType( x ) + ValType( i ) ].....................11.80
[ T033: x := StrZero( i % 100, 2 ) $ a[ i % 16 + 1 ] ].........12.14
[ T034: x := a[ i % 16 + 1 ] == s ].............................9.22
[ T035: x := a[ i % 16 + 1 ] = s ]..............................9.28
[ T036: x := a[ i % 16 + 1 ] >= s ].............................9.70
[ T037: x := a[ i % 16 + 1 ] <= s ].............................9.89
[ T038: x := a[ i % 16 + 1 ] < s ]..............................9.89
[ T039: x := a[ i % 16 + 1 ] > s ]..............................9.72
[ T040: AScan( a, i % 16 ) ]...................................10.53
[ T041: AScan( a, {| x | x == i % 16 } ) ].....................20.42
[ T042: iif( i % 1000 == 0, a := {}, ), AAdd(a,{i,1,.T.,s, ]...17.70
[ T043: x := a ]................................................2.39
[ T044: x := {} ]...............................................8.20
[ T045: f0() ]..................................................3.50
[ T046: f1( i ) ]...............................................4.89
[ T047: f2( c[1...8] ) ]........................................4.61
[ T048: f2( c[1...40000] ) ]....................................4.61
[ T049: f2( @c[1...40000] ) ]...................................4.72
[ T050: f2( @c[1...40000] ), c2 := c ]..........................6.58
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................9.67
[ T052: f2( a ) ]...............................................4.67
[ T053: x := f4() ]............................................10.34
[ T054: x := f5() ].............................................9.50
[ T055: x := Space( 16 ) ]......................................8.02
[ T056: f_prv( c ) ]...........................................10.53
====================================================================
[ total application time: ]....................................22.50
[ total real time: ]............................................6.79
Code: Select all
2024-05-08 16:38:30 Windows 10 10.0
Harbour 3.2.0dev (r2404101339) MinGW GNU C 14.1 (64-bit) x86-64
THREADS: 0
N_LOOPS: 1000000
[ T000: empty loop overhead ]...................................0.02
====================================================================
[ T001: x := L_C ]..............................................0.02
[ T002: x := L_N ]..............................................0.00
[ T003: x := L_D ]..............................................0.02
[ T004: x := S_C ]..............................................0.02
[ T005: x := S_N ]..............................................0.02
[ T006: x := S_D ]..............................................0.02
[ T007: x := M->M_C ]...........................................0.02
[ T008: x := M->M_N ]...........................................0.02
[ T009: x := M->M_D ]...........................................0.02
[ T010: x := M->P_C ]...........................................0.03
[ T011: x := M->P_N ]...........................................0.02
[ T012: x := M->P_D ]...........................................0.02
[ T013: x := F_C ]..............................................0.02
[ T014: x := F_N ]..............................................0.02
[ T015: x := F_D ]..............................................0.02
[ T016: x := o:Args ]...........................................0.05
[ T017: x := o[ 2 ] ]...........................................0.05
[ T018: Round( i / 1000, 2 ) ]..................................0.08
[ T019: Str( i / 1000 ) ].......................................0.22
[ T020: Val( s ) ]..............................................0.08
[ T021: Val( a [ i % 16 + 1 ] ) ]...............................0.11
[ T022: DToS( d - i % 10000 ) ].................................0.13
[ T023: Eval( {|| i % 16 } ) ]..................................0.14
[ T024: Eval( bc := {|| i % 16 } ) ]............................0.08
[ T025: Eval( {| x | x % 16 }, i ) ]............................0.11
[ T026: Eval( bc := {| x | x % 16 }, i ) ]......................0.08
[ T027: Eval( {| x | f1( x ) }, i ) ]...........................0.13
[ T028: Eval( bc := {| x | f1( x ) }, i ) ].....................0.09
[ T029: Eval( bc := &( "{| x | f1( x ) }" ), i ) ]..............0.09
[ T030: x := &( "f1(" + Str( i ) + ")" ) ]......................0.72
[ T031: bc := &( "{| x | f1( x ) }" ), Eval( bc, i ) ]..........0.91
[ T032: x := ValType( x ) + ValType( i ) ]......................0.11
[ T033: x := StrZero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........0.25
[ T034: x := a[ i % 16 + 1 ] == s ].............................0.08
[ T035: x := a[ i % 16 + 1 ] = s ]..............................0.09
[ T036: x := a[ i % 16 + 1 ] >= s ].............................0.09
[ T037: x := a[ i % 16 + 1 ] <= s ].............................0.09
[ T038: x := a[ i % 16 + 1 ] < s ]..............................0.09
[ T039: x := a[ i % 16 + 1 ] > s ]..............................0.09
[ T040: AScan( a, i % 16 ) ]....................................0.11
[ T041: AScan( a, {| x | x == i % 16 } ) ]......................0.94
[ T042: iif( i % 1000 == 0, a := {}, ), AAdd(a,{i,1,.T.,s, ]....0.30
[ T043: x := a ]................................................0.02
[ T044: x := {} ]...............................................0.03
[ T045: f0() ]..................................................0.02
[ T046: f1( i ) ]...............................................0.03
[ T047: f2( c[1...8] ) ]........................................0.03
[ T048: f2( c[1...40000] ) ]....................................0.02
[ T049: f2( @c[1...40000] ) ]...................................0.02
[ T050: f2( @c[1...40000] ), c2 := c ]..........................0.03
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................0.09
[ T052: f2( a ) ]...............................................0.03
[ T053: x := f4() ].............................................0.13
[ T054: x := f5() ].............................................0.08
[ T055: x := Space( 16 ) ]......................................0.06
[ T056: f_prv( c ) ]............................................0.09
====================================================================
[ total application time: ].....................................7.09
[ total real time: ]............................................7.11
2024-05-08 16:41:12 Windows 10 10.0
Harbour 3.2.0dev (r2404101339) (MT)+ MinGW GNU C 14.1 (64-bit) x86-64
THREADS: all->56
N_LOOPS: 1000000
[ T000: empty loop overhead ]...................................0.02
====================================================================
[ T001: x := L_C ]..............................................0.84
[ T002: x := L_N ]..............................................0.28
[ T003: x := L_D ]..............................................0.34
[ T004: x := S_C ]..............................................0.78
[ T005: x := S_N ]..............................................1.27
[ T006: x := S_D ]..............................................1.05
[ T007: x := M->M_C ]...........................................1.33
[ T008: x := M->M_N ]...........................................1.22
[ T009: x := M->M_D ]...........................................1.22
[ T010: x := M->P_C ]...........................................1.27
[ T011: x := M->P_N ]...........................................1.23
[ T012: x := M->P_D ]...........................................1.52
[ T013: x := F_C ]..............................................0.55
[ T014: x := F_N ]..............................................0.70
[ T015: x := F_D ]..............................................0.64
[ T016: x := o:Args ]...........................................6.61
[ T017: x := o[ 2 ] ]...........................................2.05
[ T018: Round( i / 1000, 2 ) ]..................................8.72
[ T019: Str( i / 1000 ) ]......................................12.92
[ T020: Val( s ) ]..............................................8.77
[ T021: Val( a [ i % 16 + 1 ] ) ]..............................11.33
[ T022: DToS( d - i % 10000 ) ]................................11.42
[ T023: Eval( {|| i % 16 } ) ].................................17.70
[ T024: Eval( bc := {|| i % 16 } ) ]............................9.08
[ T025: Eval( {| x | x % 16 }, i ) ]...........................18.73
[ T026: Eval( bc := {| x | x % 16 }, i ) ]......................9.08
[ T027: Eval( {| x | f1( x ) }, i ) ]..........................18.61
[ T028: Eval( bc := {| x | f1( x ) }, i ) ]....................10.86
[ T029: Eval( bc := &( "{| x | f1( x ) }" ), i ) ].............10.80
[ T030: x := &( "f1(" + Str( i ) + ")" ) ].....................17.77
[ T031: bc := &( "{| x | f1( x ) }" ), Eval( bc, i ) ].........20.66
[ T032: x := ValType( x ) + ValType( i ) ].....................11.80
[ T033: x := StrZero( i % 100, 2 ) $ a[ i % 16 + 1 ] ].........12.14
[ T034: x := a[ i % 16 + 1 ] == s ].............................9.22
[ T035: x := a[ i % 16 + 1 ] = s ]..............................9.28
[ T036: x := a[ i % 16 + 1 ] >= s ].............................9.70
[ T037: x := a[ i % 16 + 1 ] <= s ].............................9.89
[ T038: x := a[ i % 16 + 1 ] < s ]..............................9.89
[ T039: x := a[ i % 16 + 1 ] > s ]..............................9.72
[ T040: AScan( a, i % 16 ) ]...................................10.53
[ T041: AScan( a, {| x | x == i % 16 } ) ].....................20.42
[ T042: iif( i % 1000 == 0, a := {}, ), AAdd(a,{i,1,.T.,s, ]...17.70
[ T043: x := a ]................................................2.39
[ T044: x := {} ]...............................................8.20
[ T045: f0() ]..................................................3.50
[ T046: f1( i ) ]...............................................4.89
[ T047: f2( c[1...8] ) ]........................................4.61
[ T048: f2( c[1...40000] ) ]....................................4.61
[ T049: f2( @c[1...40000] ) ]...................................4.72
[ T050: f2( @c[1...40000] ), c2 := c ]..........................6.58
[ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................9.67
[ T052: f2( a ) ]...............................................4.67
[ T053: x := f4() ]............................................10.34
[ T054: x := f5() ].............................................9.50
[ T055: x := Space( 16 ) ]......................................8.02
[ T056: f_prv( c ) ]...........................................10.53
====================================================================
[ total application time: ]....................................22.50
[ total real time: ]............................................6.79
Attachments
Attachments
Attachments
HMG 3.4.4 with MinGW 14.1Attachments
HMG 3.4.4 with MinGW 14.1Code: Select all
#include "HMG.CH"
FUNCTION MAIN()
DEFINE WINDOW UNO AT 0,0 WIDTH 0 HEIGHT 0 BACKCOLOR {0,125,250} NOCAPTION MAIN
FRASE='ESA MÁSCARA ES OK'
LETRA='A'
LARGO=LEN(FRASE)
X=1
Y=1
DO WHILE LARGO>0
PISO=SUBSTR(FRASE,X,1) && CADA LETRA
POSI2='C'+ALLTRIM(STR(X)) && LABEL
IF PISO=LETRA
IF X<25
@ 86,X*50 LABEL &POSI2 VALUE PISO WIDTH 50 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD
ELSE
IF X=25
@ 186,50 LABEL &POSI2 VALUE PISO WIDTH 50 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD
Y=Y+1
ELSE
@ 186,Y*50 LABEL &POSI2 VALUE PISO WIDTH 50 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD
Y=Y+1
ENDIF
ENDIF
ELSE
IF X>=25
Y=Y+1
ENDIF
ENDIF
X=X+1
LARGO=LARGO-1
ENDDO
ON KEY ESCAPE ACTION UNO.RELEASE
END WINDOW
UNO.MAXIMIZE
UNO.ACTIVATE
RETURN
Code: Select all
#include "HMG.CH"
FUNCTION MAIN()
DEFINE WINDOW UNO AT 0,0 WIDTH 0 HEIGHT 0 BACKCOLOR {0,125,250} NOCAPTION MAIN
FRASE='ESA MÁSCARA ES OK'
LETRA='A'
LARGO=LEN(FRASE)
X=1
Y=1
DO WHILE LARGO>0
PISO=SUBSTR(FRASE,X,1) && CADA LETRA
POSI2='C'+ALLTRIM(STR(X)) && LABEL
IF PISO=LETRA
IF X<25
@ 86,X*50 LABEL &POSI2 VALUE PISO WIDTH 50 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD
ELSE
IF X=25
@ 186,50 LABEL &POSI2 VALUE PISO WIDTH 50 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD
Y=Y+1
ELSE
@ 186,Y*50 LABEL &POSI2 VALUE PISO WIDTH 50 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD
Y=Y+1
ENDIF
ENDIF
ELSE
IF X>=25
Y=Y+1
ENDIF
ENDIF
X=X+1
LARGO=LARGO-1
ENDDO
ON KEY ESCAPE ACTION UNO.RELEASE
END WINDOW
UNO.MAXIMIZE
UNO.ACTIVATE
RETURN
Code: Select all
#include "HMG.CH"
FUNCTION MAIN()
DEFINE WINDOW UNO AT 0,0 WIDTH 0 HEIGHT 0 BACKCOLOR {0,125,250} NOCAPTION MAIN
//1
LETRA='Á'
IF LETRA=CHR(195) // NUMBER IS SAME, WHY ?
@ 80*1,250 LABEL A VALUE 'ESTO ES LETRA -A- CON TILDE ---> '+LETRA WIDTH 999 HEIGHT 50 FONT "TAHOMA" SIZE 24 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
//2
LETRA='É'
IF LETRA=CHR(195) // NUMBER IS SAME, WHY ?
@ 80*2,250 LABEL E VALUE 'ESTO ES LETRA -E- CON TILDE ---> '+LETRA WIDTH 999 HEIGHT 50 FONT "TAHOMA" SIZE 24 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
//3
LETRA='Í'
IF LETRA=CHR(195) // NUMBER IS SAME, WHY ?
@ 80*3,250 LABEL I VALUE 'ESTO ES LETRA -I- CON TILDE ---> '+LETRA WIDTH 999 HEIGHT 50 FONT "TAHOMA" SIZE 24 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
//4
LETRA='Ó'
IF LETRA=CHR(195) // NUMBER IS SAME, WHY ?
@ 80*4,250 LABEL O VALUE 'ESTO ES LETRA -O- CON TILDE ---> '+LETRA WIDTH 999 HEIGHT 50 FONT "TAHOMA" SIZE 24 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
//5
LETRA='Ú'
IF LETRA=CHR(195) // NUMBER IS SAME, WHY ?
@ 80*5,250 LABEL U VALUE 'ESTO ES LETRA -U- CON TILDE ---> '+LETRA WIDTH 999 HEIGHT 50 FONT "TAHOMA" SIZE 24 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
ON KEY ESCAPE ACTION UNO.RELEASE
END WINDOW
UNO.MAXIMIZE
UNO.ACTIVATE
RETURN
Attachments
Code: Select all
#include "HMG.CH"
FUNCTION MAIN()
DEFINE WINDOW UNO AT 0,0 WIDTH 0 HEIGHT 0 BACKCOLOR {0,125,250} NOCAPTION MAIN
//1
LETRA='Á'
IF LETRA=CHR(195) // NUMBER IS SAME, WHY ?
@ 80*1,250 LABEL A VALUE 'ESTO ES LETRA -A- CON TILDE ---> '+LETRA WIDTH 999 HEIGHT 50 FONT "TAHOMA" SIZE 24 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
//2
LETRA='É'
IF LETRA=CHR(195) // NUMBER IS SAME, WHY ?
@ 80*2,250 LABEL E VALUE 'ESTO ES LETRA -E- CON TILDE ---> '+LETRA WIDTH 999 HEIGHT 50 FONT "TAHOMA" SIZE 24 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
//3
LETRA='Í'
IF LETRA=CHR(195) // NUMBER IS SAME, WHY ?
@ 80*3,250 LABEL I VALUE 'ESTO ES LETRA -I- CON TILDE ---> '+LETRA WIDTH 999 HEIGHT 50 FONT "TAHOMA" SIZE 24 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
//4
LETRA='Ó'
IF LETRA=CHR(195) // NUMBER IS SAME, WHY ?
@ 80*4,250 LABEL O VALUE 'ESTO ES LETRA -O- CON TILDE ---> '+LETRA WIDTH 999 HEIGHT 50 FONT "TAHOMA" SIZE 24 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
//5
LETRA='Ú'
IF LETRA=CHR(195) // NUMBER IS SAME, WHY ?
@ 80*5,250 LABEL U VALUE 'ESTO ES LETRA -U- CON TILDE ---> '+LETRA WIDTH 999 HEIGHT 50 FONT "TAHOMA" SIZE 24 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
ON KEY ESCAPE ACTION UNO.RELEASE
END WINDOW
UNO.MAXIMIZE
UNO.ACTIVATE
RETURN
Attachments
Code: Select all
#include "HMG.CH"
FUNCTION MAIN()
SET CODEPAGE TO UNICODE //<----
SET LANGUAGE TO SPANISH //<---
DEFINE WINDOW UNO AT 0,0 WIDTH 0 HEIGHT 0 BACKCOLOR {0,125,250} NOCAPTION MAIN
Attachments
Code: Select all
#include "HMG.CH"
FUNCTION MAIN()
SET CODEPAGE TO UNICODE //<----
SET LANGUAGE TO SPANISH //<---
DEFINE WINDOW UNO AT 0,0 WIDTH 0 HEIGHT 0 BACKCOLOR {0,125,250} NOCAPTION MAIN
Attachments
Code: Select all
#include "HMG.CH"
FUNCTION MAIN()
SET CODEPAGE TO UNICODE
SET LANGUAGE TO SPANISH
DEFINE WINDOW UNO AT 0,0 WIDTH 0 HEIGHT 0 BACKCOLOR {0,125,250} NOCAPTION MAIN
FRASE='ESA MÁSCARA ES OK'
LETRA='A' // VOCAL SIN TILDE A BUSCAR EN LA FRASE Y MOSTRARLA
LETRA2='Ñ' // comodín
LARGO=LEN(FRASE)
X=1
Y=1
DO WHILE LARGO>0
LETT=SUBSTR(FRASE,X,1) // CADA LETRA
LABE='L'+ALLTRIM(STR(X)) // LABEL
IF LETT=LETRA
@ 99,X*50 LABEL &LABE VALUE LETT WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
IF LETT=CHR(65) // vocal sin tilde
LETRA2='Á' // forsa a buscar con tilde también
ENDIF
IF LETT=CHR(195) .AND. LETRA='A'
@ 99,X*50 LABEL &LABE VALUE LETRA2 WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
X=X+1
LARGO=LARGO-1
ENDDO
ON KEY ESCAPE ACTION UNO.RELEASE
END WINDOW
UNO.MAXIMIZE
UNO.ACTIVATE
RETURN
Attachments
Code: Select all
#include "HMG.CH"
FUNCTION MAIN()
SET CODEPAGE TO UNICODE
SET LANGUAGE TO SPANISH
DEFINE WINDOW UNO AT 0,0 WIDTH 0 HEIGHT 0 BACKCOLOR {0,125,250} NOCAPTION MAIN
FRASE='ESA MÁSCARA ES OK'
LETRA='A' // VOCAL SIN TILDE A BUSCAR EN LA FRASE Y MOSTRARLA
LETRA2='Ñ' // comodín
LARGO=LEN(FRASE)
X=1
Y=1
DO WHILE LARGO>0
LETT=SUBSTR(FRASE,X,1) // CADA LETRA
LABE='L'+ALLTRIM(STR(X)) // LABEL
IF LETT=LETRA
@ 99,X*50 LABEL &LABE VALUE LETT WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
IF LETT=CHR(65) // vocal sin tilde
LETRA2='Á' // forsa a buscar con tilde también
ENDIF
IF LETT=CHR(195) .AND. LETRA='A'
@ 99,X*50 LABEL &LABE VALUE LETRA2 WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
X=X+1
LARGO=LARGO-1
ENDDO
ON KEY ESCAPE ACTION UNO.RELEASE
END WINDOW
UNO.MAXIMIZE
UNO.ACTIVATE
RETURN
Attachments
Code: Select all
#include "HMG.CH"
FUNCTION MAIN()
SET CODEPAGE TO UNICODE
SET LANGUAGE TO SPANISH
DEFINE WINDOW UNO AT 0,0 WIDTH 0 HEIGHT 0 BACKCOLOR {0,125,250} NOCAPTION MAIN
FRASE='ESA MÁSCARA CAUSA CÁNCER'
LETRA='A' // LETRA A BUSCAR EN LA FRASE Y MOSTRARLA
LARGO=LEN(FRASE)
X=1
Y=1
P=0
DO WHILE LARGO>0
LETT=SUBSTR(FRASE,X,1) // CADA LETRA
LABE1='L'+ALLTRIM(STR(X)) // LABEL1
LABE2='M'+ALLTRIM(STR(X)) // LABEL2
IF P=0
IF LETT=LETRA
@ 99,X*50 LABEL &LABE1 VALUE LETT WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ELSE // PINTA LAS DEMÁS LETRAS
@ 99,X*50 LABEL &LABE1 VALUE LETT WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
ELSE // POSICIÓN DESPUÉS DE LA LETRA CON TILDE
IF LETT=LETRA
@ 99,X*50 LABEL &LABE1 VALUE LETT WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ELSE
@ 99,X*50 LABEL &LABE1 VALUE LETT WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
P=0
ENDIF
IF LETT=CHR(195) .AND. LETRA='A'
P=1
LETRA2='Á'
@ 99,X*50 LABEL &LABE2 VALUE LETRA2 WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
X=X+1
LARGO=LARGO-1
ENDDO
ON KEY ESCAPE ACTION UNO.RELEASE
END WINDOW
UNO.MAXIMIZE
UNO.ACTIVATE
RETURN
Attachments
Code: Select all
#include "HMG.CH"
FUNCTION MAIN()
SET CODEPAGE TO UNICODE
SET LANGUAGE TO SPANISH
DEFINE WINDOW UNO AT 0,0 WIDTH 0 HEIGHT 0 BACKCOLOR {0,125,250} NOCAPTION MAIN
FRASE='ESA MÁSCARA CAUSA CÁNCER'
LETRA='A' // LETRA A BUSCAR EN LA FRASE Y MOSTRARLA
LARGO=LEN(FRASE)
X=1
Y=1
P=0
DO WHILE LARGO>0
LETT=SUBSTR(FRASE,X,1) // CADA LETRA
LABE1='L'+ALLTRIM(STR(X)) // LABEL1
LABE2='M'+ALLTRIM(STR(X)) // LABEL2
IF P=0
IF LETT=LETRA
@ 99,X*50 LABEL &LABE1 VALUE LETT WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ELSE // PINTA LAS DEMÁS LETRAS
@ 99,X*50 LABEL &LABE1 VALUE LETT WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
ELSE // POSICIÓN DESPUÉS DE LA LETRA CON TILDE
IF LETT=LETRA
@ 99,X*50 LABEL &LABE1 VALUE LETT WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ELSE
@ 99,X*50 LABEL &LABE1 VALUE LETT WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
P=0
ENDIF
IF LETT=CHR(195) .AND. LETRA='A'
P=1
LETRA2='Á'
@ 99,X*50 LABEL &LABE2 VALUE LETRA2 WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
X=X+1
LARGO=LARGO-1
ENDDO
ON KEY ESCAPE ACTION UNO.RELEASE
END WINDOW
UNO.MAXIMIZE
UNO.ACTIVATE
RETURN
Attachments
Code: Select all
#include "HMG.CH"
FUNCTION MAIN()
SET CODEPAGE TO UNICODE
SET LANGUAGE TO SPANISH
DEFINE WINDOW UNO AT 0,0 WIDTH 0 HEIGHT 0 BACKCOLOR {0,125,250} NOCAPTION MAIN
FRASE="ESA MÁSCARA CAUSA CÁNCER"
LETRA='A' // LETRA A BUSCAR EN LA FRASE Y MOSTRARLA
LARGO=LEN(ALLTRIM(FRASE))
X=1
Y=1
DO WHILE LARGO>0
LETT=SUBSTR(FRASE,X,1) // CADA LETRA
L1='L'+ALLTRIM(STR(X)) // LABEL PARA MOSTRAR TODAS LAS LETRAS MENOS LA Á (INCLUYE ESPACIOS)
L2='M'+ALLTRIM(STR(X)) // LABEL PARA LLEVAR NUMERACIÓN DE X
L3='N'+ALLTRIM(STR(Y)) // LABEL PARA A CON TILDE
L4='O'+ALLTRIM(STR(Y)) // LABEL PARA LLEVAR NUMERACIÓN A LA PAR CON X
NUMERO = ASC(LETT) // PARA SABER EL # CHR
IF LETT=CHR(195) .AND. LETRA='A' // PINTA LAS Á
LETRA2='Á'
@ 099,Y*50 LABEL &L3 VALUE ALLTRIM(LETRA2) WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR GREEN BACKCOLOR {0,125,250}
@ 200,Y*50 LABEL &L4 VALUE STR(X,2,0) WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 20 BOLD FONTCOLOR GREEN BACKCOLOR {0,125,250}
ELSE
IF LETT='A' .AND. NUMERO<>195 // PINTA LAS A
@ 099,X*50 LABEL &L1 VALUE LETT WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR YELLOW BACKCOLOR {0,125,250}
@ 200,X*50 LABEL &L2 VALUE STR(X,2,0) WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 20 BOLD FONTCOLOR YELLOW BACKCOLOR {0,125,250}
ELSE
IF NUMERO=32 // ESPACIO EN BLANCO
@ 099,X*50 LABEL &L1 VALUE '_' WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR BROWN BACKCOLOR {0,125,250}
@ 200,X*50 LABEL &L2 VALUE STR(X,2,0) WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 20 BOLD FONTCOLOR BROWN BACKCOLOR {0,125,250}
ELSE // LAS DEMÁS LETRAS
@ 099,X*50 LABEL &L1 VALUE LETT WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
@ 200,X*50 LABEL &L2 VALUE STR(X,2,0) WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 20 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
ENDIF
ENDIF
X=X+1
Y=Y+1
LARGO=LARGO-1
ENDDO
ON KEY ESCAPE ACTION UNO.RELEASE
END WINDOW
UNO.MAXIMIZE
UNO.ACTIVATE
RETURN
Attachments
Code: Select all
#include "HMG.CH"
FUNCTION MAIN()
SET CODEPAGE TO UNICODE
SET LANGUAGE TO SPANISH
DEFINE WINDOW UNO AT 0,0 WIDTH 0 HEIGHT 0 BACKCOLOR {0,125,250} NOCAPTION MAIN
FRASE="ESA MÁSCARA CAUSA CÁNCER"
LETRA='A' // LETRA A BUSCAR EN LA FRASE Y MOSTRARLA
LARGO=LEN(ALLTRIM(FRASE))
X=1
Y=1
DO WHILE LARGO>0
LETT=SUBSTR(FRASE,X,1) // CADA LETRA
L1='L'+ALLTRIM(STR(X)) // LABEL PARA MOSTRAR TODAS LAS LETRAS MENOS LA Á (INCLUYE ESPACIOS)
L2='M'+ALLTRIM(STR(X)) // LABEL PARA LLEVAR NUMERACIÓN DE X
L3='N'+ALLTRIM(STR(Y)) // LABEL PARA A CON TILDE
L4='O'+ALLTRIM(STR(Y)) // LABEL PARA LLEVAR NUMERACIÓN A LA PAR CON X
NUMERO = ASC(LETT) // PARA SABER EL # CHR
IF LETT=CHR(195) .AND. LETRA='A' // PINTA LAS Á
LETRA2='Á'
@ 099,Y*50 LABEL &L3 VALUE ALLTRIM(LETRA2) WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR GREEN BACKCOLOR {0,125,250}
@ 200,Y*50 LABEL &L4 VALUE STR(X,2,0) WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 20 BOLD FONTCOLOR GREEN BACKCOLOR {0,125,250}
ELSE
IF LETT='A' .AND. NUMERO<>195 // PINTA LAS A
@ 099,X*50 LABEL &L1 VALUE LETT WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR YELLOW BACKCOLOR {0,125,250}
@ 200,X*50 LABEL &L2 VALUE STR(X,2,0) WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 20 BOLD FONTCOLOR YELLOW BACKCOLOR {0,125,250}
ELSE
IF NUMERO=32 // ESPACIO EN BLANCO
@ 099,X*50 LABEL &L1 VALUE '_' WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR BROWN BACKCOLOR {0,125,250}
@ 200,X*50 LABEL &L2 VALUE STR(X,2,0) WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 20 BOLD FONTCOLOR BROWN BACKCOLOR {0,125,250}
ELSE // LAS DEMÁS LETRAS
@ 099,X*50 LABEL &L1 VALUE LETT WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
@ 200,X*50 LABEL &L2 VALUE STR(X,2,0) WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 20 BOLD FONTCOLOR WHITE BACKCOLOR {0,125,250}
ENDIF
ENDIF
ENDIF
X=X+1
Y=Y+1
LARGO=LARGO-1
ENDDO
ON KEY ESCAPE ACTION UNO.RELEASE
END WINDOW
UNO.MAXIMIZE
UNO.ACTIVATE
RETURN
Attachments
Code: Select all
#include "HMG.CH"
FUNCTION MAIN()
SET CODEPAGE TO UNICODE
SET LANGUAGE TO SPANISH
DEFINE WINDOW UNO AT 0,0 WIDTH 0 HEIGHT 0 BACKCOLOR {0,125,250} NOCAPTION MAIN
FRASE := "ESA MÁSCARA CAUSA CÁNCER"
LETRA := { 'A', 'Á' } // LETRA A BUSCAR EN LA FRASE Y MOSTRARLA
LARGO := hb_ULen(ALLTRIM(FRASE))
X := 1
Y := 1
DO WHILE LARGO > 0
LETT := hb_USubStr(FRASE,X,1) // CADA LETRA
L1 := 'L'+ALLTRIM(STR(X)) // LABEL PARA MOSTRAR TODAS LAS LETRAS MENOS LA Á (INCLUYE ESPACIOS)
L2 := 'M'+ALLTRIM(STR(X)) // LABEL PARA LLEVAR NUMERACIÓN DE X
DO CASE
CASE ASCAN ( LETRA, LETT ) = 2 //LETT = "Á"
aColor := { 0 , 255 , 0 } //GREEN
CASE ASCAN ( LETRA, LETT ) = 1 //LETT = "A"
aColor := { 255 , 255 , 0 } //YELLOW
CASE LETT = " "
LETT := "_"
aColor := { 128 , 64 , 64 } //BROWN
OTHER
aColor := { 255 , 255 , 255 } //WHITE
ENDCASE
@ 099,X*50 LABEL &L1 VALUE LETT WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR aColor BACKCOLOR {0,125,250}
@ 200,X*50 LABEL &L2 VALUE STR(X,2,0) WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 20 BOLD FONTCOLOR aColor BACKCOLOR {0,125,250}
X++
Y++
LARGO--
ENDDO
ON KEY ESCAPE ACTION UNO.RELEASE
END WINDOW
UNO.MAXIMIZE
UNO.ACTIVATE
RETURN
Code: Select all
#include "HMG.CH"
FUNCTION MAIN()
SET CODEPAGE TO UNICODE
SET LANGUAGE TO SPANISH
DEFINE WINDOW UNO AT 0,0 WIDTH 0 HEIGHT 0 BACKCOLOR {0,125,250} NOCAPTION MAIN
FRASE := "ESA MÁSCARA CAUSA CÁNCER"
LETRA := { 'A', 'Á' } // LETRA A BUSCAR EN LA FRASE Y MOSTRARLA
LARGO := hb_ULen(ALLTRIM(FRASE))
X := 1
Y := 1
DO WHILE LARGO > 0
LETT := hb_USubStr(FRASE,X,1) // CADA LETRA
L1 := 'L'+ALLTRIM(STR(X)) // LABEL PARA MOSTRAR TODAS LAS LETRAS MENOS LA Á (INCLUYE ESPACIOS)
L2 := 'M'+ALLTRIM(STR(X)) // LABEL PARA LLEVAR NUMERACIÓN DE X
DO CASE
CASE ASCAN ( LETRA, LETT ) = 2 //LETT = "Á"
aColor := { 0 , 255 , 0 } //GREEN
CASE ASCAN ( LETRA, LETT ) = 1 //LETT = "A"
aColor := { 255 , 255 , 0 } //YELLOW
CASE LETT = " "
LETT := "_"
aColor := { 128 , 64 , 64 } //BROWN
OTHER
aColor := { 255 , 255 , 255 } //WHITE
ENDCASE
@ 099,X*50 LABEL &L1 VALUE LETT WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 48 BOLD FONTCOLOR aColor BACKCOLOR {0,125,250}
@ 200,X*50 LABEL &L2 VALUE STR(X,2,0) WIDTH 99 HEIGHT 70 FONT "TAHOMA" SIZE 20 BOLD FONTCOLOR aColor BACKCOLOR {0,125,250}
X++
Y++
LARGO--
ENDDO
ON KEY ESCAPE ACTION UNO.RELEASE
END WINDOW
UNO.MAXIMIZE
UNO.ACTIVATE
RETURN
Attachments
Attachments
Attachments
Test applicationAttachments
Test applicationIt is a regularly scheduled maintenance release.* Fixed: Program crash at the exit from a Preview window in a graph printing
module at using of xHarbour compiler (introduced in the build 17.06).
* Fixed: Problem with button's focus at a window activation when this button
was defined with the DEFAULT clause (introduced in the build 18.11).
* Modified: MiniGUI core has been updated for correct compiling with the new
Pelles C 12.0 and xHarbour compiler.
* Updated: Header file i_pseudofunc.ch for compatibility with xHarbour.
* Updated: hbmk2 utility is thread-aware during compilation in MT mode.
(see source code in folder \harbour\utils\hbmk2) [PRO VERSION]
* New: 'C source code reformatter GreatCode' utility by Christophe Beaudet
(see in folder \Utils\GreatCode) [PRO VERSION]
* Updated the TSBrowse, hbVpdf, HMG_HPDF and SQLite3 libraries.
* Updated some Basic and Advanced samples.
It is a regularly scheduled maintenance release.* Fixed: Program crash at the exit from a Preview window in a graph printing
module at using of xHarbour compiler (introduced in the build 17.06).
* Fixed: Problem with button's focus at a window activation when this button
was defined with the DEFAULT clause (introduced in the build 18.11).
* Modified: MiniGUI core has been updated for correct compiling with the new
Pelles C 12.0 and xHarbour compiler.
* Updated: Header file i_pseudofunc.ch for compatibility with xHarbour.
* Updated: hbmk2 utility is thread-aware during compilation in MT mode.
(see source code in folder \harbour\utils\hbmk2) [PRO VERSION]
* New: 'C source code reformatter GreatCode' utility by Christophe Beaudet
(see in folder \Utils\GreatCode) [PRO VERSION]
* Updated the TSBrowse, hbVpdf, HMG_HPDF and SQLite3 libraries.
* Updated some Basic and Advanced samples.
Code: Select all
Components versions:
--------------------
Harbour MiniGUI Extended Edition 24.04 (Release)
Harbour 3.2.0dev (r2403071241)
Harbour Make (hbmk2) 3.2.0dev (r2024-03-07 12:41)
-------------------------------------------------
Code: Select all
Components versions:
--------------------
Harbour MiniGUI Extended Edition 24.04 (Release)
Harbour 3.2.0dev (r2403071241)
Harbour Make (hbmk2) 3.2.0dev (r2024-03-07 12:41)
-------------------------------------------------
Attachments
Attachments