`
heiheben
  • 浏览: 133256 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Delphi字符串处理(下面贴出的是完整的可运行代码)

阅读更多

直接将下面的代码拷贝到IDE中是可运行的,我这里只做几点解释

1.在delphi中换行  不是\n  也不是 \r  而是  #13#10

2.取memo的行数  MContent.lines.count

3.判断字符串中某个字符的位置  Pos('m', str)  第一个参数为欲查找的字符

4.截取字串  copy(str, 7, size); 参数定义为 原字符串、开始位置(包含)、结束位置(不包含)

unit Unit1;



interface



uses

  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  StdCtrls,Clipbrd;



type

  TMainForm = class(TForm)

    MContent: TMemo;

    BAddText: TButton;

    SaveDialog1: TSaveDialog;

    OpenDialog1: TOpenDialog;

    BCut: TButton;

    BCopy: TButton;

    BPaste: TButton;

    BSave: TButton;

    BOpen: TButton;

    BExit: TButton;

    BClear: TButton;

    BRollback: TButton;



    procedure BAddTextClick(Sender: TObject);

    procedure BCutClick(Sender: TObject);

    procedure BSaveClick(Sender: TObject);

    procedure BOpenClick(Sender: TObject);

    procedure BCopyClick(Sender: TObject);

    procedure BPasteClick(Sender: TObject);

    procedure BExitClick(Sender: TObject);

    procedure BClearClick(Sender: TObject);

    procedure BRollbackClick(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;



var

  MainForm: TMainForm;



implementation



{$R *.DFM}



procedure TMainForm.BAddTextClick(Sender: TObject);

var

   before,after,current,full,str : String;

   i : Integer;

begin

    //按照行获得memo中的内容

    MContent.SelectAll;

    //如果内容为空,跳出提示

    if MContent.SelLength=0 then

    begin

      showMessage('靠!耍我啊!粘贴字段先......');

    end

    else

    begin

    //定义域添加的常量字符串

    before := 'inbuf=FML32'+ #13#10+'outbuf=FML32'+ #13#10+'export=true'+ #13#10;

    current:= 'param=';

    after  := 'type=string'+ #13#10+'access=inout'+ #13#10+'count=0'+ #13#10+'';

    full := '';

      for i := 0 to MContent.lines.count - 1 do

      begin

          str := MContent.Lines[i];

          if length(trim(str)) > 0 then

          begin

            //生成所欲要的格式

            str := UpperCase(str)+ #13#10;

            //添加到memo中

            full := full + before +  current + str + after;

            if i <> MContent.lines.count - 1 then

               full := full + #13#10;

          end

      end;

      MContent.Clear;

      MContent.text := full;

    end

end;



procedure TMainForm.BCutClick(Sender: TObject);

begin

MContent.SelectAll;

if MContent.SelLength>0 then

begin

   MContent.CutToClipboard;

   MContent.Clear;

end

end;



procedure TMainForm.BSaveClick(Sender: TObject);

begin

  if savedialog1.Execute then

    MContent.Lines.SaveToFile(savedialog1.FileName);

end;



procedure TMainForm.BOpenClick(Sender: TObject);

begin

  if Opendialog1.Execute then

    MContent.Lines.LoadFromFile(opendialog1.FileName);

end;



procedure TMainForm.BCopyClick(Sender: TObject);

begin

      MContent.selectall;

      MContent.copytoclipboard;

end;



procedure TMainForm.BPasteClick(Sender: TObject);

begin

    MContent.Clear;

    MContent.PasteFromClipboard;

end;



procedure TMainForm.BExitClick(Sender: TObject);

begin

  close;

end;



procedure TMainForm.BClearClick(Sender: TObject);

begin

  MContent.Clear;

end;



procedure TMainForm.BRollbackClick(Sender: TObject);

var

   full,str : String;

   i, size: Integer;

begin

    //按照行获得memo中的内容

    MContent.SelectAll;

    //如果内容为空,跳出提示

    if MContent.SelLength=0 then

    begin

      showMessage('靠!耍我啊!都没有东西还原什么!不能这么欺负人吧......');

    end

    else

    begin

      full := '';

      for i := 0 to MContent.lines.count - 1 do

      begin

          str  := MContent.Lines[i];

          size := length(str);

          if length(trim(str)) > 0 then

          begin

            //生成所欲要的格式

            if  Pos('m', str) > 0  then

            begin

              str := copy(str, 7, size);

              //添加到memo中

              full := full + str + #13#10;

            end

          end

      end;

      MContent.Clear;

      MContent.text := full;

    end

end;



end.



分享到:
评论

相关推荐

    Delphi7删除字符串指定字符(汉字)的例子.rar

    Delphi7删除字符串指定字符的例子,如图所示的运行效果,示例如下文字:“经过这几天在网上的淘金,多少也有些了解了,但是现在我发现就算将分区正确的话,分区所指向的目录区也许会有些问题。”,删除指定的文字为...

    Delphi日期转换成字符串

    摘要:Delphi源码,字符处理,日期转换,字符串 Delphi如何将日期转换成字符串呢?Delphi新手可参考的一个代码,源代码在Delphi中可完美编译运行,如示例截图所示。程序将借助Excel2000中的相关组件实现。 运行环境:...

    Delphi在一段文字中分别统计中文字符和英文字符个数

    Delphi在一段文字中分别统计中文字符和英文字符个数,程序智能判断是中文还是英文字符,并把各自的统计结果显示出来,主要是用一个for循环遍历字符串,逐一通过调用ord函数将所有字符转换为对应的数值,再通过Length...

    Delphi socket通信程序(源码,可运行)

    该程序可以直接运行,利用delphi编写socket通信程序,用到TServerSocket和TClientSocket控件

    delphi11(实际上是delphi10.5)补丁

    4、C++ RTL的改进包括在Delphi类中使用make_shared和make_unique,对Delphi字符串的string_view支持,以及Delphi/C++字符串的简单转换。 六、LSP 1、使用Visual Studio Code来编辑Delphi源代码,并具有完整的代码...

    Delphi串口通信工程开发实例导航_配书代码

    ***智能监视系统*** 程序运行时需要视频捕捉设备,如果没有,请安装USB_CAMERA目录下的设备驱动程序。***停车场收费系统*** 先安装sql server, 其中sa用户没有口令,再使用sql目录下的sql文件建立新数据库。***高校...

    Delphi结合SQL数据库使用变量查找字符串

    摘要:Delphi源码,数据库应用,SQL查询,字符串 Delphi结合SQL数据库使用变量查找字符串,示例配套有SQLSERVER数据库,测试前请先附加。如运行截图所示,选择查询字段后,在查询条件一栏可输入自定义的查询变量,若...

    Delphi实现各种文字修饰样式美化实例.rar

    Delphi实现各种文字修饰样式美化实例,先看看截图,把文字修改成众多漂亮的样式,Delphi平滑特效字体控件包源码,本控件包可移植到CnPack中,这个控件是经过了几年的修正并最终完善,作者:周劲羽。本款效果比如可以...

    Delphi输出汉字拼音字符串首字母源代码

    Delphi获取汉字拼音字符串首字母的源代码,你可在输入框中输入任意中文,点击按钮即可获取到每个中文的拼音首字母,并转换成大写形式,如果不需要大写,可自行转换成小写。欢迎使用金字塔源码.传播jztsoft@。 运行...

    Delphi 5 经典教程

    2.6.3 字符串 24 2.6.4 变体类型 32 2.6.5 Currency 39 2.7 用户自定义类型 39 2.7.1 数组 39 2.7.2 动态数组 40 2.7.3 记录 41 2.7.4 集合 42 2.7.5 对象 43 2.7.6 指针 44 2.7.7 类型别名 46 2.8 强制类型转换和...

    Delphi函数参考大全.pdf

    全书共分28章,包括字符串处理函数、数学计算函数、序数函数、三角函数、统计函数、金融函数、随机数函数、单位换算函数、日期函数、类型转换函数、异常处理函数、文件处理函数、图形计算与处理函数、格式转换函数、...

    Delphi异常类型检测依赖性问题示例

    摘要:Delphi源码,界面编程,异常检测  一个Delphi示例,用来说明异常类型检测的依赖性所导致的问题,本示例运行中将弹出异常。...接下来的代码将试图把E.MsgID作为字符串(E.MsgStr)来读取,这将导致错误。

    Delphi5开发人员指南

    2.6.3 字符串 24 2.6.4 变体类型 32 2.6.5 Currency 39 2.7 用户自定义类型 39 2.7.1 数组 39 2.7.2 动态数组 40 2.7.3 记录 41 2.7.4 集合 42 2.7.5 对象 43 2.7.6 指针 44 2.7.7 类型别名 46 2.8 强制类型转换和...

    delphi 开发经验技巧宝典源码

    第5章 字符与字符串处理技术 99 5.1 ASCII码与编码转换 100 0150 如何获得汉字的区位码 100 0151 通过区位码获取汉字 100 0152 根据ASCII码获得字母 101 0153 获得字母的ASCII码 101 5.2 字符中的转换...

    088_《Delphi开发经验技巧宝典》(2/2)

    全书共分29章,分别是开发环境、语言基础、程序算法、函数应用、字符与字符串处理技术、日期和时间、数据处理技术、窗体与界面设计、控件技术、键盘与鼠标、文件与文件管理、磁盘管理、图形与图像技术、动画与多媒体...

    Delphi TClientSocket 获取网络时间并自动校正.rar

    Delphi TClientSocket 获取网络时间并自动校正Windows电脑时间,并截取表示时间的字符串。与本机时间进行比对,并进行校正。自动从Windows中的时间服务器获取时间戳,对字符串处理比对后更新系统时间,和Windows时间...

    delphi 开发经验技巧宝典源码06

    第5章 字符与字符串处理技术 99 5.1 ASCII码与编码转换 100 0150 如何获得汉字的区位码 100 0151 通过区位码获取汉字 100 0152 根据ASCII码获得字母 101 0153 获得字母的ASCII码 101 5.2 字符中的转换...

    040_《Delphi函数参考大全》(2/4)

    全书共分28章,包括字符串处理函数、数学计算函数、序数函数、三角函数、统计函数、金融函数、随机数函数、单位换算函数、日期函数、类型转换函数、异常处理函数、文件处理函数、图形计算与处理函数、格式转换函数、...

    040_《Delphi函数参考大全》(1/4)

    全书共分28章,包括字符串处理函数、数学计算函数、序数函数、三角函数、统计函数、金融函数、随机数函数、单位换算函数、日期函数、类型转换函数、异常处理函数、文件处理函数、图形计算与处理函数、格式转换函数、...

Global site tag (gtag.js) - Google Analytics