自己写的 分割 字符串 的小软件
本帖最后由 qq351317878 于 2014-10-15 18:18 编辑分割已一行为单位,可同时分割多行
以逗号为分割标志
(源码可以自己修改)
源码献上 界面,源码和我人一样丑 所以轻喷
http://pan.baidu.com/s/1dDvjR49
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Memo2: TMemo;
Memo3: TMemo;
Memo4: TMemo;
Memo5: TMemo;
Memo6: TMemo;
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
function mysplit(Source, Deli: string ): TStringList; stdcall;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
j,i,memocount:Integer;
s:string;
constr:TStringList;
begin
Memo2.Clear;
Memo3.Clear;
Memo4.Clear;
Memo5.Clear;
Memo6.Clear;
memocount:= Memo1.Lines.Count ;
for i:= 0 to memocount do
begin
s:=Memo1.Lines.Strings;
s:=StringReplace (s, ',', ',', ); //转换全角
ifLength(Trim(s)) <> 0 then
begin
constr :=TStringList.Create;
constr:= mysplit(s,','); //分割文本
if constr.Count = 5 then
begin
Memo2.Lines.Add(constr);
Memo3.Lines.Add(constr);
Memo4.Lines.Add(constr);
Memo5.Lines.Add(constr) ;
Memo6.Lines.Add(constr) ;
end;
end;
end;
Label1.Caption := + IntToStr(Memo1.Lines .Count - Memo2.Lines.Count )+'处分割失败';
end;
function tform1.mysplit (Source, Deli: string ): TStringList; stdcall; //分割函数
var
EndOfCurrentString: byte;
StringList:TStringList;
begin
StringList:=TStringList.Create;
while Pos(Deli, Source)>0 do
begin
EndOfCurrentString := Pos(Deli, Source);
StringList.add(Copy(Source, 1, EndOfCurrentString - 1));
Source := Copy(Source, EndOfCurrentString + length(Deli), length(Source) - EndOfCurrentString);
end;
Result := StringList;
StringList.Add(source);
end;
end.
end;
function tform1.mysplit (Source, Deli: string ): TStringList; stdcall;
var
EndOfCurrentString: byte;
StringList:TStringList;
begin
StringList:=TStringList.Create;
while Pos(Deli, Source)>0 do
begin
EndOfCurrentString := Pos(Deli, Source);
StringList.add(Copy(Source, 1, EndOfCurrentString - 1));
Source := Copy(Source, EndOfCurrentString + length(Deli), length(Source) - EndOfCurrentString);
end;
Result := StringList;
StringList.Add(source);
end;
end.
本帖最后由 qq351317878 于 2014-10-15 18:20 编辑
沙发坐了{:1_1:} 听说抢沙发的含义很邪恶{:9_235:}
求大神鞭挞
怎么不把代码贴出来? Mikel 发表于 2014-10-15 18:14
怎么不把代码贴出来?
好 Mikel 发表于 2014-10-15 18:14
怎么不把代码贴出来?
贴上了 大神多鞭挞 Mikel 发表于 2014-10-15 18:14
怎么不把代码贴出来?
因为这东西是一个朋友需要,然后也不怎么难就写了 。。没有什么高难度的东西 我不是大神啊, 我真的看不懂,你这是python? 很抱歉啊。 Mikel 发表于 2014-10-15 18:41
我不是大神啊, 我真的看不懂,你这是python? 很抱歉啊。
delphi7 人丑,代码也丑T^T 楼主标题党,这明明就是C语言的 蚂蚁_Data 发表于 2014-10-18 10:25
楼主标题党,这明明就是C语言的
Delphi 7 好不好 c语言各种括号 Delphi 是begin和end的 格式都是按照小甲鱼教的格式来的 不至于这么难看懂吧 自我感觉可读性还是不错的 下载cnpack 读代码跟好
页:
[1]