V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
liuzhiyong
V2EX  ›  分享创造

文件名保存简单版本信息, Lazarus IDE 实战体验

  •  
  •   liuzhiyong · 170 天前 · 3874 次点击
    这是一个创建于 170 天前的主题,其中的信息可能已经有所发展或是发生改变。

    先看效果(屏幕录像)

    压缩包版本_屏幕录像.mp4

    (就是在 RAR 的文件名里面:项目、用户名、时间、说明注释。打包工作完全交给 RAR ,省心放心)

    Lazarus IDE 生成的 EXE 兼容性

    超级好:Windows 11 、Windows 10 、Windows 7 、然后我离谱的在 Windows XP 上运行了——都能用。

    Lazarus IDE 生成的 EXE 的依赖

    确实没有任何依赖:我在 VMWare 里面弄了缺省默认的 Windows 安装,全能跑起来。

    完全不需要点 NET/QT/VC 可再发行包/等等。

    Lazarus IDE 生成的 EXE 的高 DPI

    稍微有点问题:

    • 家里的 Windows 平板,高 DPI (近视眼盯着看,也看不出像素):显示效果正常。
    • 公司的笔记本电脑,偏低的 DPI (近视眼能看出像素):显示效果正常。
    • 云电脑,低等 DPI:一个多行文字的 Label ,边缘(下方、右方)有点被遮住。其他(图片、文本框、按钮、单行 Label )正常。

    Lazarus IDE 开发环境

    很友好,该有的都有。当然和 Visual Studio 那是没法比的哈。

    Lazarus IDE 生态

    非常不好,因为很冷门。我是之前弄过 Pascal 、Delphi 这些玩意,所以还比较顺利。(暴漏年龄了)

    “压缩包版本”这个工具

    之前做过类似的,也在 V2EX 发布了,C#+WPF 。

    这此做的更加“简单粗暴”。

    欢迎下载使用:压缩包版本_V0.0.1.0.rar.bin (去掉“.bin”,解压即可,服务商不让上传 RAR/ZIP )

    欢迎吐槽

    每条回复我都会看。但是可能很久才会去改代码,明天又要去公司“搬砖”了。

    33 条回复    2024-06-18 11:52:12 +08:00
    PrinceofInj
        1
    PrinceofInj  
       170 天前
    我记得你上次写的这个软件被喷惨了,大家普遍觉得方案太 low ,当然我觉得在特定环境下还是非常好用的。而且这个有个好处,没有其他的依赖,只要文件系统是好的,就可以用。
    liuzhiyong
        2
    liuzhiyong  
    OP
       170 天前 via Android
    @PrinceofInj 版本工具一直受欢迎的,之前那个 GitHub 上一堆 Star ,还有 appinn 报道:

    https://www.appinn.com/v-file-name/

    “被喷惨了”应该是 Arduino 那个工具。
    nagisaushio
        3
    nagisaushio  
       169 天前 via Android
    这年头居然还能看到 Pascal ,时泪
    liuzhiyong
        4
    liuzhiyong  
    OP
       169 天前 via Android
    @nagisaushio 是呀,而且还有人不停开发这 IDE ,很意外的。
    hahastudio
        5
    hahastudio  
       168 天前
    说起来,当年用 Pascal 做 UI 用的是 Delphi ,然后有些地方竞赛环境用的是 Lazarus
    liuzhiyong
        6
    liuzhiyong  
    OP
       168 天前 via Android
    @hahastudio 唉,后来领头的去微软了。

    https://www.51cto.com/article/410196.html

    “安德斯·海尔斯伯格( Anders Hejlsberg ,1960.12~),丹麦人,Turbo Pascal 编译器的主要作者,Delphi 和.NET 之父!”
    levelworm
        7
    levelworm  
       168 天前 via Android
    @liuzhiyong 微软砸钱,留不住人也没啥问题,问题是之后的产品规划也没做好。其实 Java 那块吃了不少肉,但是之后就不行了。
    liuzhiyong
        8
    liuzhiyong  
    OP
       168 天前 via Android
    @levelworm “留不住人……之后的产品规划也没做好”,这是因果关系呀。风水轮流转,我认识的几个微软的,又去了 Amazon/Google/等等。
    levelworm
        9
    levelworm  
       168 天前
    @liuzhiyong 是的。不过我觉得这种做系统编程的程序员最幸福了。
    liuzhiyong
        10
    liuzhiyong  
    OP
       167 天前 via Android   ❤️ 1
    @levelworm 收到,这种为程序员提供程序,算是软件行业的顶端了。
    snw
        11
    snw  
       166 天前 via Android
    我会想到几个小问题,当然可能你已经考虑过了。
    一是文件名长度和路径长度,Windows 默认是有限制的。二是分隔符,比如如果姓名和注释里有 @符号、横杠之类会不会影响识别。三是特殊字符,比如半角冒号、问号、尖括号、斜杠等,或者特殊 unicode 字符。
    liuzhiyong
        12
    liuzhiyong  
    OP
       166 天前 via Android
    @snw

    “文件名长度和路径长度,Windows 默认是有限制的……特殊字符,比如半角冒号、问号、尖括号、斜杠等,或者特殊 unicode 字符”

    WinRAR 会报错。

    “分隔符,比如如果姓名和注释里有 @符号、横杠之类会不会影响识别”

    “@”没问题,正则表达式一看就知道时间部分,有格式的。

    注释没问题,依据格式确定时间部分,后面全是注释。

    姓名有横杠,可能有问题,但是中文里面没这个情况吧。
    levelworm
        13
    levelworm  
       165 天前
    @liuzhiyong 是啊,听说很多前 Borland 的东欧员工后来都去 Jetbrain 了,难怪后者的编辑器做得那么好。
    dwu8555
        14
    dwu8555  
       165 天前
    用过 Lazarus 写 exe, 不过 Pascal 很难用的,尤其是多文件之间循环引用变量很蛋疼。
    dwu8555
        15
    dwu8555  
       165 天前
    你这是 Hook 了 WinRAR 吗,怎么做到的
    liuzhiyong
        16
    liuzhiyong  
    OP
       165 天前 via Android   ❤️ 1
    @levelworm 传闻:

    https://news.ycombinator.com/item?id=29512963

    “If I recall Borland had very strong team in Saint Petersburg that moved entirely to JB”
    谷歌翻译:“如果我记得 Borland 在圣彼得堡有非常强大的团队,但完全搬到了 JB”
    levelworm
        17
    levelworm  
       165 天前
    @liuzhiyong 是的,我就是看到了这个。。。
    liuzhiyong
        18
    liuzhiyong  
    OP
       165 天前 via Android   ❤️ 1
    @dwu8555 日常工作是嵌入式 C ,觉得 Pascal 真友好,没有比较就没有伤害……

    你弄个 Spy++之类的工具玩一会儿,就直观的了解工作原理了。
    levelworm
        19
    levelworm  
       165 天前
    @liuzhiyong 羡慕啊,能够做底层。是通讯类的吗?
    liuzhiyong
        20
    liuzhiyong  
    OP
       165 天前 via Android
    @levelworm 唉,就是一份工作啦,单片机去控制这个芯片那个模块等等……
    dwu8555
        21
    dwu8555  
       165 天前
    @liuzhiyong #18 懂了,一直等有 WinRAR 的窗体弹出
    levelworm
        22
    levelworm  
       165 天前
    @liuzhiyong 也是很不错的,比一天到晚跟业务扯皮好多了。。。
    liuzhiyong
        23
    liuzhiyong  
    OP
       165 天前 via Android
    @levelworm 感觉和 IT 的最大区别:这边最看重功能,其他都靠边站。例如很多软件是 WinForms 的,那是特别不好看,但是长期实战它功能好:就不会去改动。
    janus77
        24
    janus77  
       165 天前 via Android
    这是干啥用的,没看懂
    liuzhiyong
        25
    liuzhiyong  
    OP
       165 天前 via Android
    @janus77 就是帖子说的“RAR 的文件名里面:项目、用户名、时间、说明注释”。

    很多人要处理文件,例如 Office/电路图/等等,但是不懂编程。

    不会用 Git 的人,做版本管理。
    levelworm
        26
    levelworm  
       164 天前
    @liuzhiyong 多好啊,我就想写 Winform 。最近买了本 Programming Windows ,98 年的,就是讲 Windows 下面 C 编程的。这些东西太有意思了。
    liuzhiyong
        27
    liuzhiyong  
    OP
       164 天前   ❤️ 1
    @levelworm 值得去看一下的,虽然找工作是用不上了。
    panda1001
        28
    panda1001  
       164 天前 via Android
    很喜欢这种小而实用的开发工具,其实利用 win32api 的稳定性,不改动 ui 兼容到 xp 也可以理解
    icedx
        29
    icedx  
       164 天前
    Lazarus 的 UI 好抽象
    liuzhiyong
        30
    liuzhiyong  
    OP
       163 天前 via Android
    @panda1001 他们中间做了一层,号称同样代码 Linux 也能跑。感觉不错呢。

    (我的这个用了 Windows 系统的东西,Linux 肯定就不好使了)
    liuzhiyong
        31
    liuzhiyong  
    OP
       163 天前 via Android
    @icedx UI 就是拖控件呀,和 VS 一样。
    icedx
        32
    icedx  
       162 天前
    我的意思是
    Lazarus 本身是一堆散装的小窗口

    很难令人适应
    liuzhiyong
        33
    liuzhiyong  
    OP
       162 天前 via Android
    @icedx UI 布局和 VS 确实不同,操作还是拖控件/属性/事件/代码。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5373 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 09:20 · PVG 17:20 · LAX 01:20 · JFK 04:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.