• free pascal 调用 C#程序读 Freeplane.mm文件,生成测试用例.csv文件


    C# 请参阅:C# 用 System.Xml 读 Freeplane.mm文件,生成测试用例.csv文件

    Freeplane 是一款基于 Java 的开源软件,继承 Freemind 的思维导图工具软件,它扩展了知识管理功能,在 Freemind 上增加了一些额外的功能,比如数学公式、节点属性面板等。

    打开 lazarus-IDE,创建 project: xml2csv , 编辑GUI界面,编写 unit1.pas  如下

    1. unit Unit1;
    2. {$mode objfpc}{$H+}
    3. interface
    4. uses
    5. Classes, SysUtils, Forms, Controls, Graphics, Dialogs,
    6. StdCtrls, Crt; // ShellApi,
    7. type
    8. { TForm1 }
    9. TForm1 = class(TForm)
    10. Button1: TButton;
    11. Button2: TButton;
    12. Edit1: TEdit;
    13. Memo1: TMemo;
    14. OpenDialog1: TOpenDialog;
    15. procedure Button1Click(Sender: TObject);
    16. procedure Button2Click(Sender: TObject);
    17. private
    18. public
    19. end;
    20. var
    21. Form1: TForm1;
    22. fn1: String;
    23. fn2: String;
    24. implementation
    25. {$R *.lfm}
    26. { TForm1 }
    27. procedure TForm1.Button1Click(Sender: TObject);
    28. begin
    29. if OpenDialog1.Execute then
    30. begin
    31. fn1 := OpenDialog1.FileName;
    32. Edit1.Clear;
    33. Edit1.Text := fn1;
    34. end;
    35. if FileExists(fn1) then
    36. begin
    37. Memo1.Lines.LoadFromFile(fn1);
    38. end
    39. else
    40. ShowMessage(AnsiToUTF8(fn1+' 文件没找到'));
    41. end;
    42. procedure TForm1.Button2Click(Sender: TObject);
    43. begin
    44. fn1 := Edit1.Text;
    45. if FileExists(fn1) then
    46. begin
    47. // Simple one-liner (ignoring error returns) :
    48. //if ShellExecute(0,nil, PChar('mm_Xml_csv.exe'),PChar(fn1),nil,1) =0 then;
    49. SysUtils.ExecuteProcess('mm_Xml_csv.exe', Utf8ToAnsi(fn1), []);
    50. delay(100);
    51. end
    52. else
    53. ShowMessage(AnsiToUTF8(fn1+' 文件没找到'));
    54. fn2 := fn1 +'.csv';
    55. if FileExists(fn2) then
    56. begin
    57. Memo1.Lines.LoadFromFile(fn2);
    58. end;
    59. end;
    60. end.

    copy mm_Xml_csv.exe to projects\xml2csv\  点击运行。

    注意有中文文件名,需用 SysUtils.ExecuteProcess('mm_Xml_csv.exe', Utf8ToAnsi(fn1), []);

    参阅:Executing External Programs

  • 相关阅读:
    探索一些常见的存储过程奥秘
    博弈论之SG函数
    祖冲之序列密码算法高性能硬件实现关键技术研究
    求简单微分方程
    seata的部署和集成
    进程替换(跑路人笔记)
    Debian离线安装mysql
    供应链管理的基本方法
    SpringMVC基本配置
    C++内存管理和模板
  • 原文地址:https://blog.csdn.net/belldeep/article/details/136599428