直接将下面的代码拷贝到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.
分享到:
相关推荐
本主题将深入探讨“DELPHI 字符串处理单元”中的关键知识点,包括宽字节处理、wideString类型、中文字符串处理以及优化的字符串操作。 首先,宽字节处理是Unicode标准的一部分,旨在支持全球各种语言的字符集。在...
通过分析和学习这个文件,我们可以深入理解高级字符串处理技术,并将其应用到自己的项目中,提高代码的运行效率。 总之,当Delphi内置的`StringReplace`函数无法满足性能需求时,开发者会寻求自定义解决方案,如`Q_...
枚举类型在处理固定集合的值时非常有用,而字符串转换则是编程中常见的操作,特别是在处理用户输入或数据交互时。当我们需要将枚举类型与字符串相互转换时,Delphi提供了多种方法来实现这一目标。以下将详细介绍如何...
通过打开和分析这些文件,我们可以看到具体的实现代码,以及如何在Delphi IDE中运行和调试这个字符串截取的DEMO。 总结来说,处理Delphi中的中文和英文混合字符串截取,关键在于理解Unicode字符串的特性,正确选择...
- LCSUnit.pas: 这是DELPHI的单元文件,包含了LCS算法的实现代码,可能包括字符串处理和动态规划数组的声明及填充逻辑。 - LCSProject.res: 资源文件,可能包含应用程序的图标和其他资源。 通过这些文件,你可以...
总的来说,这个压缩包提供了一个完整的DELPHI项目,实现了Levenshtein算法,可用于计算字符串的相似度。开发者可以通过查看源代码学习如何在DELPHI中实现这个算法,也可以直接使用提供的可执行文件进行快速的字符串...
《使用Delphi实现Levenshtein算法:计算字符串相似度》 在信息技术领域,字符串处理是常见的任务之一,其中计算两个字符串的相似度是尤为重要的一个环节。Levenshtein算法,也称为编辑距离算法,就是用于衡量两个...
这些代码可能涉及如何将字符串转换为类方法调用,如何处理错误,以及如何在运行时动态地使用字符串来控制程序的行为。 总结来说,Delphi通过`TMethod`、RTTI和动态类型系统提供了强大的字符串调用类和方法的能力。...
在 Delphi 编程环境中,字符串处理是一项基本且重要的任务。标题中的“Delphi 字符串截取的例子”指的是利用 Delphi 的内置函数或方法来提取字符串的一部分。在这个例子中,开发者尝试从字符串的左边开始截取指定...
这个"字符串截取小例子Delphi源代码..rar"压缩包文件显然包含了一些使用Delphi编写的示例代码,这些代码展示了如何在Delphi程序中进行字符串截取操作。在Delphi中,处理字符串是一项基本且重要的任务,因为字符串...
在Delphi中,处理字符串通常涉及到`String`类型,它实际上是Unicode字符串,使用UTF-16编码。 该程序包含以下主要组成部分: 1. **用户界面**:一个窗体(Form)是用户与应用程序交互的界面,用户可以在此输入文本...
通过运行这个项目,开发者可以直观地看到如何在 Delphi 中实现字符串到整数的验证。 这个例子虽然简单,但对于初学者来说,它是理解 Delphi 编程和错误处理的一个很好的起点。同时,对于有经验的开发者,它可以作为...
Delphi是一款强大的Object Pascal集成开发环境,它的跨平台特性使得开发者可以在多种操作系统上编写和运行代码。在Delphi中实现gZip解压,通常会借助第三方库,例如ZLib库。ZLib是一个开源的压缩库,它提供了对包括...
首先,代码中使用了GB2312编码来处理字符串。GB2312是一种支持简体中文的字符集,它将中文字符映射到多字节序列中。对于ASCII范围内的字符(即大部分英文字符),只需要一个字节即可表示;而中文字符则通常需要两个...
总之,《字符串加密组件-Encode-Delphi原码》为Delphi开发者提供了一套完整的加密解决方案,它不仅包含了实际的加密算法实现,还考虑到了实际应用中的可配置性和扩展性。通过对源代码的研究,开发者不仅可以提升自身...
- Delphi字符串反解析器:这部分代码接收Delphi字符串,识别其多行和转义特性,重构出原始的SQL语句。 - 用户界面:即使这是一个简单的工具,用户界面也是必不可少的,它应该提供文件导入导出、预览和转换选项等功能...
Delphi7删除字符串指定字符的例子,如图所示的运行效果,示例如下文字:“经过这几天在网上的淘金,多少也有些了解了,但是现在我发现就算将分区正确的话,分区所指向的目录区也许会有些问题。”,删除指定的文字为...
下面我们将深入探讨 Delphi 中字符串操作的特点及其应用。 ## Delphi 字符串概述 ### 动态字符串 Delphi 中的字符串是动态的,这意味着它们可以在运行时根据需要增长或缩短。这与一些静态字符串类型的编程语言形成...
在Delphi 2007中,字符串资源的汉化是一项关键任务,尤其对于开发面向中国市场的软件来说,本地化是必不可少的步骤。 字符串资源汉化主要是将程序中的英文文本转换为中文,以提供更友好的用户界面。在Delphi中,...
本文将深入解析Delphi中关于十进制、二进制、十六进制以及字符串之间的转换方法,旨在为程序员提供实用且精炼的代码示例。 ### 十进制转其他进制 #### 十进制转二进制 在Delphi中,将一个整数转换成二进制字符串...