2022年1月4日 星期二

haxeflixel Haxe cross-platform games

 haxeflixel   cross-platform games

https://haxe.org/use-cases/games/
  • HaxeFlixel. ...
  • Heaps.io. ...
  • HaxePunk. ...
  • Nape Physics Engine.

https://en.wikipedia.org/wiki/OpenFL

 https://en.wikipedia.org/wiki/Haxe

 Haxe is an open source[2] high-level cross-platform programming language and compiler that can produce applications and source code, for many different computing platforms from one code-base. It is free and open-source software, released under the MIT License. The compiler, written in OCaml, is released under the GNU General Public License (GPL) version 2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RichTextFX

https://github.com/FXMisc/RichTextFX 

https://github.com/FXMisc/RichTextFX#who-uses-richtextfx

https://github.com/gaeqs/JAMS

Who uses RichTextFX?

    Alt.Text
    Arduino Harp
    Astro IDE
    BasicCAT
    BlueJ
    Boomega
    Chorus
    Chronos IDE
    George
    Greenfoot
    EpubFx
    Everest REST client
    JabRef
    JDialogue
    JuliarFuture
    Kappa IDE
    KeenWrite
    Markdown Writer FX
    mqtt-spy
    Nearde IDE
    OmniEditor
    PsychSQL
    SqlBrowserFx
    Squirrel SQL client
    Xanthic
    XR3Player

Let us know if you use RichTextFX in your project!
Features

    Assign arbitrary styles to arbitrary ranges of text. A style can be an object, a CSS string, or a style class string.
    Display line numbers or, more generally, any graphic in front of each paragraph. Can be used to show breakpoint toggles on each line of code.
    Support for displaying other Nodes in-line.
    Positioning a popup window relative to the caret or selection. Useful e.g. to position an autocompletion box.
    Getting the character index under the mouse when the mouse stays still over the text for a specified period of time. Useful for displaying tooltips depending on the word under the mouse.
    Overriding the default behavior only where necessary without overriding any other part.

2022年1月2日 星期日

some

 https://www.clubdelphi.com/~cadetill/foros/archive/index.php?t-42442.html
PngComponents

https://zh.wikipedia.org/wiki/SQLAlchemy


https://github.com/ThomasJaeger/VisualMASM

u_principal.dfm.svn-base

github inventory-manager-1


https://github.com/nathanlytang/InventoryManager

https://medium.com/swlh/grid-based-movement-in-a-top-down-2d-rpg-with-phaser-3-e3a3486eb2fd

https://stackoverflow.com/questions/11967096/2d-tile-based-game-engine-layer-management-in-xna-with-c-sharp

2D sprites multiple layers mask

multiplier  layer bitmap game rpg

pascal lazarus codeTyphon Oxygene interpreter Prism света Бібліотека компонентів  візуальних компонентів

Unicode codepoint escape syntax

 Unicode codepoint escape syntax

 https://en.wikipedia.org/wiki/Percent-encoding

https://en.wikipedia.org/wiki/Category:Binary-to-text_encoding_formats 

https://en.wikipedia.org/wiki/Binary-to-text_encoding

https://stackoverflow.com/questions/31097636/how-do-i-convert-unicode-escape-sequences-to-text-in-php

createwindow bubble ToolTips Dialog border freepascal Auto-completion code completion

 createwindow bubble ToolTips Dialog border
Translucent Background Balloon Tooltips
CreateWindowEx clouds floated
WM_NCCALCSIZE  WM_NCPAINT create controls pop frame Balloon Tooltips
code list Code completion popup list position create controls pop frame
window duct frame dialog
https://stackoverflow.com/questions/61634/windows-api-dialogs-without-using-resource-files
https://stackoverflow.com/questions/42445422/how-to-create-a-custom-frame-with-win32
https://stackoverflow.com/questions/8695185/why-my-edit-control-looks-odd-in-my-win32-c-application-using-no-mfc

https://www.codeproject.com/Articles/873270/Windows-dialog-design-in-Cplusplus-without-dialog
https://www.codeproject.com/Articles/12322/Balloon-ToolTip-Control

https://www.codeproject.com/Articles/2165/A-C-Win32-GUI-library-for-Java-AWT-like-source-cod

WM_NCHITTEST WM_GETMINMAXINFO WM_GETMINMAXINFO
winuser extended window styles dialogs border title bar

