lazarus吧 关注:432贴子:695
  • 12回复贴,共1

开始使用Codetyphon了

只看楼主收藏回复

开始使用国产电脑,CPU是FT-2000(64位,4核),操作系统是银河麒麟Kylin V10。
以前经常用LAZARUS编程,换系统后犹豫是装LAZARUS还是装Codetyphon呢?我以前没用过Linux,对系统不熟悉,考虑到安装方便,还是用Codetyphon吧。
1. CodeTyphon官方网站下载 http://www.pilotlogic.com
目前是7.5版本,下载CodeTyphonIns.zip,解压,进入终端界面:
先cd CodeTyphonIns,再sudo ./install.sh 然后跟着提示,0 0 8 9选择4次,回车4次,静待安装成功。
2.使用
Codetyphon和LAZARUS、DELPHI在使用上可以无缝对接,语法没什么区别,仅IDE布局熟悉一下就好。
Codetyphon有N多的包可以使用,按照本人常用习惯,有个树控件用着顺手,马上查找, pl_ExControls中有,于是安装编译,重启成功。树控件效果图如下:


IP属地:辽宁1楼2021-08-24 16:15回复
    从网上搬转点货备用,实现文件拷贝的方法:
    1.调用API函数
    procedure CopyFile(FromFileName,ToFileName:string);
    var
    f1,f2:file;
    Begin
    AssignFile(f1,FromFileName); file://指定源文件名
    AssignFile(f2,ToFileName); file://指定目标文件名
    Reset(f1);
    Try
    Rewrite(f2);
    Try
    If Lzcopy(TfileRec(f1).handle,TfileRec(f2).Handle)<0
    Then
    Raise EinoutError.creat('文件复制错误')
    Finally
    CloseFile(f2); file://关闭 f2
    End;
    Finally
    Until length(sLine)<=0;
    End;
    End;
    2.文件流
    procedure copyfile;
    var f1,f2: tfilestream ;
    begin
    f1:=Tfilestream.Create(sourcefilename,fmopenread);
    try
    f2:=Tfilestream.Create(targetfilename,fmopenwrite or fmcreate);
    try
    f2.CopyFrom(f1,f1.size);
    finally
    f2.Free;
    end;
    finally
    f1.Free;
    end;
    end;
    3.利用内存块读写buffer实现
    Procudure FileCopy(const Fromfile,Tofile:string);
    Var
    F1,F2:file;
    NumRead,Numwritten:word;
    Buf:array [1..2048] of char;
    Begin
    AssignFile(F1,Fromfile);
    Reset(F1,1);
    AssignFile(F2,Tofile);
    Rewrite(F2,1);
    Repeat
    BlockRead(F1,buf,sizeof(buf),NumRead);
    BlockWrite(F2,buf,Numread,NumWritten);
    Until (NumRead=0) or (NumWritten<>NumRead);
    CloseFile(F1);
    CloseFile(F2);
    End;
    Windows API函数 实现文件的拷贝
    function CopyFile(lpExistingFileName, lpNewFileName: PChar; bFailIfExists: BOOL): BOOL; stdcall;
    参数说明:
    lpExistingFileName : 原文件名称;
    lpNewFileName : 目标文件名称
    bFailIfExists : 如果文件存在,是否覆盖原文件,True表示覆盖;False表示不覆盖。默认为True;


    IP属地:辽宁2楼2021-08-25 16:02
    回复
      CT确实在安装这方面确实比Laz做得更好,Linux的各种依赖堪称地狱。


      IP属地:广东来自Android客户端4楼2021-09-02 20:55
      回复
        Codetyphon在FT-2000(64位,4核)上安装成功了么?有没有在龙芯UOS上安装过Codetyphon?


        5楼2021-10-25 17:21
        收起回复
          楼主,能不能下载一个Codetyphon软件包放网盘里共享下,现在网络问题一直下载不了,又找不到第三方下载 好困扰。


          IP属地:上海7楼2021-10-29 14:32
          收起回复
            关于遍历树节点
            两段都好使,上面一段显示所选目录本身名称,下面一面从子目录开始遍历
            Function GetTreeNodeById(aItem:TTreeNode;AID:string):TTreeNode;
            var
            aNode,vNode:TTreeNode;
            s1:string;
            i:Integer;
            begin
            result:=nil;
            aNode:=aItem;
            while aNode<>nil do
            begin
            if aNode.HasChildren then
            begin
            aNode:=aNode.GetFirstChild ;
            vNode:=GetTreeNodeByIdaNode,AID);
            if vNode<>nil then
            result:=vNode;
            aNode:=aNode.Parent;
            end;
            s1:=PMyRec(aNode.data)^ .Fid;
            if s1=AID then
            begin
            result:=aNode;
            break;
            end;
            aNode:=aNode.GetNextSibling;
            end;
            //下面是第二段,功能同上类似
            {
            for i:=0 to aitem.Count-1 do
            begin
            aNode:=aItem.Items[i];
            s1:=PMyRec(aNode.data)^ .Fid;
            if s1=AID then
            begin
            result:=aNode;
            break;
            end;
            if aNode.HasChildren then
            begin
            vnode:=GetTreeNodeByIdFromNode(aNode,AID);
            if vnode<>nil then
            result:=vnode;
            end;
            end;
            }
            end;


            IP属地:辽宁8楼2021-11-13 17:59
            回复
              linux之fstab文件详解
              /etc/fstab是用来存放文件系统的静态信息的文件。位于/etc/目录下,可以用命令less /etc/fstab 来查看,如果要修改的话,则用命令 vi /etc/fstab 来修改。
              当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录。下面我来介绍如何在此文件下填写信息。
              字段定义
              /etc/fstab 文件包含了如下字段,通过空格或 Tab 分隔:

              <file system><dir><type><options><dump><pass>
              <file systems> - 要挂载的分区或存储设备.
              <dir> - <file systems>的挂载位置。
              <type> - 要挂载设备或是分区的文件系统类型,支持许多种不同的文件系统:ext2, ext3, ext4, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap 及 auto。 设置成auto类型,mount 命令会猜测使用的文件系统类型,对 CDROM 和 DVD 等移动设备是非常有用的。
              <options> - 挂载时使用的参数,注意有些mount 参数是特定文件系统才有的。一些比较常用的参数有:
              auto - 在启动时或键入了 mount -a 命令时自动挂载。
              noauto - 只在你的命令下被挂载。
              exec - 允许执行此分区的二进制文件。
              noexec - 不允许执行此文件系统上的二进制文件。
              ro - 以只读模式挂载文件系统。
              rw - 以读写模式挂载文件系统。
              user - 允许任意用户挂载此文件系统,若无显示定义,隐含启用 noexec, nosuid, nodev 参数。
              users - 允许所有 users 组中的用户挂载文件系统.
              nouser - 只能被 root 挂载。
              owner - 允许设备所有者挂载.
              sync - I/O 同步进行。
              async - I/O 异步进行。
              dev - 解析文件系统上的块特殊设备。
              nodev - 不解析文件系统上的块特殊设备。
              suid - 允许 suid 操作和设定 sgid 位。这一参数通常用于一些特殊任务,使一般用户运行程序时临时提升权限。
              nosuid - 禁止 suid 操作和设定 sgid 位。
              noatime - 不更新文件系统上 inode 访问记录,可以提升性能(参见 atime 参数)。
              nodiratime - 不更新文件系统上的目录 inode 访问记录,可以提升性能(参见 atime 参数)。
              relatime - 实时更新 inode access 记录。只有在记录中的访问时间早于当前访问才会被更新。(与 noatime 相似,但不会打断如 mutt 或其它程序探测文件在上次访问后是否被修改的进程。),可以提升性能(参见 atime 参数)。
              flush - vfat 的选项,更频繁的刷新数据,复制对话框或进度条在全部数据都写入后才消失。
              defaults - 使用文件系统的默认挂载参数,例如 ext4 的默认参数为:rw, suid, dev, exec, auto, nouser, async.
              ————————————————
              版权声明:本文为CSDN博主「richerg85」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
              原文链接:https://blog.csdn.net/richerg85/article/details/17917129


              IP属地:辽宁11楼2021-12-15 15:42
              回复