qq351317878 发表于 2014-10-15 17:38:44

自己写的 分割 字符串 的小软件

本帖最后由 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 17:40:39

本帖最后由 qq351317878 于 2014-10-15 18:20 编辑

沙发坐了{:1_1:} 听说抢沙发的含义很邪恶{:9_235:}

求大神鞭挞

Mikel 发表于 2014-10-15 18:14:53

怎么不把代码贴出来?

qq351317878 发表于 2014-10-15 18:15:24

Mikel 发表于 2014-10-15 18:14
怎么不把代码贴出来?

qq351317878 发表于 2014-10-15 18:19:37

Mikel 发表于 2014-10-15 18:14
怎么不把代码贴出来?

贴上了   大神多鞭挞

qq351317878 发表于 2014-10-15 18:22:47

Mikel 发表于 2014-10-15 18:14
怎么不把代码贴出来?

因为这东西是一个朋友需要,然后也不怎么难就写了   。。没有什么高难度的东西

Mikel 发表于 2014-10-15 18:41:07

我不是大神啊, 我真的看不懂,你这是python? 很抱歉啊。

qq351317878 发表于 2014-10-15 21:41:06

Mikel 发表于 2014-10-15 18:41
我不是大神啊, 我真的看不懂,你这是python? 很抱歉啊。

delphi7    人丑,代码也丑T^T

蚂蚁_Data 发表于 2014-10-18 10:25:15

楼主标题党,这明明就是C语言的

qq351317878 发表于 2014-10-18 10:38:47

蚂蚁_Data 发表于 2014-10-18 10:25
楼主标题党,这明明就是C语言的

Delphi 7 好不好   c语言各种括号    Delphi   是begin和end的   格式都是按照小甲鱼教的格式来的   不至于这么难看懂吧   自我感觉可读性还是不错的   下载cnpack    读代码跟好

大个的糖果 发表于 2014-10-30 16:01:47

页: [1]
查看完整版本: 自己写的 分割 字符串 的小软件