https://social.msdn.microsoft.com/Forums/vstudio/en-US/192626a4-6f32-4e50-90a2-e81cf4da5e9f/how-to-make-a-window-always-appear-on-top-of-other-windows?forum=vcgeneral
CreateWindowEx superficial panel clouds floated Square floated
panel CreateWindowEx TOOLTIPS_CLASS   WS_POPUP TTS_ALWAYSTIP | TTS_BALLOON CW_USEDEFAULT CW_USEDEFAULT  CW_USEDEFAULT CW_USEDEFAULT
https://www.levelextreme.com/Home/ShowHeader?Activator=23&ID=38833
http://csharphelper.com/blog/2014/11/make-a-modal-context-menu-in-c/
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/192626a4-6f32-4e50-90a2-e81cf4da5e9f/how-to-make-a-window-always-appear-on-top-of-other-windows?forum=vcgeneral

https://docs.microsoft.com/zh-tw/cpp/mfc/frame-windows?view=msvc-170
https://docs.microsoft.com/zh-tw/windows/win32/directcomp/how-to--animate-the-bitmap-of-a-layered-child-window
dwm dialog without border window

freepascal  Auto-completion
 code completion
https://wiki.freepascal.org/Projects_using_Lazarus_-_Editors_and_IDEs
https://wiki.freepascal.org/CudaText



https://docs.microsoft.com/en-us/windows/win32/api/_controls/

WTL Developer's Guide
https://usermanual.wiki/Document/WTL20Developers20Guide.1628493937/html
https://stackoverflow.com/questions/39731497/create-window-without-titlebar-with-resizable-border-and-without-bogus-6px-whit/39735058

https://www.todopic.com.ar/foros/index.php?topic=20038.0
























2021年12月29日 星期三

exe modify self global memory Remote memory msdn write Read Write another Process Memory VirtualProtect

 exe modify self global memory Remote memory msdn write Read Write another Process Memory VirtualProtect
https://docs.microsoft.com/zh-tw/windows/win32/memory/file-mapping?redirectedfrom=MSDN
memory-mapped-file functions in Windows.
https://docs.microsoft.com/zh-tw/windows/win32/api/memoryapi/nf-memoryapi-virtualprotect?redirectedfrom=MSDN
VirtualProtect function (memoryapi.h)
VirtualProtect PAGE_WRITECOPY PAGE_EXECUTE  FlushInstructionCache WriteProcessMemory

https://web.archive.org/web/20100818045200/http://support.microsoft.com/kb/127904
How to Modify Executable Code in Memory
 VirtualProtect PAGE_WRITECOPY   
 PAGE_EXECUTE  
 FlushInstructionCache

https://en.wikipedia.org/wiki/Self-modifying_code

Shared Memory
https://www.codeproject.com/Articles/10275/Remote-Library
Remote Library - CodeProject
VirtualAllocEx VirtualFreeEx NtAllocateVirtualMemory NtFreeVirtualMemory
OpenThread OpenProcess OpenHandle GetProcessId CreateRemoteThread DebugActiveProcess


https://www.labri.fr/perso/betrema/winnt/virtmm.html
 Managing Virtual Memory in Win32

Virtual memory functions     A process's virtual address space
System pagefile
System memory
Hard disk space     "Managing Virtual Memory in Win32"
Memory-mapped file functions     A process's virtual address space
System pagefile
Standard file I/O
System memory
Hard disk space     "Managing Memory-Mapped Files in Win32"
Heap memory functions     A process's virtual address space
System memory
Process heap resource structure     "Managing Heap Memory in Win32"
Global heap memory functions     A process's heap resource structure     "Managing Heap Memory in Win32"
Local heap memory functions     A process's heap resource structure     "Managing Heap Memory in Win32"
C run-time reference library     A process's heap resource structure     "Managing Heap Memory in Win32"

https://docs.microsoft.com/en-us/windows/win32/memory/memory-protection-constants

Memory Protection Constants

https://slideplayer.com/slide/8484293/
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS5: Memory Management 5.2. Windows Memory Management.


https://www.codeproject.com/Articles/3161814/x64-Memory-Access-Monitor

Memory access monitor is implemented as DLL that is injected into the target process. I extended command line interface of tool described in my previous article, https://www.codeproject.com/Articles/1266083/x64-API-Hooker-plus-Disassembler to inject our DLL and eject it. I will include the existing source (with some bug fixes; I wonder how it worked now...) with source of monitor DLL. The DLL itself is also 64-bit, however it can become 32-bit with some minor modifications.


void WriteToMemory(int address_writing_to, char* value_to_write, int num_of_bytes)
{
    unsigned long old_protection; // Create a place to store our old protection

    VirtualProtect((LPVOID)address_writing_to, num_of_bytes, PAGE_EXECUTE_READWRITE, &old_protection); // Give me proper access to the memory (and store the old protection in the variable 'old_protection').

    memcpy((LPVOID)address_writing_to, value_to_write, old_protection); // Write our value.

    VirtualProtect((LPVOID)address_writing_to, num_of_bytes, old_protection, NULL); // Restore the protection back to that of 'old_protection'.
}


