Delphi 好像是没有支持 toml 格式解析的单元,从 github 上找到了来自悉尼的 Iwan Kelaiah 写的一个 TOML Parser for Free Pascal 单元。简单修改了一下,让其支持 delphi。下载:TOML.rar以下为翻译的一些用法:config.toml 示例:# 注释:config.toml
revision = "1.2.1af"
[project]
name = "My Amazing Project"
version = "1.0.0"
基本用法读取 TOML 文件 program BasicParseTOML;
uses
TOML;
var
Config: TTOMLTable;
RevisionValue, ProjectValue, ProjectName: TTOMLValue;
ProjectTable: TTOMLTable;
begin
// 打开 TOML 文件
Config := ParseTOMLFromFile('config.toml');
try
// 访问字符串类型数据
if (Config.TryGetValue('revision', RevisionValue)) then
WriteLn('''revision'' 的值为:', RevisionValue.AsString);
// 安全地访问数据
更多内容...
Windows 11 更新到 24H2 版本后,很多用户都出现了鼠标光标在一些应用上光标消失的问题,如 chrome 浏览器、QQ NT 登录窗口、WPS 等。现在流传比较广的一个解决方案是通过控制面板/鼠标属性/指针设置“文本选择”的光标为 beam_r.cur,经测试只能部分解决问题,在鼠标光标经过窗口里的某些地方时,光标仍然会短暂地消失(透明)。另一个比较好用的方案是:打开设置/屏幕/颜色管理,将“自动管理应用的颜色”选项关掉,效果立杆见影。
Windows 11 锁屏界面上默认是设置了显示“天气等”小部件,一同显示的还有路况、体育和财经。如果你不想看体育或财经等内容,设置里并没有选项可以定制。其实这个定制功能还是有的,用 EDGE 浏览器打开如下地址 https://www.msn.com/zh-cn/feed/personalize/settings,从资讯源里的信息卡设置里关掉体育或财经即可。
公司又半死不活地坚持了一年,技术岗裁员裁到只剩我自己。终于在六月份的最后一天收到了解除劳动合同协议书,虽然早就知道这是注定的结局,但事到临头,心底一片茫然,不知该何去何从。年近半百、只懂点技术、不通人情世故的老 IT 人,难道真的没有活路了吗?万千思绪,竟无人可诉。
免费的 Oracle Cloud 实例的确是太不好用了,经常给主动停机,这种鸡肋不要也罢。龙年到,更换一个网站服务器。
键盘映射工具 KeybMap V2.2 64位版本功能:通过修改注册表来进行键盘键的重新定义。文件大小:4.54M适用系统:Windows VISTA/7/8/10/11 64位版本界面:简体中文/英文说明:本键盘映射工具仅修改注册表,不驻留内存。通过本工具,你可以将键盘上一些不常用的键定义为其它功能或者将其禁用,如将 ScrollLock 定义为静音、Wake Up 定义为减小音量、Sleep 定义为增大音量等等。注意:1、Power、WWW Home、Mute 等部分多媒体键(非 104 标准键)的映射只对 PS/2 键盘有效。若使用 USB 键盘则无法将其映射为其它键,除非使用 USB -> PS/2 转换器。2、Pause 和 Fn 键不允许映射,程序已将其排除在外。3、本版本只支持 64 位操作系统,使用时需要管理员权限。4、32位版本的 KeybMap 在 64 位系统上可以运行,但映射功能无效,故不再提供。更新:2.2 版本修订了导入配置后界面不显示导入数据的 bug。2.1 版本完善了导入导出流程,去除了当前用户的键盘映射功能(Windows7 之后操作系统不支持。但多媒体键重新定义动作是支持当前用户的,且优先级高于所有用户)。有人说看着键定义列表里有加号而没有等号感觉别扭,本来是写代码时为了绕过一个可能会出现的问题而故意这么做的,现在我还是改回来吧。2.0 版本使用 Delphi 重写了一遍,优化了大量代码,修正了一处键名错误,补充了在非中文系统中遗漏的几处翻译。增加了几个键定义,屏蔽了 Windows 已经废弃的 RegisteredApp 功能。1.9 版本修订了网友提出的在按键捕捉时的 bug,另外优化了一些相关流程。1.8 版本暂时只发布了 64 位版本,因改用 Lazarus 编译,文件大小 更多内容...
钉钉的机器人群消息很好用,也不用申请特别的权限,免费的消息条数也很多,做个监控类的消息通知很合适。一般都是用 python、JAVA 等语言来编写调用代码,简单使用也可以直接命令行调 curl。这几天想给一个用 delphi 编写的运维工具加上钉钉消息功能。尝试编写了一下,用自定义关键字方式发送消息很简单,一次就通过了;然而加签方式却死活通不过,总是返回加签错误。仔细阅读了N遍官方文档,就是个很常用的 HMAC-SHA256 + Base64 加签算法。蹊跷的是,我换了三四种不同的代码去实现,每一种算法得到的结果和网上的在线计算器的结果都一模一样,然而就是和官方的 Python 语言例程的结果不一样。晚饭后出门散步时我继续思考这个问题:既然我的代码和在线计算器的一致,说明算法本身没有错误,那么只能是输入参数不一致;这时我突然领悟到,Python 和 JAVA 语言都会自动处理 \n 这样的转义字符串而 Delphi 不会,官方文档里要求在加签字符串中添加了一个 \n,肯定就是这里导致的错误。后来在代码中用 #10 来代替 \n,果然验签通过。那么就分享一段完整的用 delphi 发送钉钉机器人消息的代码吧:unit main;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
System.JSON, Vcl.StdCtrls, Hash, System.Net.URLClient, DateUtils,
System.Net.HttpClient, System.Net.HttpClient 更多内容...
大概是从 Windows 7 时代开始,很多声卡的立体声混音功能就消失了,据说是厂家迫于某些组织的压力为了维护音乐版权不得不屏蔽了这个功能。既然是屏蔽,那么大概率是可以重新打开的。下面以 Thinkpad 某老款笔记本(Windows 10)自带的 Conexant 20671 声卡为例,讲一下处理方法:运行注册表编辑器 regedit.exe,找到如下分支:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e96c-e325-11ce-bfc1-08002be10318}在找到的分支下会有 0000、0001……等子分支,对应着各个音频设备。使用“Conexant”或“20671”关键字搜索到要修改的声卡分支。假设上一步找到的分支是 0000,将如下内容保存为 conexant.reg 文件。如果你找到的分支不是 0000,自行修改内容。Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e96c-e325-11ce-bfc1-08002be10318}\0000\Settings\EPattributes\EpSettings\StereoMixEnable]
"MixAssocSeq"=hex:e0,e0
"MuteGainSettings"=hex:00,00
"Enable"=hex:01双击 conexant.reg 文件导入注册表,然后重启操作系统即可。注:此方法只适用于 conexant 声卡的部分型号,其它型号的声卡可能设置方法有所不同。
没想到这么大年纪了可能会突然失业,再找工作很困难。一片茫然,不知何去何从。
AlmaLinux 在安装完成重启后,在图形界面下会出现无法关闭的向导,强制让你创建用户,否则无法进入系统。有时候弄个测试用的系统,只用一个 root 账户就可以了,所以要想办法把它关掉。注意:因为这个向导是在系统登录前出现的,以前的那种在用户的 .config 目录下创建一个内容为“yes”的 gnome-initial-setup-done 文件的做法不会生效。用 root 账户 ssh 登录系统后:方法一:第一步:vim /etc/gdm/custom.conf在 [daemon] 小节下增加一行:InitialSetupEnable=false如果只做这一步,重启后可以登录系统,但仍会出现向导。第二步:vim /etc/xdg/autostart/gnome-initial-setup-first-login.desktop增加一行:X-GNOME-Autostart-enabled=false重启系统即可。方法二:直接卸载 gnome-initial-setup:dnf erase gnome-initial-setup
- 1
- 2
- 后一页 »