2022年12月22日 星期四

The USBN9603/4 are integrated, USB Node controllers. Texas Instruments USB IC Universal Serial Bus Full Speed Node Controller withEnhanced DMA Support Universal Serial Bus Full 28-SOIC ...

 http://www.procyonengineering.com/embedded/avr/boards/index.html

 https://www.mouser.tw/ProductDetail/Texas-Instruments/USBN9603-28M-NOPB?qs=8uBHJDVwVqxoyU4iXBH18A%3D%3D

 https://jj1odm.sizious.com/g2bus.html

http://www.sanda.gr.jp/non/PIC-USB/index.html 

USB Interface IC Universal Serial Bus Full Speed Node Controller with Enhanced DMA

https://www.elektormagazine.com/magazine/elektor-200005/16760

https://forums.developer.nvidia.com/t/pcie-to-4-usb-ports-use-vl805-chipset-on-jetson-nano-custom-carrier-board/143085

https://www.amazon.nl/Diagnostic-Volledige-Diagbox-Firmware-Diagnostic-Tool/dp/B08738N5WX

2022年12月21日 星期三

duplex memory dual-ported RAM static RAM Multiplexed interface Asynchronous Dual-Port RAMs

 https://www.renesas.com/us/en/products/memory-logic/multi-port-memory/asynchronous-dual-port-rams

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

 

 duplex  dual ported  static memory ic  vram 32bit

2022年12月20日 星期二

Mosquito voltage Electronicspices Mosquito Killer Circuit High Voltage Generator

 Mosquito  voltage high voltage generator  Mosquito Zapper 

 high voltage generator transistor

Schematic diagram of high voltage generator circuit Scientific Diagram

https://www.radiolocman.com/shem/schematics.html?di=70912

https://www.researchgate.net/figure/Schematic-diagram-of-high-voltage-generator-circuit_fig2_321039903

 KV High Voltage Generator Circuit with 2N3700

https://www.eevblog.com/forum/projects/high-frequency-dc-high-voltage-arc-ignition-generator-inverter-boost-step-up/

high voltage generator Arc Ignition Generator Inverter Boost Step-Up

generator transistor  spikes

CCFL electrical inverter

high frequency high voltage generation Khz 

https://electronics.stackexchange.com/questions/366749/how-can-i-build-a-high-voltage-2-6-kv-high-frequency-20-50-khz-power-supply

induction zvs  Induction Heating

https://electronics.stackexchange.com/questions/103281/cheap-high-voltage-low-current-source.

 

 transistor BOOST 00Khz Kv High Voltage Low Current

2022年12月14日 星期三

dmx512 UCS512C4 UCS512C0 SM16512PS TM512C4 LED Strip parallel signal standard DMX512

 https://www.sdiplight.com/dmx-led-strip/

https://www.hd107s-led.com/different-dmx512-ic-compare-tm512ac-and-ucs512c4/

2022年12月6日 星期二

plotter Algorithm 3 wire calculation plotter TTF FONT plotter Algorithm

 plotter Algorithm 3 wire calculation 

vertical plotter TTF FONT plotter Algorithm

 TTF FONT plotter Algorithm microsoft

 https://learn.microsoft.com/en-us/typography/truetype/from-typeface-to-font-file

 http://osp.kitchen/foundry/belgica-belgika/

https://www.prepressure.com/fonts/basics/multiple-master

https://www.prepressure.com/fonts/basics/truetype

 https://www.prepressure.com/fonts/basics/opentype

https://www.prepressure.com/fonts/basics/type1 

https://learn.microsoft.com/zh-tw/windows-hardware/test/hlk/testref/device-orientation-quaternion-vector-algorithm

vector plotter Algorithm microsoft plotter positioninghttps://learn.microsoft.com/en-us/dotnet/api/system.drawing.printing.printersettings.isplotter?view=netframework-4.8

2022年11月30日 星期三

Operational Amplifiers applications Advanced Linear Interpolation calculation

 

 https://wiki.analog.com/university/courses/electronics/text/electronics-toc

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

2022年11月29日 星期二

openpnp alignment screw Calibration camera OpenPnP: Nozzle Tip Changer Vision & Z Calibration, Part Height Sensing

 https://makr.zone/openpnp-nozzle-tip-changer-vision-z-calibration-part-height-sensing/653/

 https://groups.google.com/g/openpnp/c/8JMWIeqb9Bw

New Advanced Camera Calibration is available for testing

 https://groups.google.com/g/openpnp/c/8JMWIeqb9Bw?pli=1

https://makr.zone/openpnp-nozzle-tip-changer-vision-z-calibration-part-height-sensing/653/ 

https://solderdict.technolab.de/

2022年11月25日 星期五

Dyson Bladeless Fan Works aerodynamic lift circular DRONE Coanda Numerical Investigation on the Effect of Geometric Shape and Outlet Angle of a Bladeless Fan for Flow Optimization using CFD Techniques


 

 Air Multiplier Fan Blows Air effect  Bladeless fan Influence Geometric Parameters on the Average Outlet Velocity Bladeless Fan Pervanesiz

 https://anemos.in/blogs/blog/what-are-bladeless-fans-and-how-do-they-function

 https://www.sciencedirect.com/science/article/pii/S2666202722000386

2022年11月24日 星期四

alternative  LumenPnP CompactPnP SimplePnP liteplacer openpnp smt smd machine smt feeder Building a DIY SMT Pick Place Machine with OpenPnP and Smoothieboard (NXP LPC1769)

 https://mcuoneclipse.com/2018/06/26/building-a-diy-smt-pickplace-machine-with-openpnp/

https://mcuoneclipse.com/2018/05/05/sneak-preview-diy-smt-pick-place-machine-with-openpnp/ 

SimplePnP is a Low-Cost, Open Source Hardware Pick-and-Place Machine (Crowdfunding) https://www.cnx-software.com/2020/01/10/simplepnp-low-cost-open-source-hardware-pick-and-place-machine/

https://opulo.io/

https://hackaday.com/2020/05/11/open-source-pick-and-place-has-a-450-bom-cost/

https://en.wikipedia.org/wiki/Pick-and-place_machine


https://hackaday.io/projects?tag=Pick%20and%20place

https://www.rmcybernetics.com/general/zhengbang-zb3245tss-pick-place-machine

https://wiki.opensourceecology.org/wiki/Category:Automation

2022年11月22日 星期二

滷肉飯

 甜味蔬菜
冬瓜  南瓜 佛手瓜 甜玉米  甘藍菜
高麗菜 大白菜  紅蘿蔔 白蘿蔔
洋蔥 甜椒 牛番茄 竹筍 西洋芹

紅豆 黑豆 黃豆 花生

昆布 海帶芽 扁魚 魚皮 魷魚乾 蝦米 櫻花蝦
荸薺

香菇 猴頭菇 黑木耳

紅棗 甘草 草果 橄欖 桂皮 陳皮 胡椒 茴香

南乳 豆腐乳 黑豆豉  紅糟
黃豆醬 米豆醬
黑味增

白菜滷 西滷肉 紅燒羹
白蘿蔔豬肚湯

 
豬腩排
白菜 紅蘿蔔
扁魚 蝦米 鳥蛋
金針菇 黑木耳 杏鮑菇 香菇絲
青蔥 沙茶醬


梅花豬肉
紅蘿蔔

乾香菇
川耳
 
金針花
扁魚 蝦米
香菜
S&B生蒜泥醬
木薯粉 地瓜粉
雞蛋
太白粉水
娃娃菜

丁香魚 大丁香(堯仔) 小卷干 魷魚干 蝦皮 蝦米 中蝦 蝦九 白丁蝦 香魚片 扁魚干
鬼頭刀干 柴魚片.



魷魚乾 蝦米 芝麻 香菜 蒜頭 花生 栗子 炸油

 選用乾魷魚熬製湯頭,放入豬肉片、香菇片等食材,
爆香蒜頭跟蔥白在加入三層肉、蝦米、扁魚、筍片、紅蘿蔔片、木耳、大白菜

乾魷魚、乾干貝(貝柱、食鹽)、米酒、黑豆醬油*、香菇*、銀杏果、米 ... 瓜澱粉)]、蝦皮、魚干、水、蔥干、蒜頭、辣椒醬(辣椒、食鹽)、芝麻粉、椰子粉、花生粉、大豆 ...