https://docs.microsoft.com/zh-tw/windows/win32/memory/creating-named-shared-memory

https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-writeprocessmemory

WriteProcessMemory function (memoryapi.h)

global memory Remote memory msdn write Read Write another Process Memory

https://codingvision.net/c-read-write-another-process-memory

using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Text;

public class MemoryRead
{
    const int PROCESS_WM_READ = 0x0010;

    [DllImport("kernel32.dll")]
    public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);

    [DllImport("kernel32.dll")]
    public static extern bool ReadProcessMemory(int hProcess, int lpBaseAddress, byte[] lpBuffer, int dwSize, ref int lpNumberOfBytesRead);


DllImport("kernel32.dll")]
public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);

[DllImport("kernel32.dll", SetLastError = true)]
static extern bool WriteProcessMemory(int hProcess, int lpBaseAddress, byte[] lpBuffer, int dwSize, ref int lpNumberOfBytesWritten);
 

http://waleedassar.blogspot.com/2012/09/pageexecutewritecopy-as-anti-debug-trick.html

 PAGE_EXECUTE_WRITECOPY PAGE_EXECUTE_READWRITE
 
PAGE_READWRITE PAGE_WRITECOPY PAGE_READWRITE

WriteProcessMemory

VirtualQuery

http://code.google.com/p/ollytlscatch/downloads/detail?name=WriteCopy_Trick_.exe

https://pastebin.com/62De887S

int __stdcall ZwQueryInformationProcess(HANDLE,int,void*,unsigned long,unsigned long*);

http://waleedassar.blogspot.com (@waleedassar)

Extending windbg with Page Fault Breakpoints

https://www.codeproject.com/Articles/186230/Extending-windbg-with-Page-Fault-Breakpoints

2021年12月28日 星期二

玉米

玉米
沙茶 豬油 花生 糯米 芝麻 薑 麥芽糖 蜂蜜
玉米粉 豬皮 洋蔥粉 芥末醬 蔥乾  魚乾 蒜頭

南瓜 香菇 洋蔥 沙茶醬 魚皮 生薑 蒜頭 九層塔 鹽 醬油 冰糖 胡椒粉 黑麻油
白芝麻醬 香菇素蠔油 細砂糖 奶油 蒜末

魚露 蚝油 鮮雞粉 冰糖 甘草粉 

Framework for 2D and isometric games development

 Framework for 2D and isometric games development in BlitzMax.

https://gcup.ru/load/gamedev_lib/dwlab/18-1-0-342
Официальный сайт: http://code.google.com/p/dwlab/
Русскоязычная группа ВКонтакте: http://vk.com/dwlab

Digital Wizard's Lab Framework for 2D and isometric games development in BlitzMax.

https://www.moddb.com/engines/blitz-max/images/the-windows-ide-hosting-an-intense-session-of-rock



https://creatools.gameclassification.com/EN/index.html

https://www.syntaxbomb.com/blitzmax-blitzmax-ng/modules-list/

 thought I'd repost my modules/apps list here to help get things going. This version allows you to browse by category.
Thanks for making this a sticky Qube. Additions and corrections are most welcome.

Module Collections
2d Frameworks
2d Drivers
3d Engines
2d Audio
3d Audio
Particles
3d Libraries
3d Physics
GUI
GUI Builders
GUI Gadgets
GUI Drivers
Networking
Database
File Formats
Controllers
Open Source Games
Applications
IDEs
« Last Edit: June 21, 2017, 13:20:13 by markcwm »

 

 https://forum.ragezone.com/f921/delphi-visual-gm-handtool-v2-834829/

 [Delphi] Visual GM HandTool v2 (for any version)

    -Rewrite dump code now it load faster than previous version.
    -Add supports GMS,KMS,EMS,MSEA.
    -Full Equipment's details/information.
    -100% Ids.Auto copy ID to clipboard when select cell.

    Github:
    https://github.com/Elem8100/GM-HandTool

    Download(EXE):
    https://github.com/Elem8100/GM-HandTool/releases
 

gif animation web Visualize effect Trip mathematical geometrico 圖形 藝術 視覺化 數據

gif animation web Visualize effect Trip mathematical geometrico 

 Webgraph  directed graph Network Algorithms hover drifting

