计算字型 Baseline 是一个不常用的函数,但如果想要显示不同大小文字下方对齐,就得用它来计算字型的 Baseline 才行,如果计算不准,显示的文字就会高高低低不整齐. 在 Firemonkey 的 Windows 平台下(其它平台没有问题),取得字型文字的 Baseline 总有些不对劲(因为并不是所有的字型都有问题,约 5% 的字型取得的 Baseline 位置会不对). 其实官方提供的计算函数 TFontGlyphManager.Current.GetBaseline 没什么问题,主…
说明:在 Wndows 显示时,有时控件左方会显示一条虚线 适用:Berlin Firemonkey 修正方法: 请将源码 FMX.Platform.Win.pas 复制到自己的工程目录里,再进行修改. procedure TPlatformWin.InvalidateWindowRect(const AForm: TCommonCustomForm; R: TRectF); ...略... {---> WR := TRect.Create(Trunc(R.Left), Trunc(R.Top)…
var Str1, Str2: Array[..Max_Path]of Char;//开辟缓冲区 Str3: Array[..]of Char; begin GetWindowsDirectory(@Str1, );//调用API函数获取Windows目录信息 GetSystemDirectory(@Str2, );//调用API函数获取System目录信息 GetTempPath(, @Str3);//调用API函数获取Temp目录信息 end;…
问题:Firemonkey Windows & macOS 平台下 Edit & Memo 中文输入后会取消原选取文字的 BUG 适用版本:Delphi 10.1.2 & 10.2.1 修正后效果: 修正代码: 请将 FMX.Edit.Style.pas 复制到自己的工程目录下,再修改如下代码: (10.2.2 已修正此问题) procedure TStyledEdit.IMEStateUpdated; var CombinedText: string; begin Combine…
说明:在 Wndows 显示时,有时控件左方会显示一条虚线 适用:Firemonkey Windows (Berlin 或更高版) 修正方法: 请将源码 FMX.Canvas.D2D.pas 复制到自己的工程目录里,再进行修改. procedure TCanvasD2D.SetClipRects(const ARects: array of TRectF); ...略... to High(ARects) do begin R := ARects[I]; {+++>}InflateRect(R,…
没想到啊,没想到: printf函数对参数的计算顺序是从右往左的! 我不禁想问一句,这么坑爹的事情,书里居然没有写过.还是我看书不仔细,没有找到?(回头,在自己翻翻那本c语言编程) 于是下面的程序结果: #include <stdio.h> int main() { i=; printf("i=%d,now i=%d\n",i,i++); ; } 正确的输出结果: i=,now i= 计算错误的小盆友,可以重新翻书了. 另外:不同编译器,甚至不同版本的GCC输出结果都不同.…
C 语言 clock() 函数,例:计算多项式值 /** * clock(): 捕捉从程序开始运行到 clock() 被调用时所耗费的时间. * 这个时间单位是 clock tick, 即"时钟打点". * 常数 CLK_TCK: 机器时钟每秒所走的始终打点数. * In Macintosh or C99, CLK_TCK == CLOCKS_PER_SEC * http://www.cplusplus.com/reference/ctime/CLOCKS_PER_SEC/ */ 我把…
原文:在论坛中出现的比较难的sql问题:31(row_number函数+子查询 月环比计算) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路.…
目录 Windows下计算md5值 1.linux 下计算md5值 2.Windows下计算md5值 Windows下计算md5值 1.linux 下计算md5值 [root@master yl]# md5sum CentOS-74-x86_64-1810.iso 6aab82e407bded0f611842952cd5067d CentOS-74-x86_64-xdja-v1.1.iso 2.Windows下计算md5值 certutil -hashfile filename MD5 wind…
下列方法仅提供 Windows 平台使用,所以需要使用编译开关,代码如下: uses {$IFDEF MSWINDOWS} Winapi.Windows, Winapi.SHFolder, {$ENDIF} {$IFDEF MSWINDOWS} ; // <desktop> function GetDesktopPath: string; var LStr: .. MAX_PATH] of Char; begin SetLastError(ERROR_SUCCESS); , CSIDL_DES…