Skip to content

Instantly share code, notes, and snippets.

@MarkGoldberg
MarkGoldberg / MoveFiles.clw
Last active November 20, 2023 20:52
Move Files into new folders based on Gaps in their Date/Time
! NOTE this is NOT currently a functional program
! It's just a collection procedures to help with the task
MoveFilesByGap PROCEDURE(*File:Queue xQ, LONG xMinGapTicks)
ThisGroupStart LONG(1)
ThisGroupEnd LONG,AUTO
@MarkGoldberg
MarkGoldberg / DimWIndows.inc
Created June 22, 2023 13:54
DimWindows Clarion Class
DimWindows CLASS,TYPE,MODULE('DimWindows.clw'),LINK('DimWindows.clw')
DimBy BYTE ! a transparency level (aka ALPHA) 0--255: 0 - off, 1 - too transprent to notice, 255 - opaque
Color LONG
Frame &WINDOW
!------------------------
CONSTRUCT PROCEDURE()
DESTRUCT PROCEDURE()
Open PROCEDURE(*WINDOW xWin)
ShouldDimWindow PROCEDURE(),BOOL
@MarkGoldberg
MarkGoldberg / CreateTagButtons.clw
Created February 28, 2023 17:15
Clarion: Create Tag Buttons
PROGRAM
MAP
END
INCLUDE( 'errors.clw'),ONCE
INCLUDE( 'keyCodes.clw'),ONCE
INCLUDE('ctTagButtons.inc'),ONCE
TagButtons ctTagButtons
@MarkGoldberg
MarkGoldberg / ctMCI.clw
Created December 7, 2022 16:05
Clarion Class ctMCI - which wraps mciSendStringA etc.
MEMBER
INCLUDE('ctMCI.inc'),ONCE
MCIERROR EQUATE(LONG) !not really sure... what this should be
MAP
MODULE('API')
mciSendString (*CSTRING xacCommand, *CSTRING xacReturnStr, UINT xLenReturnStr, HANDLE hWndCallBack),MCIERROR,RAW,PASCAL,PROC,NAME('mciSendStringA') !http://msdn.microsoft.com/en-us/library/ms709492(VS.85).aspx
mciGetErrorSTRING(DWORD xErrorCode , *CSTRING xaErrorText , UINT nLenErrorText ),BOOL ,RAW,PASCAL,PROC,NAME('mciGetErrorStringA') !http://msdn.microsoft.com/en-us/library/ms709479(VS.85).aspx
END
END
@MarkGoldberg
MarkGoldberg / GlobalWIndowManagerBase.clw
Last active December 4, 2022 19:32
WindowManager Replacement
MEMBER()
INCLUDE('GlobalWindowMangerBase.inc'),ONCE
MAP
END
MOD:Media ctMCI
GlobalWindowMangerBase.GetMeda PROCEDURE()
CODE
@MarkGoldberg
MarkGoldberg / UsageExample.clw
Last active November 29, 2022 22:44
ctSupressIME - clarion class suppress the right click IME menu appearing on Entry,Spin,Combo and Text controls
INCLUDE('ctSuppressIME.inc'),ONCE
SuppressIME ctSuppressIME
CODE
! after OpenWindow
SupressIME.INIT()
@MarkGoldberg
MarkGoldberg / TestClearAny.clw
Created November 5, 2020 13:08
How to reset an ANY so it can take on a new data type
PROGRAM
MAP
END
INCLUDE('debuger.inc'),ONCE
dbg debuger
SomeGroup GROUP
LongVar LONG
RealVar REAL
@MarkGoldberg
MarkGoldberg / 1_Refactor_PrimeAutoIncServer.clw
Last active June 12, 2020 13:30
Refactor FileManager.PrimeAutoIncServer to show use of routines in a method
Apparently the files in a gist are sorted alphabetically
so I've renamed the files to control the sort order.
FurtherRefactored - change method to have one RETURN
and make some formatting changes too
OrigMethod - a copy of the method from ABFile
EarlyRefactored - splitting orig up using a local procedure and routines
@MarkGoldberg
MarkGoldberg / MultiInterface.clw
Created October 8, 2019 14:24
Clarion Syntax for Implementing MULTIPLE interfaces
PROGRAM
MAP
END
IInitKill INTERFACE
Init PROCEDURE(LONG UserData)
Kill PROCEDURE(LONG UserData)
END
IPersist INTERFACE
@MarkGoldberg
MarkGoldberg / GroupToControls.clw
Created July 29, 2019 14:52
Clarion - USE( AnyVar ) work around
PROGRAM
MAP
GroupToControls(*GROUP xGrp, LONG xYPOS, *ctQ_FeqAny xFEQAnyQ)
END
Window WINDOW('Caption'),AT(,,395,224),GRAY,FONT('Microsoft Sans Serif',8)
BUTTON('&Close'),AT(333,201,42,14),USE(?Close),STD(STD:Close)
END