Tulip   Graph visualization

 webgraph   gif animation hover 3d Script web Visualize

 webgraph   gif animation hover Spider web Visualize

 drift hover animation  gif

 drift hover animation  gif Physics

 

 Digital Wizard's Lab - Библиотеки разработки игр - Файлы для игроделов - Всё о создании игр https://gcup.ru/load/gamedev_lib/dwlab/18-1-0-342

 Digital Wizard's Lab - Библиотеки разработки игр - Файлы для игроделов - Всё о создании игр https://gcup.ru/load/gamedev_lib/dwlab/18-1-0-342

 

 https://forum.ragezone.com/f921/delphi-visual-gm-handtool-v2-834829/

game engines delphi Asphyre

 https://gcup.ru/load/gamedev_lib/dwlab/18-1-0-342

 https://gcup.ru/load/engines/vizard/3-1-0-2119

 https://gcup.ru/load/engines/blitzplus/3-1-0-2111

 https://gcup.ru/load/engines/exgine/3-1-0-1398

 

 http://delphi.org/page/26/

 https://github.com/Cooler2/ApusGameEngine

 https://kzread.info/dron/vRbcBEoUfapUVFuwrOXN4Q.html

 

 Components > Miscellaneous > Games. Torry's Delphi Pages

https://torry.net/pages.php?id=259

 

 https://github.com/marquitospt/tulip

 https://www.gamedev.net/forums/topic/622395-medevpascal-new-ide-for-free-pascal/

 http://www.osalternative.com/p/medevpascal-alternative-and-similar-open-source-projects-67600.html

https://www.pascalgamedevelopment.com/content.php?330-PGD-News-Round-up-for-March-April-2012&styleid=5 

http://www.osalternative.com/p/medevpascal-alternative-and-similar-open-source-projects-67600.html

delphi  physics  engine library

Thundax Delphi Physics Engine

https://awesomeopensource.com/project/JordiCorbilla/thundax-delphi-physics-engine

https://opensourcelibs.com/libs/physics-engine

https://jordicorbilla.github.io/thundax-delphi-physics-engine/

https://github.com/BeRo1985/kraft
Kraft Physics Engine is an open source Object Pascal physics engine library that can be used in 3D games. Author : Benjamin 'BeRo' Rosseaux Compatible with: Delphi 7-XE7 (but not with the Android and iOS targets), FreePascal >= 2.6.2 (with almost all FPC-supported targets including Android and iOS)

https://wiki.freepascal.org/Game_Engine

2021年12月27日 星期一

Navigation Menu window container PANEL control folding

 window container  PANEL control folding

 

https://stackoverflow.com/questions/19524787/dynamic-collapse-panel-creation-in-windows-forms-c-sharp

 https://www.codeproject.com/Articles/18248/Navigation-Menu-for-Windows-Forms-Outlook-Bar-Styl

 https://www.codeproject.com/Tips/834853/How-to-Create-a-Simple-Expandable-Collapsible-Pane

https://www.codeproject.com/Tips/834853/How-to-Create-a-Simple-Expandable-Collapsible-Pane

 https://docs.microsoft.com/en-us/windows/win32/uxguide/ctrl-tree-views

 https://www.codeproject.com/Articles/389515/Column-based-selection-in-rich-edit-control

 https://www.codeproject.com/Articles/161871/Fast-Colored-TextBox-for-syntax-highlighting-2

https://stackoverflow.com/questions/3840898/treeview-to-control-panels

 

 

window frame exe inside panel SetParent ProcessWindowStyle

 window frame exe  inside panel SetParent ProcessWindowStyle


https://www.codeproject.com/Articles/53318/C-Custom-Control-Featuring-a-Collapsible-Panel
C# Custom Control Featuring a Collapsible Panel
 ASP.NET AJAX CollapsiblePanel control extender and finding it practical CollapsiblePanel

https://www.codeproject.com/Articles/8905/ByPass-difficult-Automation-and-add-applications-q
ByPass difficult Automation and add applications "as is" in your .NET application
Fed up with automation? Need to add components as is to your application? Try this out.
Main functions which are used in this case are from user32. That are SetParent, ShowWindow and SetForegroundWindow. Rest of the help is provided by managed Process, ProcessInfo and SendKeys classes.

https://foxlearn.com/windows-forms/how-to-execute-powershell-script-in-csharp-444.html

http://www.authorcode.com/open-command-prompt-window-within-a-panel-control-in-c/


http://www.java2s.com/Code/CSharp/GUI-Windows-Form/AgentTryout.htm


http://www.nullskull.com/q/10351064/how-to-get-search-box-in-windows-applicationcnet.aspx


TCustomCanvas Notifiable Persistent Lock LockCount Unlock TNotifiablePersistent: BeginUpdate UpdateCount

 https://graphics32.github.io/Docs/Units/GR32/Classes/TThreadPersistent/_Body.htm

