lazarus编写程序特别是需要交叉编译时,不能直观显示当前project交叉编译的目标CPU及OS,跟踪源码后发现很简单就能显示相关信息,可以参考以下代码(红字部分)修改。
打开lazarus\ide\main.pp,找到procedure TMainIDE.UpdateCaption;
打开lazarus\ide\main.pp,找到procedure TMainIDE.UpdateCaption;
procedure TMainIDE.UpdateCaption; function AddToCaption(const CurrentCaption, CaptAddition: string): String; begin if EnvironmentGuiOpts.Desktop.IDETitleStartsWithProject then Result := CaptAddition + ' - ' + CurrentCaption else Result := CurrentCaption + ' - ' + CaptAddition; end; var rev, NewCaption, NewTitle, ProjectName, DirName,TargetOSCPU: String; begin if MainIDEBar = nil then Exit; if ToolStatus = itExiting then Exit; rev := GetLazarusRevision; if IsNumber(rev) then NewCaption := Format(lisLazarusEditorV + ' r%s', [GetLazarusVersionString, rev]) else NewCaption := Format(lisLazarusEditorV, [GetLazarusVersionString]); NewTitle := NewCaption; if MainBarSubTitle <> '' then NewCaption := AddToCaption(NewCaption, MainBarSubTitle) else begin if Project1 <> nil then begin ProjectName := Project1.GetTitleOrName; if ProjectName <> '' then begin if EnvironmentGuiOpts.Desktop.IDETitleShowsProjectDir then begin DirName := ExtractFileDir(Project1.ProjectInfoFile); TargetOSCPU:=' '+Project1.ActiveBuildMode.CompilerOptions.TargetOS+'-'+Project1.ActiveBuildMode.CompilerOptions.TargetCPU; if trim(TargetOSCPU)='-' then TargetOSCPU:=' '+lowercase({$i %FPCTARGETOS%})+'-'+lowercase({$i %FPCTARGETCPU%}); if DirName <> '' then ProjectName := ProjectName + ' ('+DirName+TargetOSCPU+')'; end; end else ProjectName := lisnewProject; NewTitle := AddToCaption(NewCaption, ProjectName); if EnvironmentGuiOpts.Desktop.IDETitleShowsBuildMode and (Project1.BuildModes.Count > 1) then ProjectName:= ProjectName + ' - ' +Project1.ActiveBuildMode.GetCaption; NewCaption := AddToCaption(NewCaption, ProjectName); end; end; case ToolStatus of itBuilder: NewCaption := Format(liscompiling, [NewCaption]); itDebugger: begin if DebugBoss.Commands - [dcRun, dcStop, dcEnvironment] <> [] then NewCaption := Format(lisDebugging, [NewCaption]) else NewCaption := Format(lisRunning, [NewCaption]); end; else end; MainIDEBar.Caption := NewCaption; Application.Title := NewTitle; end;
修改后重新编译lazarus就可以在标题栏显示目标OS/CPU:
分类:
Lazarus
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2022-08-24 fpspreadsheet合并单元格、撤消单元格合并的方法