干貝櫻花蝦XO醬(成份:大豆沙拉油、魷魚、蝦皮、蒜仁、辣 ... 魚干、沙拉油、蝦米、沙茶粉(紅蔥頭.辣椒粉.扁魚粉.椰子粉.芝麻粉.蝦米.花生 ...









2022年11月15日 星期二

ultraviolet uv sensor Ultra Fast UV/IR Flame Detector 300ft sensitive Sensitive Ultraviolet-Light Sensors

 Texas Instruments, OPT301M Full Spectrum Photodetector Amplifier Unit, Through Hole TO-99

UV-A Sensor GUVA-S12SD     Genicom Co., Ltd.
Si113x/114x UV Index Sensor
SI1147-A10-GMR     Silicon Labs
OSI Optoelectronics, PIN-UV-100DQC UV Si Photodiode, Through Hole Ceramic
OSI Optoelectronics, UV-035EQ UV Si Photodiode, Through Hole TO-8
ROHM Semiconductor ML8511-00FCZ05B ml8511 ultraviolet  uv sensor
CM3512 UV Light Sensor
Rk200-07 Digital RS485 Modbus Output UV Radiation Sensor / Ultraviolet Light Sensor / UV Index Sensor

VEML6075 VEML6070 UVA UVB S12SD GY-8511 ML8511 Ultraviolet

Honeywell Flame Monitor C7027A1049 1023 C7027A1072 Ultraviolet UV Detection

 mouser semiconductors/sensor-ics/

 mouser
985-AS7331MOLGA16LFT AS7331_M OLGA16 LF T&RDP ams OSRAM
634-SI1133-AA00-GM SI1133-AA00-GM Silicon Labs

2022年11月10日 星期四

The SS7 flaws that allows hackers to snoop on your calls and SMS Locate. Track. Manipulate SS7: Locate. Track. Manipulate remote-controlled tracking device pocket.

 https://blog.3g4g.co.uk/2014/12/the-ss7-flaws-that-allows-hackers-to.html

https://www.scribd.com/document/359370710/31c3-ss7-locate-track-manipulate-pdf 

https://www.google.com/url?sa=i&url=https%3A%2F%2Fdl.ifip.org%2Fdb%2Fconf%2Fnetworking%2Fnetworking2016%2F1570236202.pdf&psig=AOvVaw2F8xomw7cNu_gxAAFPwjPo&ust=1668146898141000&source=images&cd=vfe&ved=0CBEQjhxqFwoTCPDZisz5ovsCFQAAAAAdAAAAABAO

 https://www.researchgate.net/publication/323248468_GUTI_Reallocation_Demystified_Cellular_Location_Tracking_with_Changing_Temporary_Identifier

2022年11月5日 星期六

 ZLibrary (World's Largest ebook) Z-Library Alternatives Best Z-Library Alternatives

 ZLibrary (World's Largest ebook) Z-Library Alternatives Best Z-Library Alternatives
Library Genesis     https://libgen.is/
PDF Drive         https://www.pdfdrive.com/
Project Gutenberg    https://www.gutenberg.org/
Standard Ebooks    https://standardebooks.org/ebooks
EPDF            https://epdf.tips/

Sci-Hub         https://sci-hub.se/
Hoopla Digital    https://www.hoopladigital.com/
OverDrive/Libby    https://www.overdrive.com/
LibriVox        https://librivox.org/
Archive.org/    https://archive.org/details/inlibrary?tab=collection
Open Library    https://openlibrary.org/

FreeBookSpot    http://www.freebookspot.club/default.aspx
PDF Magazine    https://www.pdfmagaz.in/start/
Open Library     https://openlibrary.org/
LibriVox         https://librivox.org/
OverDrive         https://www.overdrive.com/
FreeBookSpot    http://www.freebookspot.club/
ManyBooks        https://manybooks.net/
Digital Book    https://www.digitalbook.io/
ReadAnyBook        https://www.readanybook.com/
Ebookee        https://ebookee.com/
Smashwords        https://www.smashwords.com/

BookBub        https://www.bookbub.com/
Ebook3000        http://www.ebook3000.com/
Ebookee        https://ebookee.com/
AvaxHome        https://avxhm.se/

https://theanarchistlibrary.org/special/index
https://recherche-ebook.fr/en/
https://github.com/FunkyMuse/Aurora
https://libgen.me/
https://lingvist.info/

The Literature Network    http://www.online-literature.com/
The Imperial Library of Trantor    https://trantor.is/
Open Textbook Library    https://open.umn.edu/opentextbooks/

https://www.motivetalk.com/alternatives-to-pdf-drive/
Scribd
BookBoon
Google
Free-eBooks.net
Bookyard
Internet Archive
ManyBooks
OnlineProgrammingBooks.com
Open Culture
Open Library
Smashwords
Read Print
Europeana
Booknet.com
Librivox
Project Gutenberg
Authorama
Z-Library
Library Genesis
eBook Lobby
Book Guru
Kupdf
Page by Page Books
ReadAnyBook
OceanOfPDF 


https://alternativeto.net/software/z-lib/?feature=ebook-library&sort=popular    

http://zlibraryexau2g3p.onion/
gen.lib.rus.ec    http://gen.lib.rus.ec/
libgen.lc        http://libgen.lc/
libgen.me        http://libgen.me/
libgen.unblockit.me    http://libgen.unblockit.me/
bookfi.net         http://bookfi.net/

Zlibrary涼涼!電子書自由再也沒有了?火種和替代網站 | 數字牧民LC
數字牧民LC
https://youtu.be/eRd0_goQgDU
暗网地址(**不要直接打开,请复制到Tor 浏览器打开**):
http://zlibrary24tuxziyiyfr7zd46ytefdqbqd2axkmxm4o5374ptpc52fad.onion/
http://bookszlibb74ugqojhzhg2a63w5i2atv5bqarulgczawnbmsb6s6qead.onion/
http://loginzlib2vrak5zzpcocc3ouizykn6k5qecgj2tzlnab5wcbqhembyd.onion/
iPhone进入暗网教程
https://youtu.be/Nj2KvcamDUA
Telegram机器人:
*注意:该机器人需要【在暗网的Zlibrary登录账号后,与电报的机器人连接一下】方可使用,机器人连接后,可以直接关闭暗网网址,再电报机器人搜索就可以了*
https://t.me/firstlibrarybot
还可以使用的镜像地址:
https://www.ooopn.com/tool/zlibrary/
某大神离线备份文件:
https://www.aliyundrive.com/s/9tLs9mhbpF3
https://www.aliyundrive.com/s/PZcKvCqCnzn
https://www.aliyundrive.com/s/KMBUF47M2ab
https://www.aliyundrive.com/s/a3Tgi7YFu6J
英文:
PDF Drive
https://www.pdfdrive.com/
Project Gutenberg
https://www.gutenberg.org/
Manybooks
https://manybooks.net/
LibGens
https://libgen.ee/
Palanete Book
https://www.planetebook.com/
中文:
书籍知识库
https://www.zhishikoo.com/
鸠摩搜书
https://www.jiumodiary.com/
书享家
https://www.shuxiangjia.cn/
苦瓜书盘
https://www.kgbook.com/
日语:
青空文库
https://www.aozora.gr.jp/
苹果手机
https://apps.apple.com/jp/app/i%E8%AA%AD%E6%9B%B8-%E9%9D%92%E7%A9%BA%E6%96%87%E5%BA%AB%E3%83%AA%E3%83%BC%E3%83%80%E3%83%BC/id534970999


2022年11月3日 星期四

Standard Mechanical Parts Standard Mechanical Components gear Mechanical mechanism Transmission devices Types of Machine Elements

 Standard Mechanical Components

https://www.directindustry.com/cat/standard-mechanical-components-B.html 

https://lo.unisa.edu.au/mod/book/tool/print/index.php?id=424247

https://learnmech.com/mechanical-components/

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

https://www.thomasnet.com/articles/machinery-tools-supplies/understanding-gears/

https://www.iqsdirectory.com/articles/manufacturing/mechanical-components.html

2022年11月1日 星期二

alternativeto  LimeReport QtRPT QtRptDesigner CuteReport  Qt Report Generator Engine

 https://github.com/fishydarwin/OpenRP

 

 NCReport

 LimeReport

QtRPT QtRptDesigner


CuteReport

 https://github.com/KDAB/KDReports

https://ncreportsoftware.com/

https://sourceforge.net/projects/exaro/


Web Application Framework Evaluating Web Development Frameworks for Delphi

 
Evaluating Web Development Frameworks for Delphi
https://blogs.embarcadero.com/ultimate-web-frameworks-for-ultra-fast-web-application-development-using-delphi-c-builder/

Web Application Framework

AtoZed Software IntraWeb
DelphiMVCframeWork MVC Framework
MARS-Curiosity: a new Delphi REST library
ELEVATE
FMSoft UniGui
Ethea  Kitto2
TMS WebCore
FastCGI
Synopse mORMot
Mars Curiosity WebBroker

https://github.com/eugenekryukov/jskit
https://github.com/relativ/pascalweb
https://www.crossvcl.com/
https://docwiki.embarcadero.com/RADStudio/Alexandria/en/DataSnap_Overview_and_Architecture
Smart Mobile Studio (SMSC)
ElevateSoft’s Web builder
https://d-data.ro/ultra-fast-web-application-development-using-delphi-c-builder/

Web Broker
FireDAC
ExtJS
DataSnap
SOAP Service

PhoneGap Cordova Xamarin delphi
Delphi Solutions - Part 2 : Implementing a RESTful Interface using WebBroker | packtpub.com
Embarcadero Developer Network Using IntraWeb Page Mode with WebSnap

 Delphi web front end development tutorial (9): Based on TMS web core framework 

installation software Inno Setup InstallJammer Nullsoft PackJacket

 https://alternativeto.net/software/nsis/?p=6

NSIS Alternatives: 25+ Software Installers and similar apps | AlternativeTo

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

 

 https://learn.microsoft.com/zh-tw/windows/msix/packaging-tool/tool-overview

https://learn.microsoft.com/zh-tw/windows/msix/overview

 

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

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

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


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

2022年10月29日 星期六

Office Assistant delphi MS Agent Control

 https://learn.microsoft.com/en-us/windows/win32/lwef/programming-the-microsoft-agent-control

 https://learn.microsoft.com/zh-tw/windows/win32/lwef/programming-the-microsoft-agent-control

 https://learn.microsoft.com/en-us/windows/win32/lwef/creating-animations

 https://www.codeproject.com/Articles/35921/Programming-Microsoft-Agent-in-Windows-Forms

 http://www.delphiarea.com/products/delphi-packages/assistant/

https://www.researchgate.net/figure/The-characters-from-the-MS-Agent-Package-and-the-MS-Office-Assistant-are-well-suited-to_fig1_220049803

2022年10月26日 星期三

How to Download Proteus ISIS 7 Professional for Arduino Simulation.

 https://www.instructables.com/How-to-download-Proteus-ISIS-7-Professional-for-ar/

2022年10月25日 星期二

 fft iir filter fast Fast Fourier transform Infinite impulse response Convolution sigma-delta Convolution ADC DAC

 fft iir filter fast  Fast Fourier transform  Infinite impulse response Convolution
sigma-delta Convolution ADC DAC


Signal Processing Examples Using TMS320C62x Digital ...
https://www.ti.com › lit › pdf
PDF
This application report presents the usage and performance of three key signal processing categories, i.e., finite impulse response (FIR) filter, infinite ..


AP16124 - Infineon Technologies
https://www.infineon.com › dgdl › ap1612410_X...
PDF
This application note presents the usage of finite impulse response (FIR), infinite impulse response (IIR), and fast Fourier transform (FFT). The performance of ...

Application of Fast Fourier Transform (FFT) Algorithm in Finite ...
https://www.ijert.org › research › application-of-f...
PDF
In this paper, we propose how the DFT can be used to perform linear filtering in the frequency domain using MATLAB program. The frequency domain approach based ...

sigma-delta  Delta-Sigma analog-to-digital converter sigma-delta ADC  inertial sensor




Mixed-Signal and DSP Design Techniques, Digital Filters
https://www.analog.com › mixedsignal_sect6
PDF
The AD7725 16-bit sigma-delta ADC has an on-chip. PulseDSP filter which can do 125 ... Conversely, the impulse response is the discrete Fourier transform of.


    The Scientist and Engineer's Guide to Digital Signal Processing
    https://www.analog.com › dsp_book_bk_index

PDF
Butterfly calculation in FFT, 231-232. Butterworth filter. See under Filters ... Delta-sigma, 63-66 ... infinite impulse response (IIR), 263, 284,. 319-320.

2022年10月24日 星期一

wifi positioning system Time-of-Flight WifiManager SystemService signal quality android developer algorithm stream ap device identity protocol dhcp arp indoor positioning system IPS real-time location system RTLS RSSI

 https://www.inpixon.com/technology/standards/wifi

 Wi-Fi indoor positioning and navigation: a cloudlet-based cloud computing approach

https://hcis-journal.springeropen.com/articles/10.1186/s13673-020-00236-8 

https://jit.ndhu.edu.tw/article/view/1704

https://www.researchgate.net/figure/Trilateration-algorithm-for-object-localization-using-three-beacons-B-1-B-2-and-B-3_fig1_338241733

https://www.101computing.net/cell-phone-trilateration-algorithm/

ultra-wideband uwb

IEEE standard 802.15.4  iot

wifi bluetooth 

indoor position

4g lte cat1 positioning  sms ss7

Positioning Techniques for 5G NR in 3GPP Release-16

PositionLocationMonitoring.pdf - NXP
https://www.nxp.com › docs 
A location monitoring system can be developed with moderate performance with a ZigBee mesh network that uses low-cost IEEE 802.15.4 embedded devices.


Application of IEEE Std 802.15.4
https://mentor.ieee.org › dcn › 15-14-0226-00-0000-802-...
2014年5月1日 — This document describes ways in which IEEE Std 802.15.4 can be used to satisfy ... identification, location, and tracking described in 3.5.

2022年10月19日 星期三

Applications Electronic Control and Motor Mini-sized Digital Servo

 Application Guides - Holtek

https://www.holtek.com/applicationpage/-/apid/261

semiconductor  TSOP voltage reference servo motor dc motor digital

2022年10月15日 星期六

RC SERVO MOTOR CIRCUIT PWM CURRENT potentiometer ic Voltage Comparator A Quick Experimenter’s Guide to Servomotors

 https://www.servomagazine.com/magazine/article/a-quick-experimenters-guide-to-servomotors

 LM339 PWM MOTOR control ohm position LM555 4066 LM358

https://320volt.com/en/yuksek-guclu-30-amper-dc-motor-hiz-kontrol-devresi/

https://bestengineeringprojects.com/pwm-dc-motor-speed-controller-circuit/ 

https://www.industrial-electronics.com/elec_case5_1.html

MC33931 ic 


https://slideplayer.com/slide/6034044/

Servo Motor Position Control M51660L 


Internals of a Servo Now for the electronics part. The circuit contains a chip, M51660L (or another 

https://www.robotshop.com/community/forum/t/m51660l-and-l298d-pin-connections-for-diy-rc-servo-motor-board/10461


AA51880 Servo Motor Controller . The is a BJT integrated circuit using in servo motor control applications. The built-in voltage regulator provides

potentiometer

resistor angle ic rc servo motor resistor Angle Control  rc servo motor

integrated circuit for use in servo motor control in radio control applications

https://www.engineersgarage.com/servo-motor-control-using-555-timer-ic/

https://www.digikey.be/nl/blog/servomotor-control-with-limits-and-variable-speed

Pulse-width modulation converte current motor controller radio ic 

Pulse Width Modulation for DC Motor Control Based on LM324

Single Brushed DC Motor Driver

https://www.mikroe.com/dc-motor-6-click

AA51880

https://sound-au.com/articles/servos.htm


https://blog.mbedded.ninja/electronics/circuit-design/h-bridges/

lm5104 The LM5104 High-Voltage Gate Driver is designed to. 1• Drives Both a High-Side and Low-Side N-Channel drive both the high-side and the low-side N-channel.


Voltage Current Resistance Inductance Capacitance  Current Level Indicator opamp comparator


https://www.digchip.com/datasheets/parts/datasheet/343/MC33030.php

https://sound-au.com/articles/servos.htm#s9

https://opencircuits.com/index.php?title=Servo_control

AA51880 MC33030 M51660L BAL6688/86 ,MC33030,M51660L,NE544 or any other servo control chip 

https://opencircuits.com/index.php?title=Servo_control

The servomotor case contains a gearhead motor, a small motor driver circuit, and a potentiometer used to measure the position of the output shaft. Often the circuit consists of a single chip and a few transistors, resistors, and capacitors. The H-bridge handles the high current required to drive the motor. (Darren SAWICZ, "Hobby Servo Fundamentals" [28] ). The chip in a servomotor case is often  a Mitsubishi M51660L, RS ZN409 / GEC PLESSEY ZN409CE, KC2462 to KC8801, NE544, NJM2611, MC33030, etc. [29] [30]

KC8801 ic DC pulse width modulation circuit


solutions radio control servo motor driver ic servo internal circuit

Китайский электрокорректор

 Infineon TLE4206G

CS902 | DRV8870 | A4950  | A4953 | TB67H451

https://www.mouser.tw/ProductDetail/Toshiba/TB67H451AFNGEL?qs=Wj%2FVkw3K%252BMArV7aRaH6JgA%3D%3D

https://www.mouser.tw/c/semiconductors/power-management-ics/motor-motion-ignition-controllers-drivers/


Reference Position DC Servo Motor Potentiometer feedback


Order this document by MC33030/D SEMICONDUCTOR
TECHNICAL DATA DC SERVO MOTOR CONTROLLER/DRIVER

Position Control of DC Servo Motor using Improved
Sliding Mode Control Techniques
Kavita Choudhary1, Mohd Salim Qureshi2, Balvinder Singh3
Department of Electrical & Electronics Engineering, Government Women Engineering College, Ajmer1,2,3

Voltage Reference Solutions in Motor Control Drives "Texas Instruments, Incorporated [SNVA861,*]"

1-A DC Motor Driver for Servo Driver Applications TLE 4206-2G Infineon-TLE4206-2G-DS-v01_04-EN

Position Control of DC Servo Drive by Fuzzy Logic Controller in Flat-Bed Screen Printing Machine

Hobby Servo Fundamentals
https://www.princeton.edu 
HOBBY. SERVO. FUNDAMENTALS. BY: DARREN SAWICZ ... Hobby servos eliminate the need to custom ... Without hobby servos. (hereafter referred to only as servos).

Agamem Microelectronics Inc. AA51880
PRELIMINARY SERVO MOTOR CONTROLLER


Freescale Semiconductor Document Number: AN4251
Application Note Rev. 0, 01/2011
Controlling DC motors and Servo
motors
Example code based on the MPC5604B MCU

1984_Mitsubishi_General_Purpose_ICs

Reference Position DC Servo Motor Potentiometer feedback  difference  General Purpose IC

https://www.electronicshub.org/servo-motors/

LA5586 TDA7274 BA6220 AN6550  DC Motor

Headlight Level Adjustment Motor

https://www.precisionmicrodrives.com/ab-026

Technical Resources » AB-026: Sensorless Speed Stabiliser For A DC Motor
AB-026
Sensorless Speed Stabiliser For A DC Motor

https://www.instructables.com/Controlling-Motor-Speed/

Integrated  General-purpose Compact DC Motor Speed Control

comparator electronics servo motor SUN TRACKER HITEC SERVO ACTUATOR CONTROLLING ALIGNMENT SOLAR WING PANELS

http://www.solarnavigator.net/sun_tracker_wings.htm


https://www.servomagazine.com/magazine/article/a-quick-experimenters-guide-to-servomotors


2022年10月8日 星期六

Pascal Compiler supports ARM cross cpu

https://wiki.freepascal.org/TARGET_Embedded
https://www.mikroe.com/mikropascal-arm
https://www.mme-berlin.de/arm9-modul/index.htm
https://ultibo.org/
https://pilotlogic.com/sitejoom/index.php/forum/installation-setup/2229-location-of-lazarus-ide-configuration-files-in-ct.html#2371
Location of Lazarus IDE configuration files in CT
https://www.phoronix.com/news/Free-Pascal-FPC-3.2-Compiler
https://help.rc.ufl.edu/doc/Pascal 

https://wiki.freepascal.org/Cross_compiling

https://wiki.freepascal.org/ARM_compiler_options


8051 IAR Keil Mikro SDCC

2022年10月2日 星期日

siphon syphon Water Hammer Noisy Pipes Vent Plumbing Bell Siphon Siphons Sold

 https://dengarden.com/home-improvement/Venting-your-plumbing

https://www.diydoctor.org.uk/projects/noisypipes.htm

https://www.wikihow.com/Make-an-Indoor-Aquaponics-System

Image Effects Blurring Algorithms surface blur mosaic blur algorithm crystalize

 https://danielilett.com/2019-05-08-tut1-3-smo-blur/

2022年9月24日 星期六

Better Rifling calc How To Find the Ideal Twist Rate for Your Rifle Matching Rifle Twist Rate to Caliber bullets. Twist Rate Electroplating Etching

 https://www.everydaymarksman.co/equipment/rifling-twist-rate/

A newer technology, Electrolytic Cationic Machining, uses a wet-etching method that uses reverse-electroplating to remove from inside the barrel rather than add to it. These machines utilize electrodes shaped as plastic cylinders with reverse-imaged metal strips encircling them. To create the desired twist rate, the cylinder is pushed through the barrel while the barrel is immersed in chemicals like sodium nitrate and methodically rotated. Although this is an expensive method of rifling, it results in precise rifling. 

Camera Lucida Saving And Restoring Sessions Roland Barthes and Camera Lucida 投影描繪器

 https://youtu.be/KdnrQKo1-xQ

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

https://zh.wikipedia.org/wiki/%E6%8A%95%E5%BD%B1%E6%8F%8F%E7%BB%98%E5%99%A8

2022年9月23日 星期五

GAME Message Queuing tcp Optimization Algorithms Schedule Transport messaging

 PR-SCTP

https://www.g2.com/categories/message-queue-mq

https://www.g2.com/articles/message-queue-mq

https://www.rabbitmq.com/tutorials/amqp-concepts.html

2022年9月18日 星期日

RTS strategy GAMES network Protocol Message Queuing

 https://www.gamedeveloper.com/programming/building-games-that-run-on-poor-mobile-connections

DCCP SCTP TFRC TCP UDP classifies protocol

 https://datatracker.ietf.org/doc/rfc8095/

 

 This document describes, surveys, and classifies the protocol
   mechanisms provided by existing IETF protocols, as background for
   determining a common set of transport services.  It examines the
   Transmission Control Protocol (TCP), Multipath TCP, the Stream
   Control Transmission Protocol (SCTP), the User Datagram Protocol
   (UDP), UDP-Lite, the Datagram Congestion Control Protocol (DCCP), the
   Internet Control Message Protocol (ICMP), the Real-Time Transport
   Protocol (RTP), File Delivery over Unidirectional Transport /
   Asynchronous Layered Coding (FLUTE/ALC) for Reliable Multicast, NACK-
   Oriented Reliable Multicast (NORM), Transport Layer Security (TLS),
   Datagram TLS (DTLS), and the Hypertext Transport Protocol (HTTP),
   when HTTP is used as a pseudotransport.  This survey provides
   background for the definition of transport services within the TAPS
   working group.

2022年9月16日 星期五

CPP C++ Papyrus caiorss C-Cpp-Notes WindowsAPI-cpp

 https://caiorss.github.io/C-Cpp-Notes/WindowsAPI-cpp.html#org2dabe89

https://github.com/caiorss 

https://docs.microsoft.com/en-us/windows/win32/learnwin32/learn-to-program-for-windows

https://github.com/caiorss

https://www.nexus-6.uk/api-file-management-functions/

https://docs.microsoft.com/en-us/windows/win32/fileio/file-management-functions

2022年9月15日 星期四

蠶 Silk silkworms thickest wild Tussar oak muga

 https://www.wikiwand.com/en/Silk

https://zh.wikipedia.org/zh-tw/%E8%9A%95 

https://www.fibre2fashion.com/industry-article/5734/effect-of-selected-pretreatments-on-properties-of-oak-tasar-silk-fabric


2022年9月13日 星期二

Delphi Firemonkey FIREMONKEY fmx 3D game

 https://github.com/gbegreg/GBE3D

https://play.google.com/store/apps/details?id=fr.gbesoft.FMXFPS&hl=en_CA&gl=FR 

https://www.fmxuniversity.com/

https://github.com/dimsa/ShadowEngine

https://fireblazefmx.wordpress.com/

2022年9月11日 星期日

Tarray helper .pas TArray helper - Delphi Third-Party Нововведения по версиям Delphi [Love Soft]

 Нововведения по версиям Delphi [Love Soft]

http://xlench.bget.ru/doku.php/delphi/classes/new-comps 


https://github.com/WilliCommer/ArrayHelper

2022年9月9日 星期五

8051 programmer SPI pins MISO MOSI SCK RST

 Burn hex file into 8051 AT89S52 | Progisp

 AT89S52 https://www.microchip.com/en-us/product/AT89S52

https://www.microchip.com/en-us/products/microcontrollers-and-microprocessors/8-bit-mcus/8051-mcus

201206231551簡易型 8051 燒錄器

AT89S52 and ISP Programming | Forum for Electronics
https://www.edaboard.com › threads › at...
 the whole circuit should have regulated 5V, so using 7805 should be OK. You still though need Q1 as the Vcc switch .. 2)11MHz clockl will be ...


AT89C51IC2 Datasheet - Microchip Technology
https://ww1.microchip.com › DeviceDoc › doc4301
PDF
face, a 2-wire interface, an SPI Interface, a more versatile serial channel ... P1.5/CEX2/MISO. P1.6/CEX3/SCK. P1.7/CEx4/MOSI. RST. P3.0/RxD. PI2.1/SDA.


    8-bit Flash Microcontroller with 64K bytes Program Memory ...
    https://ww1.microchip.com › downloads › DeviceDoc
    PDF
    should be soldered to ground. NOTE: † SPI in remap mode. ‡ AT89LP51ID2 Only. (†MOSI/CEX2/MISO) P1.5. (†MISO/CEX3/SCK) P1.6. (†SCK/CEX4/MOSI) P1.7. (DCL) RST. 


https://microcontrollerslab.com/at89s52-8-bit-microcontroller-pinout-programming-features-applications/

https://electronics.stackexchange.com/questions/24824/mosi-and-miso-at-89s52

https://www.pjrc.com/tech/8051/

Atmel 8051 Microcontrollers Hardware Manual


Pin diagram of 8051 Microcontroller - GeeksforGeeks
https://www.geeksforgeeks.org › pin-diag...
 During flash programming i.e. Programming of EPROM, this pin acts as program pulse input (PROG). Pin 31 (EA/ VPP) – EA stands for External ...


The 8051 Microcontroller and Embedded Systems Using ...
https://www.academia.edu › The_8051_...
 
The 8051 microcontroller and embedded systems using assembly and c 2nd ed by ... 10 8051 31 11(8031)30 -EA/VPP ALE/PROG must be programmed (INT0)P3.2 12 29 ...


https://www.edaboard.com/threads/sofitech-willar-sp200s-atmel-8051-microcontroller-diy-programming-kit.254117/

2022年9月8日 星期四

Top 30 Best UML Modeling Software [2022]

 https://www.cybermedian.com/id/top-30-best-uml-modeling-software-2022/

Top 30 Best UML Modeling Software [2022]


Visual Paradigm (Desktop) https://www.visual-paradigm.com/
Visual Paradigm (Online) https://online.visual-paradigm.com/
StarUML open source https://staruml.io/
Diagrams.net https://www.diagrams.net/
Cacoo https://cacoo.com/
Microsoft Visio
Moqups online https://moqups.com
Altova https://www.altova.com/umodel
Umple https://cruise.umple.org/umple/
UMLetino open source https://www.umletino.com/
Astah https://astah.net/
BOUML https://www.bouml.fr/
SketchBoard https://sketchboard.io/
yUML https://yuml.me/ https://www.dokuwiki.org/plugin:yuml
Violet UML Editor open source https://sourceforge.net/projects/violet/
https://gitmind.com/
https://www.softwareideas.net/

http://dia-installer.de/
Modelio Open Source https://www.modelio.org/

Systems Design Rhapsody
Open ModelSphere
Diagramo
GenMyModel
WhiteStarUML
Umbrello
PlantUML
ArgoUML
NClass
UMLet
 

Unified Modeling Language diagrams
https://en.wikipedia.org/wiki/List_of_Unified_Modeling_Language_tools
https://en.wikipedia.org/wiki/Unified_Modeling_Language
https://en.wikipedia.org/wiki/Glossary_of_Unified_Modeling_Language_terms
https://en.wikipedia.org/wiki/Category:UML_tools
https://en.wikipedia.org/wiki/UML_tool
https://en.wikipedia.org/wiki/Applications_of_UML

2022年9月6日 星期二

JavaScripting with Duktape for Delphi

 https://github.com/grijjy/DelphiDuktape

https://duktape.org/index.html

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

2022年9月5日 星期一

USB HID Test 4176 In the book "PIC microcontrollers for beginners" published by Elektor is to present how to dialogue through the USB port in HID mode. The source of the Windows executable is written under Delphi 7. Delphi 7 is no longer installable on new versions of Delphi. The project is to rewrite the project under Lazarus (freeware) to make the project usable by everyone.

 https://www.elektormagazine.com/labs/usb-hid-test

https://www.sonelec-musique.com/logiciels_freewares_usbhidtest.html

 https://github.com/LongDirtyAnimAlf/FPC-USB-HID

 https://forum.lazarus.freepascal.org/index.php/topic,49233.0.html

 https://github.com/LongDirtyAnimAlf/Delphi-Android-USB-HID/blob/master/android.hardware.usb.HID.pas

 https://github.com/project-jedi/jvcl/blob/master/jvcl/run/JvHidControllerClass.pas

https://stackoverflow.com/questions/6271421/using-hidcontroller-on-delphi-2010 

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

https://blogs.embarcadero.com/human-interface-devices-communicator-for-delphi-c-builder-on-windows/

https://winsoft.sk/nathid.htm

https://docs.microsoft.com/en-us/windows-hardware/drivers/hid/

 

 

 

 

2022年9月4日 星期日

Soft Start for Amplifiers | Elektor Magazine elektor soft start Relay circuit 24v 3a power supply circuit protection coil speaker

 https://www.elektormagazine.com/news/softstartforamplifiers

 

Safety Relay protect Relay protection circuit surge voltage Suppression Power-Back Surge Protection Circuit Surge Protection Circuit

https://www.eeweb.com/relay-coil-energy-saver/

https://dmohankumar.wordpress.com/2012/10/02/timer-relay-design-trick-16/



 

 

 24v 3a power supply circuit protection coil speaker
protection coil speaker counter emf Electricity Regulations
https://sound-au.com/project33.htm
https://sound-au.com/project33.htm
Loudspeaker Protection and Muting
Relay Specifications
Electricity Regulations EMSD

Relay Flyback Voltages

Flyback Voltage With Diode+Zener 

https://sound-au.com/articles/relays.htm

https://sound-au.com/project33.htm 

SCR RELAYS Elektor Magazine circuit manazine relay flyback zener

 Relay Channel Way Output Module Board

SCR RELAYS Elektor Magazine circuit manazine relay flyback zener 10 Relay Channel Way Output Module Board

 optocoupler isolation 5A DC board NPN PNP SCR rail installation

ejb delphi COMtoCORBA OleServer CORBA

 https://j-integra.intrinsyc.com/support/com/doc/ias/delphi.html

https://j-integra.intrinsyc.com/support/com/doc/ias/

 

2022年9月1日 星期四

stol aerodynamic types airfoil sim multi

 https://www.simis.io/index.html#Products_Ashes_Download

Ashes - Creating an airfoil and adding aerodynamic coefficients with multiple Reynolds numbers

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

The Aerodynamics of V/STOL Aircraft - DTIC

stol aerodynamic  airfoil   Computational Fluid Dynamics

https://www.researchgate.net/publication/348457909_Experimental_research_of_active_vibration_and_noise_control_of_electrically_controlled_rotor


https://www.pinterest.com/waysuj/aerodynamics/

https://hackaday.com/2020/07/11/aerodynamics-for-dummies/

https://www.avweb.com/aviation-news/faa-proposes-second-fine-on-boeing-over-faulty-slat-tracks/

https://www.kitplanes.com/super-cub-kit-comparison/

2022年8月27日 星期六

System.TObject.MethodAddress

 https://docwiki.embarcadero.com/Libraries/Alexandria/en/System.TObject.MethodAddress

 https://github.com/ibv/LDAP-Admin/blob/master/Source/Script.pas

https://github.com/Kryuski/pas2js-for-delphi/blob/master/packages/rtl/system.pas 

https://github.com/ying32/duilib-for-Delphi/blob/master/DDuilib/DuiBase.pas

https://github.com/padcom/delcos/blob/master/components/dunit/src/TestFramework.pas

https://docwiki.embarcadero.com/Libraries/Alexandria/en/System.TMethod

https://docwiki.embarcadero.com/CodeExamples/Alexandria/en/Event_RTTI_Invocation_(Delphi)


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

https://www.thoughtco.com/create-delphi-form-from-a-string-1057672

https://flylib.com/books/en/2.37.1/core_library_classes.html

https://stackoverflow.com/questions/45635147/dynamically-created-object-providing-its-classname-as-a-string-do-not-call-its

https://www.freepascal.org/docs-html/rtl/system/tobject.html

https://blog.xuite.net/peterlee.tw/twblog/211753269

2022年8月21日 星期日

Fast programs for modern computers Multithreading Fast programs for modern computers

 https://slideplayer.com/slide/4497543/

https://slideplayer.com/slide/4290203/

https://docwiki.embarcadero.com/Libraries/Sydney/fr/System.Threading.TThreadPool.TThreadPoolMonitor 

https://blog.marcocantu.com/blog/2014-december-spelunking-rtl-since-xe2.html

https://community.embarcadero.com/index.php/blogs/entry/parallel-programming-using-the-new-rad-studio-xe7-runtime-library


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

http://www.omnithreadlibrary.com/book/chap02.html#introduction

 

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

https://docwiki.embarcadero.com/Libraries/Alexandria/en/System.AtomicIncrement


https://www.cnblogs.com/jijm123/p/14277122.html

https://docwiki.embarcadero.com/Libraries/Sydney/en/System.Diagnostics.TStopwatch

 

https://github.com/PacktPublishing/Delphi-High-Performance/blob/master/Chapter%206/DHPThreads.pas

 

System SyncObjs Threading Diagnostics



2022年8月20日 星期六

Cancellable Parallel Tasks With Modal Progress Dialog, i.e., On Delphi’s TTask, PPL, ThreadPool, WaitAll with Progress and the rest

 Cancellable Parallel Tasks With Modal Progress Dialog, i.e., On Delphi’s TTask, PPL, ThreadPool, WaitAll with Progress and the rest

https://zarko-gajic.iz.hr/cancellable-parallel-tasks-with-modal-progress-dialog-i-e-on-delphis-ttask-ppl-threadpool-waitall-with-progress-and-the-rest/ 

https://docwiki.embarcadero.com/Libraries/Sydney/ja/System.Threading.TThreadPool.TBaseWorkerThread

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

https://delphiaball.co.uk/tag/parallel-programming/

https://www.3delite.hu/Object%20Pascal%20Developer%20Resources/download.html#tmultithread

https://www.thoughtco.com/multithreaded-delphi-database-queries-1058158

https://www.thoughtco.com/synchronizing-threads-and-gui-delphi-application-1058159

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

https://docs.microsoft.com/en-us/archive/msdn-magazine/2010/october/msdn-magazine-thread-pools-scalable-multithreaded-programming-with-thread-pools

 Parallel Programming Library (Delphi) 

https://www.youtube.com/watch?v=Ni3JDxNFiiw

https://blogs.embarcadero.com/parallel-compiling-300-native-windows-apps-in-45-seconds-with-delphi-on-an-amd-ryzen-9-5950x/

https://github.com/FMXExpress/Delphi-Parallel-Build

 Parallel Programming Library: Create Responsive Object Pascal Apps 

https://youtu.be/rZfux4by0po


https://github.com/PacktPublishing/Expert-Delphi/tree/master/Chapter03

Parallel Programming Library Create Responsive Object


2022年8月17日 星期三

programming CUDA Dynamic Parallelism syncthreads

 https://blogs.embarcadero.com/high-performance-vector-matrix-library-for-your-next-scientific-project/

 

 https://github.com/lordcrc/Compute

 https://delphi.developpez.com/actu/314586/Utilisation-de-CUDA-sous-Delphi-comment-profiter-de-la-puissance-de-calcul-des-GPU-un-billet-blog-de-Gouyon/

https://stackoverflow.com/questions/5918042/programming-cuda-using-delphi-or-freepascal/9991855#9991855

DCE DCOM CORBA JINI RMI RMI IIOP SOAP REST WebSocket WSDL UDDI Presentation on theme: "Presentation 24: RMI, Web services, DCOM Introduction Objektorienteret Middleware."— Presentation transcript:

 https://www.youtube.com/watch?v=qxDustSFvys

 

Presentation on theme: "Presentation 24: RMI, Web services, DCOM Introduction Objektorienteret Middleware."— Presentation transcript:

1 Presentation 24: RMI, Web services, DCOM Introduction Objektorienteret Middleware

2 Part 1: Java RMI

3 Java RMI Java 1.0: object communication confined to objects in one Virtual Machine (VM) Sun Microsystems thus decided to introduce inter VM communication Remote Method Invocation (RMI) from Java 1.1 supports communication between different VMs, potentially across the network Provides tight OO integration with Java Work in heterogeneous environment (servers) BUT ONLY with Java (so far) – so no language transparency (not true when using IIOP)

4 Java RMI features Build on Java’s existing object model -> easy No need for IDL – use Java interfaces Arguments & return values can be all types specializing java.io.Serilizable or java.rmi.Remote Dynamic loading of classes Use of build-in Java Security Manager Distributed Garbage Collection Integrates with CORBA (later) BUT NOT IN J2ME!!! (use Web services) J2ME CDC has an RMI profile!

5 Wire Protocol Java RMI wire protocol: JRMP (Java Remote Method Protocol) OR IIOP (Internet Inter-ORB Protocol) for CORBA connectivity Both build on top of TCP/IP JRMP supports dynamic class loading, IIOP does not Other Java RMI specification implementers Historic: BEA Weblogic, Object Voyager, NinjaRMI Object Voyager’s was JRMP compatible Others were not IIOP compatibility can not be guaranteed

6 Java RMI position Middleware Transaction-Oriented IBM CICS BEA Tuxedo Encina Message-Oriented IBM MQSeries DEC Message Queue NCR TopEnd (SOAP) RPC Systems ANSA Sun ONC OSF/DCE (SOAP) Object-Oriented OMG/CORBA DCOM Java/RMI (SOAP)

7 Local Java call vs. Java RMI callCalledCalled Stub CallerCalledCalledCaller Caller Transport Layer (e.g. TCP or UDP) Similar to SOAP and CORBA – using Proxy

8 package examples.hello; import java.rmi.Naming; import java.rmi.RemoteException; import java.rmi.RMISecurityManager; import java.rmi.server.UnicastRemoteObject; public class HelloImpl extends UnicastRemoteObject implements Hello { public HelloImpl() throws RemoteException { super(); } public String sayHello() { return "Hello World! ; } public static void main(String args[]) { // Create and install a security manager //if (System.getSecurityManager() == null) { // System.setSecurityManager(new RMISecurityManager()); //} try { HelloImpl obj = new HelloImpl(); // Bind this object instance to the name "HelloServer" Naming.rebind("rmi://192.168.1.101/HelloServer", obj); System.out.println("HelloServer bound in registry"); } catch (Exception e) { System.out.println("HelloImpl err: " + e.getMessage()); e.printStackTrace(); } Server object (HelloImpl.java) Security manager needs a security policy – for access control (i.e. file system). Security manager needs a security policy – for access control (i.e. file system). Instantiate a new object and register (bind it) in the ”rmiregistry” Instantiate a new object and register (bind it) in the ”rmiregistry” Implement all methods from interface Hello.java Implement all methods from interface Hello.java Extend UnicastRemote and implemet Hello Interfacet Extend UnicastRemote and implemet Hello Interfacet ”rmiregistry” is a simpel name server with methods to bind objects (bind/rebind) – and Find them again (lookup) –> client ”rmiregistry” is a simpel name server with methods to bind objects (bind/rebind) – and Find them again (lookup) –> client

9 package examples.hello; import java.rmi.Naming; import java.rmi.RemoteException; public class HelloClient { public static void main(String args[]) { try { Hello obj = (Hello)Naming.lookup("rmi://192.168.1.101/HelloServer"); String message = obj.sayHello(); System.out.println(message); } catch (Exception e) { System.out.println("HelloApplet exception: " + e.getMessage()); e.printStackTrace(); } ”lookup” the HelloServer – and call Method sayHello() on Stub ”lookup” the HelloServer – and call Method sayHello() on Stub Client object (HelloClient.java) Remember – that the stub and skeleton classes get generated by the ”rmic” compiler Remember – that the stub and skeleton classes get generated by the ”rmic” compiler AND THAT’S IT!

10 Architecture ServerClient Stub Registry Interfaces Skeleton Activation Interfaces RMI Runtime (rmid,rmiregistry) coded manually rmic generated bind lookup

11 Part 2: Web services: SOAP & WSDL

12 Web Service Defined W3C definition: [Definition: A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.]

13 Overview SOAP & Web services SOAP – Simple Object Access Protocol - & Web services: A light-weight & ultra heterogenic alternative to CORBA, DCOM & RMI Openness in focus – meant for opening legacy applications for others Not meant in the role of Inter business, large scale, transaction heavy communication (as CORBA & J2EE) No services for transactions, concurrency, persistence, scalability Discovery services (UDDI) giving some degree of location transparency Interface Definition Language for heterogeneity (WSDL) Fails on several of the dist. system requirements! But easy to implement yourself!

14 Why Web Services with SOAP When We Have CORBA? CORBA has been considered too complex by many May not be true with new development tools using wizards They aim at solving different tasks: SOAP covers light-weight application integration within the enterprise, exposing legacy business objects across enterprises, and sharing resources (like Google Search Engine, or Sonofon SMS/MMS API) on the net, as well as technology openness CORBA has a wide range of services for (as we have seen): Locating, creating & moving objects Object relationship management between hosts Persistency services – activation frameworks etc. Distributed concurrency and transaction management Security Only some are supported in SOAP tech family – its lightweight Lesson: define your needs – and find the right technology

15 Regarding SOAP SOAP is not by it self revolutionary – its merely: a framework for exchanging XML-based information in a network (via protocols of the TCP/IP family) – with RPC capabilities the currently most hyped XML / Web service technology But when combined with other technologies like WSDL & UDDI It solves several of the requirements of a Distributed System And the fact that it is an open standard – supported by all major software vendors and programming languages: C++ Java C# Delphi Visual Basic and many more Makes it somewhat revolutionary! A practical solution – like WWW

16 Examples of Web Services Google's Web Service - access the Google search engineGoogle's Web Service http://www.google.com/apis/ Amazon's Web Service - access Amazon's product informationAmazon's Web Service http://associates.amazon.com/exec/p anama/associates/join/developer/res ources.html XMethods - collection of information about existing Web servicesXMethods http://www.xmethods.com SalCentral - WSDL / SOAP Web services search-engineSalCentral http://www.salcentral.com/salnet/web serviceswsdl.asp

17 What is SOAP? Simple Object Access Protocol Wire protocol similar to IIOP for CORBA JRMP for RMI XML is used for data encoding “text” based protocol vs. “binary” protocol Supports XML-based RPC W3C XML Protocol working group SOAP 1.2 current version: http://www.w3.org/TR/soap12/http://www.w3.org/TR/soap12/ Microsoft, SUN, Oracle, HP, IBM all support the W3C recommendation but there are still differences to be overcome security issues, transactions etc.

18 SOAP Message Format Possible to Attach binaries (images, cryptographic material) to attachments

19 Request to HelloWorld.jws Input parameters type string HTTP Post Call HTTP Host Target Method name

20 … and the HTTP Response from Server HTTP Response Method Response Parameter value Parameter name Apache Tomcat Server Responding

21 How to make a Web service You need an application or API capable of supporting: Communication over the Internet (HTTP) XML Parsing capabilities Two examples of Application Servers with support: Apache Tomcat Application Server with AXIS Microsoft Internet Information Server JAX-RPC (JSR-101) Java™ API for XML-based RPC Need to implement features manually

22 WSDL the IDL of Web services WSDL is used for describing WebServices XML language for describing web services Web service is described as – A set of communication endpoints (ports) Endpoint is made of Abstract definitions of operations and messages Concrete binding to networking protocol and message format

23 HelloWorld.jws?wsdl

24 Tools Generate WSDL document from existing Java classes or EJB components AXIS: Java2WSDL Generate SOAP messages from WSDL document (via client stub and server skeleton) JAX-RPC, Forte for Java, JBuilder, JDeveloper

25 SOAP and Distributed Objects SOAP in it self has nothing to do with objects There is SOAP API’s for C and COBOL The trick is the supporting API’s converting objects to WSDL and SOAP for serialization across the network Using the Proxy Pattern for decoupling – perhaps with the Façade Pattern for larger granularity

26 Example Java Client (AXIS Framework) package hello; public class HelloWorldClient { public static void main (String args[]) throws Exception { // Make a service HelloWorldService service = new HelloWorldServiceLocator(); //Now use the service to get a stub which implements the SDI HelloWorld stub = (HelloWorld) service.getHelloWorld(); String text = stub.getHelloWorldMessage("Test af OO indpakning"); System.out.println(”Recieved from server: "+text); } Start by generating the Clients stub given the WSDL (-p = destination package = hello): java org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/HelloWorld.jws?wsdl –p hello

27 Heterogeneous system C# to Java Proxy DLL stub generated by VS Proxy skeleton class generated by AXIS // Hello World.Java public class HelloWorld { public HelloWorld() { } public String getHelloWorldMessage(String name) { return "Hello World to "+name; } private void button1_Click(object sender, System.EventArgs e) { localhost.HelloWorldService hello = new localhost.HelloWorldService(); textBox1.Text = hello.getHelloWorldMessage("Stefan"); } C# to Java Add Web Reference: We need to generate a new Proxy DLL Other way around works as well Proxy: if we are not using.JWS deployment, we need to generate the skeleton classes in AXIS as well

28 Web Service Support Windows COM, Win32, C++/ATL,.NET (CLS e.g. C#), Java Windows CE eC++/eVB,.NET CF (CLS e.g. C#) UNIX / LINUX C++, Java Mobile Devices: C++ based Frameworks JME CLDC MIDP 2.0 JSR 172 Web PHP, ASP.NET, JSP/Servlets

29 Part 3: COM/DCOM

30 Goals of COM Binary encapsulation Clients do not have to be re-compiled if server objects change Binary compatibility Client and server objects can be developed with different development environments and in different languages Access & Location transparency in-process cross-process cross-machine Zero sacrifice in-proc performance Simplest model possible Enable extensibility and adaptability To provide a component object model that facilitates: Almost exactly what the.NET Frameworks handles Microsoft recommends -> use.NET not COM Is still a major part of Win32 operating systems incl..NET

31 The COM Runtime COM is a proprietary Microsoft standard But other companies have implemented COM on other platforms (e.g. Software AG on Unix) Highly debugged and tuned The COM Runtime first shipped in 1993 Used by 1000s of commercial applications DCOM first released in Windows NT 4.0, August 1996 Win95 version released January 1997 COM/DCOM Available today on Win95, Win98 and WinME NT, Win2K and XP, Windows CE Solaris, HPUX, Linux, MVS, VMS, Mac and others Free! (Built-into Win32 Platforms) No separate client access license or expensive “developer” version Full source code licensable

32 COM History COM is some what tainted by its legacy 16 bit OLE 1.0: for advanced clipboard (replacing DDE) 16 bit OLE 2.0: more advanced -> introducing COM Visual Basic VBX: for extending Visual Basic with e.g. C++ and other components -> later OCX OLE Controls (OCX): container implemented in DLL 32-bit OLE: NT 3.51 (an shortly after Windows 95). An inter- process infrastructure was build on MS-RPC Network-OLE: pre NT 4.0 (name dropped) COM & DCOM: NT 4.0 ActiveX: light weight OLE Controls for e.g. Web pages. Can be written in C++, Delphi, VB COM+: Final step of COM

33 COM is not C++ objects COM is a Component Model Distributed middleware features are only spin-off And as as such is very different from C++ The Binary component makes the difference Implemented as a DLL or an EXE (Service or stand- alone) Like CORBA it uses an IDL language for decoupling (MIDL) A descendent of RPC/IDL with extensions

34 From COM to DCOM “DCOM is just COM with a longer wire” ;-) It’s possible to configure even an in-proc COM-server DLL to be accessed from a remote PC But there are differences: New kind of errors Slower response times Security becomes a very important subject No GUI - server objects can’t access GUI on Client Marshalling necessary – done in proxy-stub-DLL

35 Client Component In the same process Fast, direct function calls Client Component COM Client Process Server Process On the same machine Fast, secure IPC Across machines Secure, reliable and flexible DCE-RPC based DCOM protocolCOM DCE RPC Client Server Machine Client Machine COM Component Accessing COM Services

36 DCOM Access Transparency All COM components communicate in the same way on the same machine In-process or Out-of-process across a Local Area Network across a Wide Area Network across the Internet Same tools, knowledge, code

37 DCOM Wire Protocol Wire Protocol Based on DCE RPC Specification Interoperable with OSF DCE RPC implementations MS call it “ORPC” Efficient and Scalable Documented in Internet-Draft (ftp://ietf.org/internet-drafts/draft-brown-dcom- v1-spec-01.txt)

38 DCOM How to activate a server Like all COM communication, everything starts when the client requests an interface from a server. In DCOM, the client calls CoCreateInstanceEx(), passing in a description of the server computer and requesting a class identifier (CLSID) and Interface This request is handled by the Service Control Manager (SCM), which is a part of Windows. The SCM is responsible for the creation and activation of the COM object on the server computer In the case of DCOM, the SCM will attempt to launch the server on the remote computer (by contacting the SCM on the remote machine)

39 DCOM System Relationships Once the remote COM server has been created, all calls will be marshaled through the proxy and stub objects. The proxy and stub communicate using RPCs (Remote Procedure Calls), which handle all the network interaction. On the server side, the stub object takes care of marshaling. On the client, the proxy does the work. The standard RPC protocol is UDP (User Datagram Protocol). UDP is a connectionless protocol, which seems like a bad fit for a connection-oriented system like DCOM. This isn't a problem however; DCOM automatically takes care of connections.

40 The Server Doesn't Change (much) Any COM server that runs as a program (EXE) will work across a network. In general, you don't have to make any changes to a server to get it to work for DCOM. You may, however, want to add some security to your server, which will involve some effort. If you're using an in-process server (DLL), you will need to make some changes. An in-process server is a DLL, which can't load across a network. A DLL loads into the client program's address space, which will not work for remote connections. There is a work-around called a surrogate, which wraps the DLL in an executable program However, it is usually more appropriate to change the server DLL over to an EXE.

41 COM Support Windows Full COM Support Make COM objects in C++ Use VB, Delphi, PHP, JavaScript, Java to call COM.NET CLS languages has full COM wrapper support Windows CE No DCOM support UNIX / LINUX Some proprietary distributions exist Assumable not easy to implement

42 Læringsmål Alignment Når kurset er færdigt forventes den studerende at kunne: Definere, beskrive og sammenligne forskellige typer af objektorienterede middleware frameworks til apparater og computere, med primær fokus på CORBA og sekundært.NET Remoting teknologierne, herunder fordele og ulemper forbundet med de forskellige teknologier Definere og beskrive principper omkring transparens og heterogenitet i relation til middlewareteknologier Definere og beskrive gængse teorier, metoder og retningslinier indenfor det objektorienterede middleware paradigme og anvende disse til at designe effektive distribuerede systemer Designe og konstruere et distribueret system der gør brug af CORBA og.NET Remoting teknologierne med tilhørende værktøjssupport Med dagens intro Til DCOM, Java RMI, Web Services, WCF, skal I kunne redegøre for forskelle og ligheder, styrker, svagheder, i forhold til CORBA og.NET Remoting. Med dagens intro Til DCOM, Java RMI, Web Services, WCF, skal I kunne redegøre for forskelle og ligheder, styrker, svagheder, i forhold til CORBA og.NET Remoting. Det forventes ikke at I kan redegøre for DCOM, Java RMI, Web services, WCF i detaljer og med kodeeksempler. Kun forstå hvornår de kan bruges fremfor CORBA og.NET Remoting, og hovedprincipperne bag Det forventes ikke at I kan redegøre for DCOM, Java RMI, Web services, WCF i detaljer og med kodeeksempler. Kun forstå hvornår de kan bruges fremfor CORBA og.NET Remoting, og hovedprincipperne bag

Presentation on theme: "K.TOP 2005 Multi-Thread 2005/1/29 Delphi Win32 API 版僕 SouthWind."— Presentation transcript:

 Presentation on theme: "K.TOP 2005 Multi-Thread 2005/1/29 Delphi Win32 API 版僕 SouthWind."— Presentation transcript:

1 K.TOP 2005 Multi-Thread 2005/1/29 Delphi Win32 API 版僕 SouthWind

2 Multi-Thread 概述 (1) Time Slice Schedule Code Execute

3 Multi-Thread 概述 (2) Stack Thread Global Heap Stack Thread Stack Thread Process

4 Multi-Thread Communication Stack Thread Global 變數 Stack Thread Stack Thread MessageSignal

5 Multi-Thread 難題  Racing Condition  Dead Lock

6 Racing Condition 原因  Global Resource  非 Atomic Execute var4 = (var1 + var2) * var3 mov eax,var1 add eax,var2 mul var3 mov var4,eax

7 避免 Racing Condition  Protect Global Resource  Synchronization

8 Synchronization Technology :  Mutex  Critical Section  Semaphore  Event  Interlocked or Atomic API  Spin Lock  Wait For Object API

9 Dead Lock 原因  設計不良。  不可預期的異常發生。

10 避免 Dead Lock  Time Out 機制  清晰的邏輯  Dead Lock detection

11 Delphi & Multi-Thread  VCL  Synchronize()

12 VCL  Non-UI VCL  UI VCL  絕大多數的 VCL 元件, 都是 thread none- safe  需要自行設計同步機制保護。

13 Synchronize()  利用 Message 的技巧, 使得 Synchronize() 可以切換至 Main Thread 執行。  快速方便的同步機制

14 Synchronize() Road Map

15 Synchronize() 的誤用  Synchronize() 內執行過長的 Code, 造成 Thread 效益消失或效率不彰。  Synchronize() + Wait For Object 系列 API, 容易產生 Dead Lock 。

16 Multi-Thread 設計小建議  深刻的了解 Multi-Thread 原理與機制。  熟悉善用各種同步機制。  謹慎使用 Synchronize(), 尤其注意有 Wait For Object 系列 API 。  分析同步區執行時間的長短, 以決定最佳的 同步機制。

17 Win32 API (Multi-Thread)  CreateThread  SuspendThread  ResumeThread  TerminateThread  SetThreadPriority  WaitForSingleObject  WaitForMultipleObjects

18 Win32 API (Synchronization)  InitializeCriticalSection  EnterCriticalSection  LeaveCriticalSection  DeleteCriticalSection  CreateMutex  ReleaseMutex  CloseHandle

19 Win32 API (Synchronization)  InterLockedIncrement  InterLockedDecrement  InterLockedExchange  InterLockedExchangeAdd  CreateSemaphore  ReleaseSemaphore  CloseHandle

20 Win32 API For Synchronization Example Download Demo Program From K.TOP :  Racing Condition  Critical Section  Mutex  Semphore

21 Delphi & Multi-Thread (1)  TThread Class  TThread.Suspend Method  TThread.Resume Method  TThread.Terminate Method  Synchronize()  [threadvar]

22 Delphi & Multi-Thread (2)

23 Delphi K.TOP  【 Delphi 】【發表】 Multi-Thread 簡報 Demo 範例程式 http://delphi.ktop.com.tw/topic.asp?TOPIC_ID=64439 【 Delphi 】【發表】 Multi-Thread 簡報 Demo 範例程式  Multi-thread / Process 的工作分配 [ 利用 Timer 與 Semaphore] http://delphi.ktop.com.tw/topic.asp?TOPIC_ID=62971 http://delphi.ktop.com.tw/topic.asp?TOPIC_ID=62971  【問題】多執行緒 ( 均帶無窮迴圈 ) 能同時執行嗎 ? http://delphi.ktop.com.tw/TOPIC.ASP?TOPIC_ID=59940 http://delphi.ktop.com.tw/TOPIC.ASP?TOPIC_ID=59940  【 Delphi 】【問題】 WaitForMultipleObjects 的問題.. http://delphi.ktop.com.tw/TOPIC.ASP?TOPIC_ID=50545 【 Delphi 】【問題】 WaitForMultipleObjects 的問題..

24 Reference  Win32 API 系統程式實例入門 ( 博碩 )  Inside VCL ( 旗標 )  Programming in Delphi

25 敬請指教 野人獻曝, 若有謬誤, 請各位先進不吝指導。

2022年8月12日 星期五

Screen Capture API capture window delphi Desktop Duplication API for Delphi Tokyo

 https://github.com/tothpaul/Delphi/tree/master/DesktopDuplicationAPI

https://www.delphibasics.info/home/delphibasicssnippets/screencapturewithpurewindowsapi

 https://stackoverflow.com/questions/27024554/capture-screenshot-from-selected-minimized-window

 https://github.com/z505/screenshot-delphi

  Capture the Screen Shot of the Active Window

https://stackoverflow.com/questions/661250/how-to-take-a-screenshot-of-the-active-window-in-delphi

https://sourceforge.net/directory/os:windows/?q=delphi+screen+capture

2022年7月29日 星期五

delphi procedure Handling Messages

 

https://stackoverflow.com/questions/35207639/is-possible-to-use-messages-in-a-class-procedure
https://docwiki.embarcadero.com/RADStudio/Sydney/en/Declaring_a_New_Message-handling_Method
procedure WMPaint(var Msg: TWMPaint); message WM_PAINT;

 
procedure TForm1.WMPaint(var Msg: TWMPaint);
begin
 Beep;
 inherited;
end;

procedure WndProc(var msg: TMessage);

TApplicationEvent
TApplicationEvents.OnMessage
https://github.com/RRUZ/Delphi-IDE-Colorizer/blob/master/IDE%20PlugIn/Galileo/TApplicationEvents.pas

 http://etutorials.org/Programming/mastering+delphi+7/Part+IV+Delphi+the+Internet+and+a+.NET+Preview/Chapter+25+Delphi+for+.NET+Preview+The+Language+and+the+RTL/New+Delphi+Language+Features/

 https://www.syncfusion.com/succinctly-free-ebooks/delphi/object-oriented-programming-with-delphi

SetIncludeExclude (Delphi)
Description


Include(EventProp, eventHandler);
Exclude(EventProp, eventHandler);

 Multicast Events

Delphi has always had the ability to set an event listener— 

https://www.cynet.com.tw/learning/Delphi/Delphi_Basic/049.htm

  Const

WM_MYFIRSTMESSAGE=WM_USER+0;

WM_MYSECONDMESSAGE=WM_USER+1;

 

 

https://docs.microsoft.com/zh-tw/windows/win32/winmsg/message-and-message-queue-functions

 Adventures  Delphi   Messaging TWinControl message Perform WM_USER

 

2022年7月28日 星期四

Removes an element from a Delphi set.

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

 http://www.delphibasics.co.uk/RTL.asp?Name=include&ExpandCode1=Yes

 

 

2022年7月27日 星期三

delphi record file stored in a File type

 https://docwiki.embarcadero.com/Libraries/Alexandria/en/System.TFileRec

 

 How to Add Resource Files in Delphi Executables

 https://www.thoughtco.com/inside-the-delphi-exe-1058211

 Use Delphi Pascal to dynamically add data to an executable file | How to

 https://delphidabbler.com/articles/article-7

 https://www.delphipraxis.net/144310-save-record-blob.html

 https://www.delphipower.xyz/guide_5/loading_data_from_and_saving_data_to_files.html

 https://www.thoughtco.com/create-database-delphis-file-typed-files-1058003

 https://github.com/KrystianBigaj/kblib

 https://stackoverflow.com/questions/3820996/delphi-2010-how-to-save-a-whole-record-to-a-file

 http://www.delphicorner.f9.co.uk/articles/apps6.htm

Delphi Corner Article - Working with Files of Records

https://blog.karthisoftek.com/a?ID=01550-94385f1c-6cdf-4f1f-86d0-3b28d8d07222

2022年7月25日 星期一

ListView ViewStyle: vsIcon,vsList,vsReport,vsSmallIcon

 http://mrxray.on.coocan.jp/Delphi/plSamples/790_ListView.htm

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

delphi ListView AddGroupItem

https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Mobile_Tutorial%3A_Using_ListBox_Components_to_Display_a_Table_View_%28iOS_and_Android%29

 

12-1. 檔案總管的介面 表單檢視元件(ListView) 範例12-1
在範例12-1,我們的介面相當簡單,除了一個輸入資料的介面外,就是一個ListView。除了提到這些可看見的VCL元件外,我們還有放入一個Popup menu以及一個ImageList在這個範例中。Popup menu主要是提供滑鼠右鍵的功能選單,,而ImageList則是要提供一些Image給ListView使用。  



var
  item: TListItem;
  I:integer;
begin
  listView1.ViewStyle := vsReport;// Set ListView as report form
     listView1.Columns.Add; // add 1 column
     listView1.Columns.Add; // add another column
     listView1.Column[0].Caption :='Serial Number'; // First column title
     listView1.Column[1].Caption :='Name'; // The second column title
     // Start filling the memory of this table below
     // Each row of TListView is a TListItem object
     item := listView1.Items.add; //Add a line, that is, add a TListItem object, and the Add function returns this TListItem object.
     item.Caption := '1'; // The caption of the TLisItem object represents the first column of this row, that is, the first row and first column of the serial number column in your icon
     // The SubItems of the TListItem object is a collection of strings, that is, the second to N columns of the row
     item.SubItems.Add(' bian'); // Add the data in the first row and second column, which is the value of the name column
  // ........
     // Repeatedly add Columns and TListItem and its subitem to fill a table
for I:=0 to 13 do
begin
   listView1.Items[i]:= '10'; // modify the first row and the first column
     listView1.Items[i].SubItems[0]:='Zhang San'; // Modify the first row and second column
     listView1.Items[i].SubItems[1]:='100 years old'; // modify the first row and the third column
     listView1.items[i].subitems[2]:='110';//modify the first row and the fourth column
end;
end;

2022年7月23日 星期六

Delphi Compatibility Macros - RAD Studio

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

 OPENARRAY

#define OPENARRAY(type, values) \
   OpenArray<type>values, OpenArrayCount<type>values.GetHigh()

The OPENARRAY macro can be used as in the following example:

myProc(OPENARRAY(TVarRec,(1, 2, 3, 4, 5)))
      //in which case the expanded code looks like:
myProc(OpenArray<TVarRec>(1, 2, 3, 4, 5), OpenArrayCount<TVarRec>(1, 2, 3, 4, 5).GetHigh())
     //which corresponds to what Delphi methods expect.

The same technique is used for the rest of the macros.

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

 https://docs.devart.com/unidac/work_macros.htm

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2022年7月20日 星期三

ShellExecute url delphi Web browser

 

 https://stackoverflow.com/questions/10154543/opening-webpage-in-default-browser-with-double-quotes-inside-url

 ShellExecute  launch  default Web browser

 

http://delphiprogrammingdiary.blogspot.com/2014/07/shellexecute-in-delphi.html

 https://blog.csdn.net/zisongjia/article/details/105252322

 https://stackoverflow.com/questions/2842452/open-default-browser-with-a-post-in-delphi

https://www.cryer.co.uk/brian/delphi/howto_openbrowserurl.htm

    ShellExecute(self.WindowHandle,'open','www.cryer.co.uk',nil,nil, SW_SHOWNORMAL);

If the URL is not hard coded but held in a string, then it will need to be explicitly passed as a PChar:

    ShellExecute(self.WindowHandle,'open',PChar(url),nil,nil, SW_SHOWNORMAL);

 

Scrapy tools Web Crawlers Automated Webbots

 https://startupstash.com/web-crawler-tools/

 Scrapy Python: How to Make Web Crawler in Python | DataCamp

https://www.datacamp.com/tutorial/making-web-crawlers-scrapy-python

python Scrapy bot  tools  Web Crawlers Automated   Webbots

2022年7月9日 星期六

icecream Orchis mascula (Nordens Flora) Orchis salep Salep üretimi toplama kurutma tüm aşamaları

 https://youtu.be/Ui-fiCNpGcM

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

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

 salep ice cream

High viscosity  salep maltose honey starch

 High viscosity  salep

 https://www.rheologylab.com/articles/rheology-v-viscosity/

2022年7月1日 星期五

ไม้ไผ่ บ้านไม้ไผ่ cây tre Nhà tre Building Bamboo House Duck Farming ไอเดียบ้านไม้ไผ่ โครงสร้างแข็งแรงใช้วัสดุทนทานได้มาตรฐาน

  ไอเดียบ้านไม้ไผ่ โครงสร้างแข็งแรงใช้วัสดุทนทานได้มาตรฐาน

https://www.baanlaesuan.com/164702/ideas/house-ideas/bamboo-2

2022年6月29日 星期三

Transparent lignin pressure Delignification Maryland Super wood could replace steel hydroxide Lignin-Retaining Transparent Wood

 Transparent  lignin pressure Delignification

 

 https://www.industrytap.com/scientists-create-super-wood-strong-steel/44868

 

 https://www.nature.com/articles/s41598-020-66916-8

Maryland  Super wood could replace steel hydroxide 

The wood is first boiled in a liquid mix of sodium hydroxide and sodium sulfite to partially remove lignin


https://chemistry-europe.onlinelibrary.wiley.com/doi/10.1002/cssc.201701089

Measurement of moisture-dependent ion diffusion constants in wood cell wall layers using time-lapse micro X-ray fluorescence microscopy


remove lignin acetate ester  h2o2

2022年6月25日 星期六

AES implementations | Crypto Wiki | Fandom

 https://cryptography.fandom.com/wiki/AES_implementations#Delphi

2022年6月23日 星期四

ss7 tracking location hide mcc mnc lac How to find the Cell Id location with MCC, MNC, LAC and CellID (CID). CellTower Locator Track down a GSM/WCDMA/TD-LTE/FDD-LTE cell phone online using LAC (Location Area Code) and Cell ID ,track down a CDMA/CDMA2000 cell phone online using SID,NID and BID, and display its location on Maps.

 https://cellidfinder.com/articles/how-to-find-cellid-location-with-mcc-mnc-lac-i-cellid-cid

boost spirit lex ractical grammars parser Lex - Writing Lexical Analyzers Boost C++ Libraries

 https://valelab4.ucsf.edu/svn/3rdpartypublic/boost/libs/spirit/doc/html/spirit/lex/lexer_introduction.html

biometrics face facial recognition jaston Delphi Magic: Reconocimiento de caras con Delphi

 https://delphimagic.blogspot.com/2011/08/reconocimiento-de-caras-con-delphi.html

delphi opf dfm database generated from frame delphi opf orm livebindings

 https://stackoverflow.com/questions/667891/runtime-changeable-orm-opf-object-persistence-framework-for-delphi

 tiOPF
    
Free, Open Source Object Persistence Framework for
Free Pascal & Delphi

http://tiopf.sourceforge.net

 http://tiopf.sourceforge.net/Support.shtml

 https://www.json.org/json-en.html

https://sourceforge.net/projects/lkjson/

https://github.com/EtheaDev/InstantObjects 

delphi  dfm database generated   livebindings

Autocomplection in RichEdit Control Word recognition RichEdit RichText Editor RichTextEditor RichEditBox

 https://www.codeproject.com/Articles/2557/Autocomplection-in-RichEdit-Control

Receive Windows Messages In Your Custom Delphi Class – NonWindowed Control/Object Žarko Gajić

 https://zarko-gajic.iz.hr/receive-windows-messages-in-your-custom-delphi-class-nonwindowed-control-object/

 

WM_MY_APP_MESSAGE := RegisterWindowMessage('MSG_MY_APP_MESSAGE');

Ploting

 https://github.com/maxkleiner/maXbox3

http://www.softwareschule.ch/maxbox.htm

maXbox a script tool engine, compilerlib all in one exe! Build to teach/ develop under Windows and Linux (CLX) to set Delphi with no install. maXbox has RemObjects PascalScript smart code. With include,events print, decompile, syncheck, templates, VM-, and DLL support. +Indy,Jedi,CGI,DMath,CAI,FLC5 & Systools.4.0 with CryptoBox4 and ComPort for Arduino!, OS Lib mX4- Build mX4.7.6.10
maXbox Pure Code Blaise Pascal Mag


rxlib/units/RxVCLUtils.pas
old-delphi-codes/Vclutils.pas at master - GitHub

{ Windows API level routines }

procedure StretchBltTransparent(DstDC: HDC; DstX, DstY, DstW, DstH: Integer;
  SrcDC: HDC; SrcX, SrcY, SrcW, SrcH: Integer; Palette: HPalette;
  TransparentColor: TColorRef);
procedure DrawTransparentBitmap(DC: HDC; Bitmap: HBitmap;
  DstX, DstY: Integer; TransparentColor: TColorRef);
function PaletteEntries(Palette: HPALETTE): Integer;
function WindowClassName(Wnd: HWnd): string;
function ScreenWorkArea: TRect;
{$IFNDEF WIN32}
procedure MoveWindowOrg(DC: HDC; DX, DY: Integer);
{$ENDIF}
procedure SwitchToWindow(Wnd: HWnd; Restore: Boolean);
procedure ActivateWindow(Wnd: HWnd);
procedure ShowWinNoAnimate(Handle: HWnd; CmdShow: Integer);
procedure CenterWindow(Wnd: HWnd);
procedure ShadeRect(DC: HDC; const Rect: TRect);
procedure KillMessage(Wnd: HWnd; Msg: Cardinal);

{ Convert dialog units to pixels and backwards }

function DialogUnitsToPixelsX(DlgUnits: Word): Word;
function DialogUnitsToPixelsY(DlgUnits: Word): Word;
function PixelsToDialogUnitsX(PixUnits: Word): Word;
function PixelsToDialogUnitsY(PixUnits: Word): Word; 

 

https://www.twblogs.net/a/5b8887032b71775d1cdcd7ec

OffsetWindowOrgEx MoveWindowOrg GetViewportOrgEx OffsetViewportOrgEx

https://docs.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-offsetwindoworgex

https://docs.microsoft.com/zh-tw/windows/win32/api/wingdi/nf-wingdi-offsetwindoworgex

 

Date and Time Functions System.Diagnostics.TStopwatch

 http://agnisoft.com/delphi/jclhelp/Date.htm

https://docwiki.embarcadero.com/Libraries/Alexandria/en/System.Diagnostics.TStopwatch 

Project JEDI Code Library (JCL) - TJclCounter.

http://agnisoft.com/delphi/jclhelp/

coordinates Graph delphi Plotting

 coordinates Graph delphi

 

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

 http://www.davdata.nl/math/functionplotting.html

 https://www.delphipower.xyz/dotnet_2/windows_coordinate_system.html

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

 http://science4all.nl/?Programming___Delphi

 https://www.dplot.com/software-developers.htm

 https://www.chiefdelphi.com/t/shuffleboard-coordinate-display/352304

http://helpcentral.componentone.com/docs/c1chart2d/frequencygraph1.htm

https://wiki.lazarus.freepascal.org/TAChart_documentation

https://sourceforge.net/directory/?q=delphi%203d%20plot

https://github.com/MaiconSoft/DelphiBoostLib

https://rosettacode.org/wiki/Plot_coordinate_pairs#Delphi

http://sheepdogguides.com/dt3t.htm


free pascal category chatting plot

https://wiki.freepascal.org/Networking

https://wiki.freepascal.org/Category:Charting

 https://wiki.freepascal.org/TAChart_Tutorial:_Userdefined_ChartSource

 https://wiki.freepascal.org/PlotPanel

This page contains proposals and ideas, which have lead to the current implementation and for further features.

https://wiki.freepascal.org/Generics_proposals


Orthogonal Coordinate Systems
(coordinates mutually perpendicular)
Spherical Coordinates
Cylindrical Coordinates
Cartesian Coordinates


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

https://docs.microsoft.com/en-us/windows/win32/gdiplus/-gdiplus-types-of-coordinate-systems-about

http://www.functionx.com/bcb/gdi/gdicoord.htm

https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.Controls.MoveWindowOrg



Spherical coordinate system and corresponding unit vectors

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

https://www.mdpi.com/2218-6581/11/2/30/htm


DMath DirectXMath delphi vector Plotting

 https://stackoverflow.com/questions/5717829/where-can-i-get-a-delphi-pascal-implementation-of-excel-style-polynomial-regress

 https://github.com/Microsoft/DirectXMath

 http://directxfordelphi.blogspot.com/

https://github.com/CMCHTPC/DirectXMath 


https://stackoverflow.com/questions/8951509/modern-opengl-vbo-glm-and-matrix-stacks

OpenGL Mathematics  GLM math

https://wiki.freepascal.org/LMath

GLScene is an OpenGL based 3D library for Delphi and C++Builder. It provides visual
http://glscene.sourceforge.net/wikka/

https://www.codeproject.com/Articles/23736/Creating-OpenGL-Windows-in-WPF

https://github.com/arkanis/single-header-file-c-libs

http://vmml.github.io/vmmlib/
vmmlib - a templatized C++ vector and matrix math library
Its basic functionality includes a vector and a matrix class, with additional functionality for the often-used 3d and 4d vectors and 3x3 and 4x4 matrices.

https://github.com/Microsoft/DirectXMath

https://www.g-truc.net/project-0016.html
OpenGL Mathematics (GLM)
OpenGL Mathematics (GLM) is a C++ mathematics library for 3D software based on the OpenGL Shading Language (GLSL) specification.

https://www.freepascal.org/docs-html/rtl/math/index-5.html
https://www.freepascal.org/docs-html/rtl/math/index.html

GLScene VectorGeometry.pas
https://github.com/cutec-chris/GLScene/blob/master/Source/glscene.inc
https://github.com/cutec-chris/GLScene/blob/master/Source/glzbuffer.pas


https://github.com/topics/matrix-functions?l=c%2B%2B













2022年6月22日 星期三

Scientific vector plot math graph library Scientific Grapher Calculator Scientific Grapher Plotting

 https://listoffreeware.com/best-free-scientific-graph-software-windows/

 https://www.ilovephd.com/5-free-data-analysis-and-graph-plotting-software-for-thesis/

https://en.cppreference.com/w/cpp/links/libs

Scientific graphic calculator Plotting

  Scientific graphic calculator Plotting

http://jmn-lib.sourceforge.net/jmn_lib.htm#Parser0

https://second.wiki/wiki/atcalc
https://en.smath.com/view/SMathStudio/summary



 

TMathParser TPSScript  pascal


https://wiki.freepascal.org/Pascal_Script_Examples


https://sourceforge.net/projects/atcalc/
http://metamorphs.blogspot.com/2013/12/electronic-calculations-ecalcs.html



http://jmn-lib.sourceforge.net/jmn_lib.htm#Parser0

https://www.datamaster2003.com/






JVCL (JEDI Visual Component Library) : http://www.delphi-jedi.org/. Check dxgettext support.
SynEdit of several authors: http://synedit.sourceforge.net.
TExtendedList of Sébastien Doeraene's SJRDUnits: http://sjrd.developpez.com/. You can use the version that is attached with my source.
Apprehend Screen Capture of William Miller: http://www.hicomponents.com/apprehend/Apprehend.htm.
For database programs:
tDBF component for Delphi: https://sourceforge.net/projects/tdbf/
ZeosDBO-6.6.5-stable from Zeos Development Group: http://www.sourceforge.net/projects/zeoslib
For some database programs also are recommended:
(c) TeeChart Pro v5 from David Berneda: http://www.steema.com
(c) QuicReport Pro de QuSoft: http://www.qusoft.com
It is not required:
(But used):
ImageFileLib of Michael Vinther: http://www.logicnet.dk/lib/
TGIFImage of Finn Tolderlund: http://www.tolderlund.eu/delphi/
TPMath of Jean Debord: http://www.unilim.fr/pages_perso/jean.debord/tpmath/tpmath.htm
HTMLHelpViewer de Jan Goyvaerts: http://download.jgsoft.com/helpscribble/UseHTMLHelp.zip

2022年6月21日 星期二

Pascal XE Pascal XE is an IDE for Pascal programming, it is user friendly and designed specially for beginners in programming. Pascal XE includes 3 free compilers: - Virtual Pascal Compiler 2.1.279 (default) - Free Pascal Compiler 3.0.4 - GNU Pascal Compiler 20070904

 https://sourceforge.net/projects/pascalxe/

Quartex Pascal – Research and development for the next generation object pascal

 Quartex Pascal – Research and development for the next generation object pascal

Welcome to the official website for Quartex Pascal, an exciting Object Pascal development toolchain for writing modern, HTML5 and node.js powered applications.

Quartex Pascal (short: QTX) is an object pascal IDE, compiler, run-time library and development system. Unlike traditional, native development systems, such as C/C++, Delphi or Freepascal, QTX generates high performance JavaScript – allowing developers to tap into web technology and enjoy the full might of modern mobile, desktop and server development.

 https://jonlennartaasenden.wordpress.com/2021/10/05/quartex-pascal-nearing-completion/

https://quartexpascal.wordpress.com/ 

https://jonlennartaasenden.wordpress.com/category/quartex-pascal/

wscript.shell delphi mrxray VBScript を操作 PowerShell を使用する

 http://mrxray.on.coocan.jp/Delphi/plSamples/950_VBScript.htm

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10170636575 

 

Set objWS = WScript.CreateObject ("WScript.shell")

https://msdn.microsoft.com/ja-jp/library/cc422072.aspx

http://mrxray.on.coocan.jp/Delphi/plSamples/490_CmdPrompt1.htm#06

http://www14.big.or.jp/~ken1/tech/tech15.html

2022年6月19日 星期日

win32 call net dll pinvoke vbscript How to Call a .NET DLL from a VBScript

 

 

 

 

 ExtendedProperties object - MicrosoftDocs/win32 - GitHub
https://github.com › docs › SecCrypto › e...
 
Instead, use Platform Invocation Services (PInvoke) to call the Win32 API function ... NET Cryptography with CAPICOM and P/Invoke may also be helpful.].

 

 

https://stackoverflow.com/questions/1823466/how-to-call-a-net-dll-from-a-win32-process

 https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-1.1/eew13bza(v=vs.71)?redirectedfrom=MSDN

You can use registration-free COM with .NET COM components - see here.

Another option is to use C++/CLI as a bridge. People are mostly familiar with using it to wrap unmanaged APIs to expose to managed code, but it actually works both ways - it is possible to compile with /clr, and yet produce a .dll assembly with plain unmanaged exports, which can be called from unmanaged code as usual. Here's a very simple example that exposes System::String::ToUpper that way:

 

 https://docs.microsoft.com/en-us/dotnet/framework/interop/registration-free-com-interop?redirectedfrom=MSDN

https://docs.microsoft.com/en-us/archive/msdn-magazine/2006/august/clr-inside-out-clr-hosting-apis

https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-1.1/eew13bza(v=vs.71)?redirectedfrom=MSDN


https://www.codeproject.com/Questions/613693/Creating-a-Win32-DLL-and-calling-from-a-NET-Applic


http://www.blong.com/Articles/DotNetInteropD8/Interop1/Win32AndDotNetInterop.htm


https://www.nuget.org/packages/PInvoke.Win32/


https://github.com/dotnet/pinvoke

https://blog.lindexi.com/post/%E6%8E%A8%E8%8D%90%E5%AE%98%E6%96%B9%E5%BC%80%E6%BA%90-PInvoke-%E5%BA%93-%E5%8C%85%E5%90%AB%E5%A4%A7%E9%87%8F-win32-%E5%B0%81%E8%A3%85.html


https://stackoverflow.com/questions/57501366/how-to-access-pinvoke-dll-from-dll-com-c-sharp-project

 https://msdn.microsoft.com/en-us/ie/aa288468(v=vs.94)
 https://msdn.microsoft.com/en-us/ie/system.runtime.interopservices.dllimportattribute(v=vs.94)
 http://pinvoke.net
https://www.mono-project.com/docs/advanced/pinvoke/

https://stackoverflow.com/questions/54537513/calling-iswowprocess2-from-c-sharp-net-p-invoke

pinvoke win32 call net Framework
https://github.com/lucasg/Dependencies
Between C# and C++: COM Interop, Marshaling, PInvoke and DLL Communitation
    What is the difference between pInvoke and COM Interop?
    Example COM Class (C# Programming Guide)
    平台叫用 (P/Invoke)https://docs.microsoft.com/zh-tw/dotnet/standard/native-interop/pinvoke
    Platform Invoke (P/Invoke) (上一個英文版)https://docs.microsoft.com/en-us/dotnet/standard/native-interop/pinvoke

https://flylib.com/books/en/2.31.1/com_interop_pinvoke.html


https://stackoverflow.com/questions/71378349/how-do-i-call-a-net-core-6-0-dll-in-delphi

https://stackoverflow.com/questions/13839372/how-to-return-an-error-from-tcomobjectfactory-createcomobjectconst-controller

https://github.com/dotnet/runtime/issues/61231

https://www.codeproject.com/Tips/1038605/NET-Runtime-Library-for-Delphi

pinvoke win32 call net  delphi TComObject

http://www.blong.com/conferences/dcon2003/internals/profiling.htm

https://stackoverflow.com/questions/96042/whats-safecall

round rect Corner button rectangular region rounded corners Round Border CreateRoundRectRgn rectangular region rounded corners.

  round rect Corner button rectangular region rounded corners Round Border

The CreateRoundRectRgn function creates a rectangular region with rounded corners.
CreatePolyPolygonRgn
CreatePolygonRgn
CreateRectRgn
CreateRectRgnIndirect
DeleteObject
ExtCreateRegion
GetRegionData
Region Functions
Regions Overview
SelectObject

https://stackoverflow.com/questions/11675374/how-to-make-tframe-with-rounded-corners
https://github.com/pauloalvis/Delphi-PraButtonStyle

https://stackoverflow.com/questions/28486521/rounded-edges-in-button-c-sharp-winforms
https://stackoverflow.com/questions/21121968/how-do-i-create-button-with-rounded-corners-edges-on-winform-c
https://stackoverflow.com/questions/5755719/rounded-and-titled-tpanel-in-delphi-7
https://stackoverflow.com/questions/11675374/how-to-make-tframe-with-rounded-corners
https://stackoverflow.com/questions/42345751/firemonkey-hide-overflow-of-round-corners-using-stylebook
https://stackoverflow.com/questions/61159652/is-there-a-way-to-shape-a-button-around-its-picture-in-delphi

wincontrols round rect Corner CreateRoundRectRgn RoundedRadDropDownButton 



https://github.com/project-jedi/jvcl/blob/master/jvcl/run/JvThemes.pas

2022年6月17日 星期五

2022年6月15日 星期三

Free Core Line - Free Icons Set - 1000 customizable PNGs, SVGs, PDFs

 https://www.streamlinehq.com/icons/streamline-mini-line

2022年6月14日 星期二

curiously recurring template pattern delphi generics TLIST TBASE

curiously recurring template pattern
https://stackoverflow.com/questions/3991788/can-a-delphi-generic-class-descend-from-its-class-argument
https://blog.grijjy.com/2022/01/25/crgp/
The Curiously Recurring Generic Pattern
 

https://www.fluentcpp.com/2017/05/12/curiously-recurring-template-pattern/
The Curiously Recurring Template Pattern (CRTP) - Fluent C++
 

https://9to5answer.com/practical-uses-for-the-quot-curiously-recurring-template-pattern-quot
https://dev.to/sandordargo/the-curiously-recurring-template-pattern-crtp-46j7
The Curiously Recurring Template Pattern (CRTP)
 

https://dev.to/sandordargo/the-curiously-recurring-template-pattern-crtp-46j7
https://en.cppreference.com/w/cpp/language/crtp
https://www.geeksforgeeks.org/curiously-recurring-template-pattern-crtp-2/
https://rosettacode.org/wiki/Singleton
https://habr.com/en/post/307902/
Преобразование обычного класса в странно повторяющийся шаблон / Habr
 

https://wdv4758h.github.io/notes/cpp/crtp.html
CRTP (Curiously Recurring Template Pattern) — wdv4758h-notes latest 說明文件
 

https://stackoverflow.com/questions/43322010/generics-in-delphi-and-returning-a-reference-to-tlistclass
https://dm7blog.wordpress.com/2019/05/15/delphide-linked-list-ve-tlist-kullanimi/

2022年6月11日 星期六

Linking to Delphi (API interface) Necessary files The following files are needed in order to link the DLL into Delphi programs: TcAdsDll.dll - dynamic function library

 https://infosys.beckhoff.com/english.php?content=../content/1033/tcsample_bdelphi/html/TcAdsDLL_COM_Delphi_Setup.htm&id=

 Linking to Delphi XE2 (COM interface)

The TcAdsDll.dll type library has to be imported (TcAdsDll_TLB.pas unit). Depending on the Delphi version, manual adjustments may be required in order to ensure error-free translation.
Requirements

    Delphi XE2;
    TwinCAT 2.9 or higher;
    TcAdsDll.dll - dynamic function library located in the Windows NT/2000 /XP/... 'System32' directory.

Import Type Library

1. Select Component -> Import component menu command. In dialog window select the option: Import type library and confirm with the Next button.

 

2022年6月10日 星期五

Windows API的GetLogicalProcessorInformation可取得當前電腦的物理核心數邏輯核心數

 https://docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getlogicalprocessorinformation

 http://msdn.microsoft.com/en-us/library/ms683194(v=vs.85).aspx
GetLogicalProcessorInformation function

  GetLogicalProcessorInformation
http://msdn.microsoft.com/en-us/library/ms686694(v=vs.85).aspx
SYSTEM_LOGICAL_PROCESSOR_INFORMATION structure

http://msdn.microsoft.com/en-us/library/ms684197(v=vs.85).aspx
LOGICAL_PROCESSOR_RELATIONSHIP enumeration

http://msdn.microsoft.com/en-us/library/ms681979(v=vs.85).aspx
CACHE_DESCRIPTOR structure

http://msdn.microsoft.com/en-us/library/ms684844(v=vs.85).aspx
PROCESSOR_CACHE_TYPE enumeration

GetProcessorCoreCount(DWORD &PhysicalProcessorCoreCount,DWORD &LogicalProcessorCoreCount )
{
    typedef BOOL(WINAPI *LPFN_GLPI)(
        PSYSTEM_LOGICAL_PROCESSOR_INFORMATION,
        PDWORD);

    LPFN_GLPI glpi = (LPFN_GLPI)GetProcAddress(GetModuleHandle(TEXT("kernel32")), "GetLogicalProcessorInformation");

    if (NULL == glpi)
        return 0;

    PSYSTEM_LOGICAL_PROCESSOR_INFORMATION buffer = NULL;
    DWORD returnLength = 0;
     PhysicalProcessorCoreCount = 0;
     LogicalProcessorCoreCount = 0;
    while (true)
    {
        DWORD rc = glpi(buffer, &returnLength);

        if (FALSE == rc)
        {
            if (GetLastError() == ERROR_INSUFFICIENT_BUFFER)
            {
                if (buffer)
                    free(buffer);

                buffer = (PSYSTEM_LOGICAL_PROCESSOR_INFORMATION)malloc(
                    returnLength);

                if (NULL == buffer)
                    return 0;
            }
            else
            {
                return 0;
            }
        }
        else
        {
            break;
        }
    }

    PSYSTEM_LOGICAL_PROCESSOR_INFORMATION ptr = buffer;

    DWORD byteOffset = 0;
    while (byteOffset + sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION) <= returnLength)
    {
        switch (ptr->Relationship)
        {
        case RelationProcessorCore:
        {
            ++PhysicalProcessorCoreCount;

            // count the logical processor, which is equal the count of digital 1's of ptr->ProcessorMask
            ULONG_PTR   ProcessorMask = ptr->ProcessorMask;
            while (ProcessorMask != 0)
            {
                ProcessorMask &= ProcessorMask - 1;
                LogicalProcessorCoreCount++;
            }
            break;
        }
        default:
            break;
        }
        byteOffset += sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION);
        ++ptr;
    }
    free(buffer);
    return -1;
}

 

https://en.wikipedia.org/wiki/Hyper-threading

 使用GetLogicalProcessorInformation获取逻辑处理器的详细信息(NUMA节点数、物理CPU数、CPU核心数、逻辑CPU数、各级Cache)

https://www.cnblogs.com/findumars/p/4805207.html 


https://stackoverflow.com/questions/66130195/delphi-getlogicalprocessorinformation-x64

2022年6月9日 星期四

Typesetting software TeX LyX MiKTeX CJKutf8 LyX MiKTeX CJKutf8 REVTeX

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

https://zh.wikipedia.org/zh-tw/TeX

 

ShellExecute Madness

 https://github.com/search?l=Pascal&q=ShellExecute+Madness&type=Code

 

http://vbnet.mvps.org/index.html?code/shell/shellexecute.htm

2022年6月3日 星期五

Categories Data Structures

 TArray
TDictionary
TEnumerable
TEnumerator
TList
TObjectDictionary
TObjectList
TObjectQueue
TObjectStack
TQueue
TStack
TThreadedQueue
TThreadList

 https://docwiki.embarcadero.com/Libraries/Sydney/en/System.Generics.Collections

 https://delphisources.ru/pages/faq/master-delphi-7/content/LiB0053.html

 delphi TTreeNode Structures data TDictionary

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

  linked list of records

 https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.Controls.TDockZone

 https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.ActnMan.TActionManager.LinkedActionLists

 delphi TTreeNode Structures data TDictionary

 https://docwiki.embarcadero.com/RADStudio/Sydney/en/About_Data_Types_(Delphi)

 https://devopedia.org/data-structures

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

 

 https://docwiki.embarcadero.com/Libraries/Alexandria/en/System.Classes.TList.Sort

 https://docwiki.embarcadero.com/Libraries/Alexandria/en/System.Classes.TStringList.CustomSort

https://www.geeksforgeeks.org/sorting-algorithms/

https://rosettacode.org/wiki/Sorting_algorithms/Bubble_sort

https://docwiki.embarcadero.com/Libraries/Alexandria/en/System.Classes.TCollection

https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Working_with_Lists

2022年6月1日 星期三

Delphi TButton How to make Delphi TButton control stay pressed?

 https://stackoverflow.com/questions/46934591/how-to-make-delphi-tbutton-control-stay-pressed

   Vcl.Themes,
  Vcl.Styles ;

StyleAPI

StyleElements

FInternalImageList 

TSeStyle

procedure TSysStyleHook.UpdateColors;
begin
  if (OverrideEraseBkgnd) or (OverridePaint) then
    Color := StyleServices.GetStyleColor(scWindow)
  else
    Color := clBtnFace;
  if OverrideFont then
    FontColor := StyleServices.GetSystemColor(clWindowText)
  else
    FontColor := clBlack;
end;

procedure TSysStyleHook.SetStyleElements(Value: TStyleElements);
begin
  if Value <> FStyleElements then
    begin
      FStyleElements := Value;
      OverridePaint := (seClient in FStyleElements);
      // OverrideEraseBkgnd := OverridePaint;
      OverridePaintNC := (seBorder in FStyleElements);
      OverrideFont := (seFont in FStyleElements);
    end;
end;


      TCustomButton = class(TButtonControl)

FImages: TCustomImageList;
    FInternalImageList: TImageList;


procedure TCustomButton.SetImages(const Value: TCustomImageList);


procedure TCustomButton.UpdateImages;
begin
  if CheckWin32Version(5, 1) and (FImageIndex <> -1) then
  begin
    FInternalImageList.Clear;
    // PBS_NORMAL
    FInternalImageList.AddImage(FImages, FImageIndex);
    // PBS_HOT
    if FHotImageIndex <> -1 then
      FInternalImageList.AddImage(FImages, FHotImageIndex)
    else
      FInternalImageList.AddImage(FImages, FImageIndex);
    // PBS_PRESSED
    if FPressedImageIndex <> -1 then
      FInternalImageList.AddImage(FImages, FPressedImageIndex)
    else

TButtonImageList BUTTON_IMAGELIST


https://docs.microsoft.com/zh-tw/windows/win32/api/commctrl/nf-commctrl-imagelist_replace

ImageList_Replace function (commctrl.h)

hbmImage

Type: HBITMAP

A handle to the bitmap that contains the image.

hbmMask

Type: HBITMAP

https://theroadtodelphi.com/category/vcl-styles/

https://delphiaball.co.uk/2014/10/22/adding-vcl-styles-runtime/

https://github.com/RRUZ/vcl-styles-utils

https://stackoverflow.com/questions/14031125/styling-only-one-vcl-component-in-delphi

https://theroadtodelphi.com/2012/02/06/changing-the-color-of-edit-controls-with-vcl-styles-enabled/

https://blogs.embarcadero.com/vcl-per-control-styles-coming-in-rad-studio-10-4/