TThreadPersistent - Graphics32

https://graphics32.github.io/Docs/Units/GR32_OrdinalMaps/Classes/TWordMap/_Body.htm

BeginUpdate() EndUpdate for a UserControl

UserControl  ContainerControl painted WindowsForms  UserControl)

similar to BeginUpdate() - EndUpdate()


https://stackoverflow.com/questions/487661/how-do-i-suspend-painting-for-a-control-and-its-children
class DrawingControl
    [DllImport("user32.dll")]
    public static extern int SendMessage(IntPtr hWnd, Int32 wMsg, bool wParam, Int32 lParam);

    private const int WM_SETREDRAW = 11;
    
    public static void SuspendDrawing( Control parent )
        SendMessage(parent.Handle, WM_SETREDRAW, false, 0);

    public static void ResumeDrawing( Control parent )
        SendMessage(parent.Handle, WM_SETREDRAW, true, 0);
        parent.Refresh();



https://graphics32.github.io/Docs/Units/GR32/Classes/TThreadPersistent/_Body.htm
TThreadPersistent
Hierarchy
TPersistent
   |
TNotifiablePersistent
Lock     LockCount     
Unlock         
In TNotifiablePersistent:
BeginUpdate     UpdateCount     OnChange
Changed         
Create         
Destroy         
EndUpdate
 
