Skip to content

Instantly share code, notes, and snippets.

View CarlTBarnes's full-sized avatar

Carl T. Barnes CarlTBarnes

View GitHub Profile
@CarlTBarnes
CarlTBarnes / Scratch.clw
Last active September 14, 2022 23:04
Scratch source I use when I want to write a quick test of some code
PROGRAM !Scratch program by Carl Barnes - Version 8/1/2020 - Download https://git.io/JtPKE
INCLUDE('TplEqu.CLW')
INCLUDE('KeyCodes.CLW')
MAP
main PROCEDURE()
DB PROCEDURE(STRING DebugMessage)
DBClear PROCEDURE() !Clear DebugView Buffer
Hex8 PROCEDURE(LONG LongInt),STRING
@CarlTBarnes
CarlTBarnes / UnsignCSharp.cs
Last active August 5, 2020 15:24
C++ remove Codesigning Certificates #1 - also OptionalHeader DataDirectory IMAGE_DIRECTORY_ENTRY_SECURITY
// from https://github.com/WhitakerDaniel/UnsignTool
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
// For information on ImageRemoveCertificate, see: https://docs.microsoft.com/en-us/windows/desktop/api/imagehlp/nf-imagehlp-imageremovecertificate
@CarlTBarnes
CarlTBarnes / Clarion_Hub_Interesting.txt
Created August 8, 2020 21:20
Clarion Hub links of interest
Tips: https://clarionhub.com/c/ide/tips/19
IDE: https://clarionhub.com/c/ide/9
Msbuild example for Clarion
https://clarionhub.com/t/msbuild-example-for-clarion/274/10
FIXED statement in EXP for 4% smaller EXE without .reloc table
https://clarionhub.com/t/fixed-statement-in-exp-for-4-smaller-exe-without-reloc-table/3450/4
How to successfully start the debugger from the command line?
@CarlTBarnes
CarlTBarnes / 00_Index_GIST_.txt
Last active September 22, 2022 14:47
00 Index of my GIST because there does not seem to be options to list them by file name or description
Backup_CW_Project.BAT https://gist.github.com/CarlTBarnes/bbb936e418226d55ff8651bb1bfbf7e4 Backup Clarion Project BAT files
CBAltWin7Fix.tpl https://gist.github.com/CarlTBarnes/5e0e7d5a3e3f0b5c991e8f0601e69004 Fix Alt key lockup problem with the latest version of Windows 10 that I wrote and published in ClarionMag
CascadeMdiChildren.clw https://gist.github.com/CarlTBarnes/ed29557b7142ec4695f7d460cabef3fd Cascade open MDI Child windows like Clarion RTL STD:CascadeWindow using Windows API
Clarion_Hub_Interesting.txt https://gist.github.com/CarlTBarnes/aabb812d5a34fcfe69d2421702799aef Clarion Hub links of interest
CloseWindowHook.clw https://gist.github.com/CarlTBarnes/f86f6b695276b2b3327f5959e5c57682 Prop:CloseWindowHook Example Clarion
DateSplit.clw
@CarlTBarnes
CarlTBarnes / Region_Drag_Window.clw
Last active March 17, 2021 17:14
Region dragging with mouse example, e.g. for Splash Window with no title bar
!Examle how to drag window by Region using Mouse. Might use for a Splash with no Caption.
!Best choice is probably the LAST one BrahnMove1Accept() ... so scroll to the bottom
PROGRAM
MAP
CarlMove PROCEDURE() !I have used this on many machines and know it works
CarlMoveSimpler PROCEDURE() !From https://gist.github.com/fushnisoft/4f9da267e165033e007a
BrahnMoveOriginal PROCEDURE() !Code from Brahn's GIST that
BrahnMoveGetPoz PROCEDURE() !Use GetPosition not Prop:Xpos Prop:Ypos
@CarlTBarnes
CarlTBarnes / CBDropListLEFT.clw
Last active February 8, 2022 16:48
DROP List is Left Aligned by Class for Combo/List Control. Normally RTL aligns Right. CBDropLeftClass
MEMBER()
!--------------------------
! CBDropLeftClass - by Carl Barnes - Release under the MIT License
!--------------------------
INCLUDE('EQUATES.CLW')
INCLUDE('CBDropListLEFT.INC'),ONCE
CBRect GROUP,TYPE
Left SIGNED
Top SIGNED
@CarlTBarnes
CarlTBarnes / PopupUnder.clw
Last active September 2, 2020 16:53
Popup() Menu Under or Beside a Control so Menu appears to drop under a Button
!Use the POPUP('xxx', X, Y, 1=Relative) to position a POPUP() right under a Button so it appears to drop down
!The fourth parameter is not documented well. Pass 1 to indicate the X/Y are Relative so can use Clarion GetPosition()
!
!Replace existing Popup() placing the ?Control as the first parameter
!Example: OF ?MenuBtn ; CASE PopupUnder(?,'Copy|Delete')
!---------------------------------------
MAP
PopupBeside(LONG BesideCtrlFEQ, STRING PopMenu),LONG
PopupUnder(LONG UnderCtrlFEQ, STRING PopMenu),LONG
PopupBeside PROCEDURE(LONG BesideCtrlFEQ, STRING PopMenu),LONG
@CarlTBarnes
CarlTBarnes / DEP_Policy_Test.clw
Last active September 16, 2020 12:52
DEP Policy View and Test in Clarion
!DEP Policy Test by Carl Barnes released under the MIT License
!C11.13620 has a new Project DEP setting. This does NOT require 13620
!You do NOT need the new 13620 DEP Project setting to turn on DEP, just call SetProcessDEPPolicy(1)
!You can add this procedure in your application to check DEP status at runtime on the end user machine.
!It probably should be wrapped in a simple CLASS.
!
!FYI - DEP sets the IMAGE_DLL­CHARACTERISTICS_NX_COMPAT bit in the IMAGE_OPTIONAL_HEADER‘s Dll­Characteristics.
!--------------------------------------------------------------------------------------
!Must DEP be turned On in Both EXE and DLL projects? NO. Only the EXE the project.
! It is suggested to turn on DEP in the DLL as an FYI it works with DEP.
@CarlTBarnes
CarlTBarnes / ReportPrintWithDebugLogging.clw
Created September 22, 2020 22:33
ReportPrint() procedure Prints Details while logging to OutputDebugString. Can also add STRING to printed BAND to Identify it.
!Add local ReportPrint()
!Define: DbgString BYTE
!
!Change PRINT(Rpt:Detail) to ReportPrint(?Detail,'Rpt:Detail')
!If desired set DbgString=1 and each Band gets a String Label 'Rpt:Detail'
MAP
ReportPrint PROCEDURE(LONG BandFEQ, STRING BandName)
END
DbgString BYTE
@CarlTBarnes
CarlTBarnes / AbcPreview_RptTest_FontProp111.clw
Last active June 27, 2021 03:28
Report Test Scratch Program
!Report Test Framework by Carl Barnes from https://gist.github.com/CarlTBarnes
!Using ABC Report Previewer instead of my simple previewer
!
!This tested Report${PROP:FontXxx} broken by 11.1
!
!-----------------------------------------------------------------------------
!Try various REPORT specs and PROP Settings quicky in this little Win32 project that has its own simple Previewer.
!If you want to report a bug this can be used to create a small example
!
!1. Create a new Win32 Project and paste this code.