pascal
文章平均质量分 57
yayongm
这个作者很懒,什么都没留下…
展开
-
关于使用PasLibVlc进行媒体播放的简单处理技巧
代码说明:播放组件在查找VedioLan播放库的路径时,先查找用户自定义路径,然后查找安装路径,最后查找当前文件夹。当然,对我来说,直接将自己程序和libvlc.dll,libvlccoore.dll,Plugins文件夹直接打包在一起即可制作一个专属与自己的媒体播放器了,并且这个媒体播放器功能强大且随时可用。另外,当使用VideoLan的2.1版本的库时,整个可执行程序大小不到30M,打包后的大小只有10M,真的是很惊喜的一个超强播放器。穷,没币了,发布个文章讨点儿币吧。原创 2023-10-21 14:43:18 · 514 阅读 · 0 评论 -
作为生产力工具,D7的优势在哪里?
严重声明: 本文涉及大量有理吐槽,抹黑,请自行斟酌并妥善处理,对于心理承受能力较差的同学,建议在父母监护下阅读,谢谢。 这个问题其实无解,萝卜白菜,各有所爱,但是作为一款纯粹的生产力工具,或者说,站在生产力工具(疯狂吐槽)的角度看,相对与D的其它版本来说,D7的优势到底是什么? 首先,我们必须界定几个问题,然后再来讨论为什么D7依然是我心目中的高效生产力工具。我们知道,作为RAD工具,拖拖拉拉就能搞定界面设计,这是开发工具的一大进步,同时也是高生产力工具的标准,如果抛弃这个...原创 2021-07-23 10:56:44 · 1044 阅读 · 2 评论 -
奇葩的编译问题
刚刚遇到的一个奇葩的编译问题,先记录下来,以供参考。 打开D,从帮助中拷贝一段演示代码到窗口中,点击F9编译,瞬间发现整个pascal文件的断点全乱了。遂逐个查找文件是否有重复,文件是否重复,结果是所有文件都没有问题。 经过折腾之后,才想起:那个垃圾帮助文件中有奇葩的不可见字符!!!同理,如果你从网络的网页上复制代码也会遇到代码中存在奇葩的不可见字符,对,就是这个奇葩的不可见字符导致整个代码中的断点全部乱掉且无法正确设置断点和调试!!! 明白过来之后,遂将文件内容复制到其它编辑...原创 2021-07-23 09:44:39 · 136 阅读 · 0 评论 -
用Pascal/C/C++来干Web的活?你有没有搞错?
用Pascal/C/C++来干Web的活,现阶段感觉就像开着一个涡喷发动机的拖拉机参加F1方程式赛车一样蛋疼。一台装着涡喷发动机的拖拉机,你得做很多很多工作:1.要么把拖拉机装上翅膀。拖拉机要飞的话,不是说力大飞砖那么简单,你至少得研究一下空气动力学吧?2.要么改造发动机变成轴传动或者机械传动,但是,你看,空气动力发动机的优势就没有了。3.好不容易改造成功了,对不起,你这会飞的拖拉机不符合F1的比赛规则,或者是你这拖拉机速度是挺快,但是操控性太差了,一不小心就越界(AV)了。最后,好不容易,你终于原创 2021-05-25 09:51:32 · 179 阅读 · 0 评论 -
写篇踩坑笔记吧
这个是最近一段时间遇到的各种花样别出的坑,这些坑只针对D7,不知道啥是D7的可以直接关闭窗口了。坑1:D7在Win7及以上版本调试时,只有BuildWithRuntimePackage时才能正确获取Win32MajorVersion,Win32MinorVersion,Win32BuildVersion等值。不带包编译后,运行时不存在该问题。如果存在,可能需要使用管理员运行,即在程序上右键RunWithAdministrator,该问题的具体原因未知。坑2:D7程序启用UAC后,在Wi原创 2021-01-08 10:56:49 · 119 阅读 · 1 评论 -
在Delphi中动态调用事件方法
最近用到了一个稍微高级一点儿的内容,就是在代码中动态调用事件方法,或者说是函数指针,由于Delphi的特殊性,所以,直接上代码吧:procedure TForm1.Button2Click(Sender: TObject);var f, f1: TNotifyEvent; d: NativeUInt; pm, pm1: ^TMethod;begin New(pm); try f := Button1Click; pm.Code := TMethod(f).Co原创 2020-12-17 13:50:59 · 1132 阅读 · 0 评论 -
FMX保存图片
FMX保存图片,这句话老是记不住,备注到这里吧。Image1.MultiResBitmap.Items[1].Bitmap.SaveToFile('c:\aaa.png');原创 2020-09-08 11:05:21 · 395 阅读 · 0 评论 -
MHS(Moon Server Http),基于Pascal脚本的全动态Http服务器2020年最新更新,欢迎挑战、测试!
完整开发的基于Pascal脚本的高性能Web服务器,功能对标Apache/PHP,性能未进行对标测试,但非常强悍,可自行测试。 脚本包含所有演示代码。 已包含完整演示网站、新闻、博客、后台管理等全部功能。 首个全功能Pascal脚本Web服务器2020年再次更新! 更多详细内容请参考History.txt,或者参考官方网站www.moonserver.cn 也希望更多大牛前来交流、拍砖、打脸!!!...原创 2020-07-28 10:30:27 · 471 阅读 · 0 评论 -
解决Delphi中自带Json处理单元中关键字在序列化和反序列化中的冲突问题
解决Delphi中自带Json处理单元中关键字在序列化和反序列化中的冲突问题。这个是一个非常常见的问题,以前好像搜索到过,但是不知道为什么没有了,所以只能自己重写吧,参看代码:unit Unit1;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, System.Json, System.JSON.Types原创 2020-06-29 11:58:24 · 948 阅读 · 0 评论 -
Win7 64位内存申请上的一个小坑!!!
今天在Win7 64位上写了这么一段程序:varp:Pointer;iSize:Integer;beginiSize:=1024*2;GetMem(p,C_1M*iSize);简单点儿说,就是申请一块2G的连续内存,结果每次都申请失败,还以为操作系统不支持。折腾半天后才发现,其实是iSize的问题,因为iSize是32位整数,所以当达到2G时...原创 2020-03-11 11:01:28 · 268 阅读 · 0 评论 -
IWML(IntraWeb Markup Language),什么鸡儿玩意儿。。。
看了一下IWML,简单说两句,说错不要打我。首先,这东西是给谁用的?既然是给前端用的,美工需要用你这破玩意儿?前端攻城师对各种JS、HTML、Markdown熟练无比,会用你这破玩意儿?其次,结合描述符来看,这是一个树形、空格分层的对象标识“语言”,还是自己创立的一套“方言”,有没有问题,鬼都不知道。。。更关键的是,看起来还没有Markdown容易理解且容易使用,唯一可以吹牛的是说它可以描...原创 2018-12-22 10:18:58 · 758 阅读 · 0 评论 -
给所有使用FMX(FireMonkey)进行开发的忠告!
没有废话,直接正文: 在开始之前,首先我假设您有10年、或者20年甚至是30年的Pascal开发经验,由于种种无法解释且又无法摆脱的原因而不得不使用FMX来进行苦逼的开发,所以,我觉得下面是您所必须要了解的:一、放弃,放弃,再放弃! 这句话我宁愿每天说100万遍,宁愿让它长在您的脑门上,刻在您的脑子里,穿在您的衣服上!所以,请放弃使用FMX的开发,放弃,放弃,再放弃!不要问为...原创 2018-09-28 13:28:51 · 15706 阅读 · 14 评论 -
浮点处理器的威力
直接上代码:例子一:procedure TForm1.Button5Click(Sender: TObject);var i: Integer; dTime: Cardinal; v, i1, i2: Cardinal; f, f1, f2: Double;begin dTime := GetTickCount; v := 4101031原创 2017-12-08 09:08:37 · 450 阅读 · 0 评论 -
Pascal中TFileStream的Create问题
按照帮助说明,当使用fmCreate参数时,如果文件存在则以只写方式打开,否则创建。在实际使用过程中,Win7上是没有以只写方式打开,而是直接强制创建新文件了。 跟踪源码到SysUtils单元中的FileCreate函数: Result := Integer(CreateFile(PChar(FileName), GENERIC_READ or GENERIC_WRITE, ...原创 2018-03-16 10:48:56 · 1927 阅读 · 1 评论 -
Windows中按钮文字的布局样式
用到CheckBox的按钮居右处理,发现竟然没有文字居右的选项。从面向对象的角度来说,咱要重载掉CreateParams重新创建一个新类,可是这个功能基本上很少用到啊,那么就只能用Windows Api 函数直接修改啦。上代码:function SetWinControlTextAlignment(const AControl: TWinControl; const Alignment: TAli...原创 2018-03-30 10:00:20 · 583 阅读 · 0 评论 -
深入TEvent类并解决PulseEvent问题
问题来源于:http://www.cnblogs.com/del/archive/2009/02/16/1391192.html其中有一段代码:procedure TForm1.Button5Click(Sender: TObject);begin ShowMessage('TEvent 类没有提供这个功能'); {我试过用 PulseEvent(MyEvent.Handle) 也不行}en...原创 2018-03-22 09:58:54 · 1213 阅读 · 0 评论 -
C++快速上手笔记
因为要对线程进行测试,所以用BCB写了一段代码,长时间没用,有点儿生疏了。所以,决定把某些常见内容写下来供下次使用时快速上手。首先,这是对于Pascal程序员使用BCB快速入门;其次,这里面的内容也许会增加更多内容;目的仅仅是为了能够快速上手。很抱歉不是给入门小白用的。1.指针转换 TObject* AObj = (TObject *)FList->Items[i];2.创建释放 T...原创 2018-04-25 12:22:21 · 625 阅读 · 0 评论 -
TMemoryStream的性能问题
TMemoryStream作为使用非常多的一个Stream类,日常使用时并没有感觉到慢,当然这是因为代码中使用频度不高的缘故,当使用频度一上去,TMemoryStream的性能简直不忍直视。好了,我们看看原始代码中是怎么写的:function TMemoryStream.Realloc(var NewCapacity: Longint): Pointer;begin if (NewCapac...原创 2018-05-12 11:04:27 · 967 阅读 · 0 评论 -
一些关于开发工具/开发语言发展脉络的想法
本来这是发在论坛上的几句吐槽,但是还是整理一下存档吧。一.传统开发工具面临的困境我也瞎说几句吧:1.下面这段是橙子Demo的一个代码的Uses段,我相信你绝对看过比这个更恐怖的Uses段。uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, F...原创 2018-06-28 10:24:10 · 368 阅读 · 0 评论 -
更改IOS状态栏Statusbar的字体颜色
没有废话,直接正题:1.首先你的工程目录下必须有info.plist.TemplateiOS.xml文件,文件内容如下:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/Proper...原创 2018-09-12 09:56:32 · 678 阅读 · 0 评论 -
64位Hash算法Pascal版本
murmur的hash算法:http://sites.google.com/site/murmurhash/avalanchec代码:unsigned long long MurmurHash64B ( const void * key, int len, unsigned int seed ){ const unsigned int m = 0x5bd1e995;原创 2017-11-01 11:34:11 · 1785 阅读 · 0 评论