https://searchcode.com/file/11603740/uSimpleGraph.pas/
http://objecteda.googlecode.com/
/uSimpleGraph.pas
 TSimpleGraph v1.542                                                         }
   4{  by Kambiz R. Khojasteh                                                      }
   5{                                                                              }
   6{  kambiz@delphiarea.com                                                       }
   7{  http://www.delphiarea.com   


https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.Graphics.TCustomCanvas.Lock
Vcl.Graphics.TCustomCanvas.Lock
    LockCount
    TryLock
    Unlock
    Locking Objects

http://theprofessionalspoint.blogspot.com/2013/12/locking-and-unlocking-mechanism-in.html
Locking and Unlocking mechanism in Delphi
The implementation for the lock pattern applied to a class TBag is: (only pattern related code is shown)
This article provides a mechanism to temporarily lock and unlock some aspects of a class. We will discuss locking and unlocking patterns in Delphi with a simple example.

https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-lockwindowupdate
Windows GDI Winuser.h LockWindowUpdate function
LockWindowUpdate function (winuser.h)
BeginPaint
GetDC
GetDCEx
Painting and Drawing Functions
Painting and Drawing Overview
WM_PAINT

https://coderedirect.com/questions/594614/multi-threading-delphi-synchronization-using-critical-sections-between-a-timer-a
Multi-threading Delphi synchronization using Critical Sections between a Timer and other threads


2021年12月26日 星期日

鍛造 大門 欄杆

https://simplicad.com/en/

Wrought iron railings, gates - beautiful and affordable. SimpliCAD.

2021年12月25日 星期六

Thread Programmierung

 

Thread Programmierung unter Windows mit Delphi

 1 Thread Programmierung unter Windows mit Delphi Michael Puff

 oder dem von ExitThread oder TerminateThread festgelegten Wert, ... Mit dem Gegenstück zu SetThreadPriority, GetThreadPriority, lässt sich die aktuelle ...

 https://docwiki.embarcadero.com/Libraries/Sydney/en/System.Classes.TThread.Terminate

 https://stackoverflow.com/questions/12475395/delphi-threading

  Thread   Delphi SetThreadPriority GetThreadPriority   SetThreadPriorityBoost  GetThreadPriorityBoost   ExitThread  TerminateThread   GetExitCodeThread   CloseHandle

SwitchToThread  切換到另一個可排程執行緒 CreateThread  建立執行緒 CreateRemoteThread  建立遠端執行緒 GetCurrentThread  獲取執行緒控制代碼 GetCurrentThreadId  獲取執行緒ID OpenThread  開啟一個現有執行緒物件 SetThreadPriority  設定執行緒優先順序 GetThreadPriority  獲取執行緒優先順序 SetThreadPriorityBoost  設定開關–系統動態提升該執行緒的優先順序 GetThreadPriorityBoost  獲取~開關 ExitThread  線上程的執行過程中終止 TerminateThread  線上程的外面終止 GetExitCodeThread  獲取一個已中止執行緒的退出程式碼 SuspendThread  暫停執行緒 ResumeThread  恢復執行緒 SetThreadStackGuarantee  要求系統在丟擲EXCEPTION_STACK_OVERFLOW異常的時候,保證仍然有指定大小的空閒區可以用 WaitForSingleObject  阻塞,直到等到訊號 CloseHandle  關閉控制代碼 


Yield SpinWait Sleep SwitchToThread SuspendThread ResumeThread
 System.Threading mscorlib.dll, netstandard.dll  Thread.dll Thread.Interrupt

https://coderoad.ru/12751031/%D0%9A%D0%B0%D0%BA%D0%BE%D0%B9-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4-%D0%BE%D0%B6%D0%B8%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F-%D0%B2%D1%8B%D0%B7%D0%B2%D0%B0%D1%82%D1%8C-%D0%B2-%D0%B1%D0%B5%D1%81%D0%BA%D0%BE%D0%BD%D0%B5%D1%87%D0%BD%D0%BE%D0%BC-%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B5-%D0%BE%D0%B6%D0%B8%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F-%D0%B4%D0%BB%D1%8F-Delphi-XE2

unit ThreadPool;

    interface

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, contnrs, syncobjs;


    type

    TpooledTask=class(TObject)
    private
      FonComplete:TNotifyEvent;
    protected
      Fparam:TObject;
      procedure execute; virtual; abstract;
    public
      constructor create(onComplete:TNotifyEvent;param:TObject);
    end;

    TThreadPool=class(TObjectQueue)
    private
      access:TcriticalSection;
      taskCounter:THandle;
      threadCount:integer;
    public
      constructor create(initThreads:integer);
      procedure addTask(aTask:TpooledTask);
    end;

    TpoolThread=class(Tthread)
    private
      FmyPool:TThreadPool;
    protected
      procedure Execute; override;
    public
      constructor create(pool:TThreadPool);
    end;

    implementation

    { TpooledTask }

    constructor TpooledTask.create(onComplete: TNotifyEvent; param: TObject);
    begin
      FonComplete:=onComplete;
      Fparam:=param;
    end;

    { TThreadPool }

    procedure TThreadPool.addTask(aTask: TpooledTask);
    begin
      access.acquire;
      try
        push(aTask);
      finally
        access.release;
      end;
      releaseSemaphore(taskCounter,1,nil); // release one unit to semaphore
    end;

    constructor TThreadPool.create(initThreads: integer);
    begin
      inherited create;
      access:=TcriticalSection.create;
      taskCounter:=createSemaphore(nil,0,maxInt,'');
      while(threadCount<initThreads) do
      begin
        TpoolThread.create(self);
        inc(threadCount);
      end;
    end;

    { TpoolThread }

    constructor TpoolThread.create(pool: TThreadPool);
    begin
      inherited create(true);
      FmyPool:=pool;
      FreeOnTerminate:=true;
      resume;
    end;

    procedure TpoolThread.execute;
    var thisTask:TpooledTask;
    begin
      while (WAIT_OBJECT_0=waitForSingleObject(FmyPool.taskCounter,INFINITE)) do
      begin
        FmyPool.access.acquire;
        try
          thisTask:=TpooledTask(FmyPool.pop);
        finally
          FmyPool.access.release;
        end;
        thisTask.execute;
        if assigned(thisTask.FonComplete) then thisTask.FonComplete(thisTask);
      end;
    end;

    end.


https://docwiki.embarcadero.com/Libraries/Sydney/en/System.Threading.TTask

System.Threading


TTask

TParallel
TFuture
TThreadPool
TWorkStealingQueue

https://docwiki.embarcadero.com/Libraries/Sydney/en/System.SyncObjs
SyncObjs

TMutex
 
TCriticalSection
TSemaphore
TEvent
TThread
THandleObject
TConditionVariableCS
TConditionVariableMutex
TConditionVariableHelper
TCriticalSectionHelper





https://www.modernescpp.com/index.php/tasks

https://blog.marcocantu.com/blog/2017-november-explaining-tasks-ppl-too-many.html

https://www.embarcaderoacademy.com/p/anonymous-methods-in-delphi/

https://www.embarcaderoacademy.com/p/master-modern-delphi-language-techniques

https://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_Critical_Sections



https://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_Critical_Sections

https://docwiki.embarcadero.com/RADStudio/Sydney/en/Locking_Objects

https://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_the_Main_VCL_Thread

https://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_the_Multi-read_Exclusive-write_Synchronizer

https://www.informit.com/articles/article.aspx?p=30382&seqNum=6




https://github.com/pocoproject/poco

https://docs.microsoft.com/zh-tw/dotnet/standard/threading/pausing-and-resuming-threads


https://docwiki.embarcadero.com/RADStudio/Sydney/en/Service_Threads

  SparkyThread.Suspend; SparkyThread.Resume;

https://docwiki.embarcadero.com/Libraries/Alexandria/en/Vcl.SvcMgr.TService.OnExecute

https://docwiki.embarcadero.com/Libraries/Sydney/en/System.SyncObjs

https://stackoverflow.com/questions/67246114/delphi-what-happens-when-the-app-terminates-while-a-thread-is-waiting-on-an-even

https://www.freepascal.org/docs-html/rtl/classes/tthread.html

delphi System Threading Thread.Interrupt AutoResetEvent Wait  Set

kernel32  Thread Scheduling Yield  setThreadPriority           SetThreadPriority(pi.hThread, THREAD_PRIORITY_IDLE); ResumeThread(pi.hThread);

https://docwiki.embarcadero.com/CodeExamples/Sydney/en/TThreadYield_(Delphi)


Game Development in Delphi

 https://stackoverflow.com/questions/8203166/game-development-in-delphi
Game Development in Delphi


http://delphi.org/2011/10/pascal-game-development/
48 – Pascal Game Development with Jason McMillen


Pascal eXtended Library

 FPC produce COFF files. AFAIK, Delphi won't link to ELF files.
https://stackoverflow.com/questions/48714279/using-fpc-o-files-in-delphi-2010
https://www.agner.org/optimize/#objconv

AsphyreSphinx framework to draw 2D DirectX scene on form canvas.
Asphyre Sphinx
https://asphyre.net/products/legacy/7-asphyresphinx

https://www.pascalgamedevelopment.com/content.php
pascalgamedevelopment.com

http://delphi.org/2011/10/pascal-game-development/

http://www.pp4s.co.uk/

https://github.com/GLScene/GLScene

https://github.com/sszczep/ray-casting-in-2d-game-engines

https://castle-engine.io/
Castle Game Engine
Cross-platform (desktop, mobile, console) 3D and 2D game engine supporting many asset formats (glTF, X3D, Spine...) and using modern Object Pascal

https://sourceforge.net/projects/andorra/
Andorra 2D


http://zengl.org/
ZenGL - cross-platform game development library written in Pascal, designed to provide necessary functionality for rendering 2D-graphics, handling input, sound output, etc. More details can be found here.

https://delphigl.com/

http://www.clootie.ru/
Clootie graphics pages
DirectX 10 SDK for Delphi / FreePascal update.
Updated Direct3D10 / D3DX10 headers to March-2009 SDK. Now with Direct3D 10.1 support.

http://www.zgameeditor.org/
 ZGameEditor
Create games that have a redistributable size of only 64kb or less using procedural content. The game engine use OpenGL for graphics and a real time synthesizer for audio. ZGE is Free Open Source Software.



https://gcup.ru/load/engines/asphyre/3-1-0-105

Asphyre Sphinx 3
Скачать удаленно (17 Мб.) Скриншот     30 Июня 2008, 19:02
Логотип Asphyre Sphinx
Жанровая направленность: 2D/3D-игры любого жанра и типа;
Платформа: 32/64-bit Windows XP/Vista/7, 32/64-bit Linux и Mac OS X, iOS;

    DGLEngine
    ZenGL
    Ogre3D
    GLScene
    HiAsm
    3DCakeWalk
    Unigine
    CAST II
    SpriteCraft
    Digital Wizard's Lab
    LKI-Creator
    LKI-Creator 3D
    Nytro Game Engine
    K5Engine
    Axiom Engine
    eXgine
    WindMill
    Kochol
    Urho3D
    OpenBlox










fibonacci spiral art illustrator 黃金螺線 黃金分割線 黃金比例 黃金矩形 黃金三角形

 Interior and exterior design. Forged items. The fence is

metal. Artistic forging  Gate Forged Metal Grill Artistic Forging

ratio geometric concept. Fibonacci spiral Golden ratio.Geometric shapes Scalable vector illustration
 
Classic Black Decorative Metal Scroll Motif Wall Hanging Serafina Metal Scroll Wall Art Rectangular

Stratton  Decor Traditional Scroll  Sculpture

Яндекс.Картинки: поиск изображений в интернете, поиск по изображению

Scroll Bending Machine - Ellsen Scroll Machines

Practical Geometry for Builders and Architects Metal Bender

 

https://en.wikipedia.org/wiki/Golden_spiral 


fibonacci spiral art illustrator 

黃金螺線

黃金分割線 

黃金比例 

黃金矩形

黃金三角形


2021年12月24日 星期五

Xbase Programming Language Family

 

https://en.wikipedia.org/wiki/Embedded_database
https://en.wikipedia.org/wiki/XHarbour
xHarbour is a free multi-platform extended Clipper compiler, offering multiple graphic terminals (GTs), including console drivers, GUIs, and hybrid console/GUIs. xHarbour is backward-compatible with Clipper and supports many language syntax extensions, greatly extended run-time libraries, and extensive third party support.

Xbase Programming Language Family

Visual FoxPro  dBASE  Xharbour  Harbour  xBase  Clipper  FoxPro 2  Flagship Compiler  xBase++

dBase DBFree Clipper Visual Objects FoxPro Visual FoxPro Harbour Project XBase++ FlagShip xHarbour Vulcan.NET CLIP MaxScript VP-Info XSharp PWCT (software)

HBIDE dBase Visual Objects XIDE

https://en.wikipedia.org/wiki/Category:XBase_programming_language_family

Harbour GUI libraries and tools
qtcontribs
PTSource
HwGUI
Harbour MiniGUI
Harbour MiniGUI Extended Edition
OOHG - Object Oriented (x)Harbour GUI
Marinas-GUI
xBaseScript ActiveScript


https://en.wikipedia.org/wiki/FlagShip
https://en.wikipedia.org/wiki/PWCT_(software)
https://en.wikipedia.org/wiki/Visual_Objects
https://en.wikipedia.org/wiki/PWCT_(software)#Visual_Languages

https://en.wikipedia.org/wiki/Visual_programming_language
Data warehousing / business intelligence
Ab Initio
Alteryx Designer
Apache NiFi
Informatica

Visual  language Data warehousing business intelligence Visual programming language
https://www.edureka.co/blog/interview-questions/power-bi-interview-questions/
https://www.sqlshack.com/things-you-should-avoid-when-designing-a-data-warehouse/

2021年12月23日 星期四

employee employeeID DepartmentID national identity

  employee employeeID DepartmentID national identity

National Identification Number
national identity card number database
National Identification Number (NIN)
National Identity Card (NIC)  
National IDs Around the World — Interactive map
National ID Card
https://en.wikipedia.org/wiki/National_identification_number
https://en.wikipedia.org/wiki/Belgian_identity_card
https://en.wikipedia.org/wiki/Lithuanian_identity_card
https://en.wikipedia.org/wiki/Passport


Entity Framework 4: Then and Now
https://daveswersky.wordpress.com/2010/05/26/entity-framework-4-then-and-now/

https://docs.oracle.com/cd/E18727_01/doc.121/e13542/T229841T229878.htm
 
Architecture Hierarchy

Inventory Management Software
Input Inventory
Stock Control
Barkeep
Inventory Tracker HD
Inventory Tracking Software for a Small Business

https://www.hyperoffice.com/blog/2018/09/10/microsoft-access-databases-examples/
https://smallbusiness.chron.com/create-inventory-list-1685.html
https://www.nerdwallet.com/article/small-business/inventory-management-apps
Track and sync inventory and sales.
Category, subcategory and location details.
Automated purchase orders.
Create and fill purchase orders.
Stock alerts.
Barcode scanning.
Profit and loss reporting.
Discounted shipping.
printing labels, parcel tracking and barcode scanner picking for packaging sales.


https://www.g2.com/categories/relational-databases/small-business

古代食譜


《食珍錄》    南北朝 作者是餘姚人虞悰 已佚,現存《食珍錄》收於《說郛》 《說郛》,元末陶宗儀編纂

《清異錄》    北宋人陶谷撰 通行本是在元代孫道明的映雪齋殘抄本和明代《說郛》抄本

《食經》    謝諷著的成書於隋代 並非崔浩所寫。據《魏書·崔浩傳》所收崔浩寫的《食經敍》

《本心齋食譜》    宋代 宋代陳達叟,因為室名本心齋

《山家清供》     南宋 閩食譜。中國南宋時人,林洪撰。

《飲膳正要》    元代 元至順元年 作者為忽思慧 現在存有明經廠刊本

《飲食須知》    元代 《飲食須知》八卷,元人賈銘(約1269~1374)撰

《雲林堂飲食制度集》元代 作者 倪瓚,元四家之首。

《易牙遺意》    元明之際的韓奕撰 以齊桓公時代的名廚易牙之名

《隨園食單》     清代 乾隆五十七年 袁枚 字子才 號簡齋,別號隨園老人  

《本味篇》《呂氏春秋》呂不韋 編

《遵生八箋》《飲饌服食箋》 明朝文人高濂所著,萬曆十九年

《老饕賦》    宋仁宗嘉祐 蘇軾

《閑情偶寄》    清代 李漁

《多能鄙事》    明代 劉基 伯溫

《醒園錄》    清代李化楠撰