冥界3大法王 发表于 2023-12-7 21:37

有以下思维导表生成的内容,整成啥样的表格方便Delphi取出?

本帖最后由 冥界3大法王 于 2023-12-7 21:57 编辑

无费话,上内容:

https://static.52pojie.cn/static/image/hrline/2.gif


单元名(需要引入的)
Vcl.ActnColorMaps
      Classes
                TStandardColorMap
                TThemedColorMap
                TTwilightColorMap
                TXPColorMap
      Constants
                cXPBtnFrameColor
                cXPFrameOuter
                cXPSelectedColor
Vcl.ActnCtrls
      Classes
                TActionToolBar
                TCustomActionCombo
                TCustomActionDockBar
                TCustomActionToolBar
                TCustomButtonControl
                TCustomComboControl
                TCustomDropDownButton
                TCustomToolScrollBtn
                TCustomToolScrollBtnClass
                TCustomUtilityButton
                TMenuResizeActionControl
      Constants
                cAlignOffScreen




比如,我得到 红粗,那就使用上一级的 红的classes的名称?
这个如何存? 如何Delphi编程? {:301_974:}

earlc 发表于 2023-12-7 23:31

你说的思路代码化就可以了吧

tanglikecuan 发表于 2023-12-8 08:19

我理解你需要将思维导图的内容转换成一个Delphi可以读取的格式,例如一个数据表。这样,你可以在Delphi程序中遍历这个表并获取需要的类名或者常量名。
首先,你需要将思维导图的内容整理成一个文本文件,每一行表示一个类或者常量,同时包含其所在的包和名称。:
mathematica
Vcl.ActnColorMaps
    Classes
      TStandardColorMap
      TThemedColorMap
      TTwilightColorMap
      TXPColorMap
    Constants
      cXPBtnFrameColor
      cXPFrameOuter
      cXPSelectedColor
Vcl.ActnCtrls
    Classes
      TActionToolBar
      TCustomActionCombo
      TCustomActionDockBar
      TCustomActionToolBar
      TCustomButtonControl
      TCustomComboControl
      TCustomDropDownButton
      TCustomToolScrollBtn
      TCustomToolScrollBtnClass
      TCustomUtilityButton
      TMenuResizeActionControl
    Constants
      cAlignOffScreen
然后,你可以在Delphi中创建一个数据表,其中包含三列:包名、类名和常量名。你可以使用Delphi的数据库操作功能来读取这个文本文件,并将其内容填充到数据表中。例如:
delphi
var
FS: TFileStream;
Line: string;
Package, Class, Constant: string;
begin
FS := TFileStream.Create('your_file.txt', fmOpenRead);
try
    while FS.ReadLine <> '' do begin
      Line := FS.ReadLine;
      if Line.StartsWith('Vcl.') then begin
      Package := Line;
      end else if Line.StartsWith('Classes') then begin
      Class := Line;
      end else if Line.StartsWith('Constants') then begin
      Constant := Line;
      end;
    end;
finally
    FS.Free;
end; { while }
end; { procedure }
首先打开了一个文件流来读取你的文本文件。然后我们逐行读取文件的内容,并根据行内容的开始字符来确定这是包名、类名还是常量名。你可以根据实际需要修改这个代码来适应你的需求。最后,你可以将包名、类名和常量名存储到数据表中。

tanglikecuan 发表于 2023-12-8 08:21

在你的文本文件中,你可以这样表示 "TActionToolBar":

mathematica
复制代码
Vcl.ActnCtrls
    Classes
      TActionToolBar
      ...
在 Delphi 中解析这些标记并设置格式的示例代码如下:

delphi
复制代码
var
FS: TFileStream;
Line, Package, Class, Constant: string;
IsBold, IsRed: Boolean;
begin
FS := TFileStream.Create('your_file.txt', fmOpenRead);
try
    while FS.ReadLine <> '' do begin
      Line := FS.ReadLine;
      // 检查是否为包名、类名或常量名
      ...
      // 解析并处理格式标记
      IsBold := Pos('', Line) > 0;
      IsRed := Pos('', Line) > 0;
      if IsBold and IsRed then begin
      // 设置相应的格式,例如将字体设置为粗体和红色
      Font.Style := Font.Style + ;
      Font.Color := clRed;
      end;
    end;
finally
    FS.Free;
end; { while }
end; { procedure }

aa123dami 发表于 2023-12-8 09:34


为了方便Delphi取出内容,你可以考虑将思维导表中的信息整理成一个单元(unit)文件。在Delphi中,一个单元是一种模块化的组织方式,可以包含类、常量、变量等。

要示例吗?
页: [1]
查看完整版本: 有以下思维导表生成的内容,整成啥样的表格方便Delphi取出?