鱼C论坛

 找回密码
 立即注册
查看: 2639|回复: 10

[技术交流] 自己写的 分割 字符串 的小软件

[复制链接]
发表于 2014-10-15 17:38:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 qq351317878 于 2014-10-15 18:18 编辑
分割已一行为单位  ,可同时分割多行
以逗号为分割标志   

(源码可以自己修改)


源码献上   界面,源码和我人一样丑   所以轻喷

http://pan.baidu.com/s/1dDvjR49


  1. unit Unit1;

  2. interface

  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, StdCtrls;

  6. type
  7.   TForm1 = class(TForm)
  8.     Memo1: TMemo;
  9.     Memo2: TMemo;
  10.     Memo3: TMemo;
  11.     Memo4: TMemo;
  12.     Memo5: TMemo;
  13.     Memo6: TMemo;
  14.     Button1: TButton;
  15.     Label1: TLabel;
  16.     procedure Button1Click(Sender: TObject);
  17.     function mysplit(Source, Deli: string ): TStringList; stdcall;


  18.   private
  19.     { Private declarations }
  20.   public
  21.     { Public declarations }
  22.   end;

  23. var
  24.   Form1: TForm1;

  25. implementation

  26. {$R *.dfm}

  27. procedure TForm1.Button1Click(Sender: TObject);
  28. var
  29.   j,i,memocount:Integer;
  30.   s:string  ;
  31.   constr:TStringList;

  32. begin
  33.    Memo2.Clear;
  34.    Memo3.Clear;
  35.    Memo4.Clear;
  36.    Memo5.Clear;
  37.    Memo6.Clear;
  38.    memocount:= Memo1.Lines.Count ;
  39.    for i:= 0 to memocount do
  40.    begin
  41.       s:=Memo1.Lines.Strings[i];
  42.       s:=StringReplace (s, ',', ',', [rfReplaceAll]);    //转换全角
  43.       if  Length(Trim(s)) <> 0 then
  44.       begin


  45.           constr :=TStringList.Create;
  46.           constr:= mysplit(s,',');       //分割文本
  47.           if constr.Count = 5 then
  48.           begin
  49.             Memo2.Lines.Add(constr[0]);
  50.             Memo3.Lines.Add(constr[1]);
  51.             Memo4.Lines.Add(constr[2]);
  52.             Memo5.Lines.Add(constr[3]) ;
  53.             Memo6.Lines.Add(constr[4]) ;
  54.           end;


  55.       




  56.       end;



  57.    end;
  58.    Label1.Caption := + IntToStr(Memo1.Lines .Count - Memo2.Lines.Count )+'处分割失败';








  59. end;
  60. function tform1.mysplit (Source, Deli: string ): TStringList; stdcall;   //分割函数
  61. var
  62. EndOfCurrentString: byte;
  63. StringList:TStringList;
  64. begin
  65.   StringList:=TStringList.Create;
  66.   while Pos(Deli, Source)>0 do
  67.   begin
  68.     EndOfCurrentString := Pos(Deli, Source);
  69.     StringList.add(Copy(Source, 1, EndOfCurrentString - 1));
  70.     Source := Copy(Source, EndOfCurrentString + length(Deli), length(Source) - EndOfCurrentString);
  71.   end;
  72.   Result := StringList;
  73.   StringList.Add(source);
  74. end;

  75. end.







  76. end;
  77. function tform1.mysplit (Source, Deli: string ): TStringList; stdcall;
  78. var
  79. EndOfCurrentString: byte;
  80. StringList:TStringList;
  81. begin
  82.   StringList:=TStringList.Create;
  83.   while Pos(Deli, Source)>0 do
  84.   begin
  85.     EndOfCurrentString := Pos(Deli, Source);
  86.     StringList.add(Copy(Source, 1, EndOfCurrentString - 1));
  87.     Source := Copy(Source, EndOfCurrentString + length(Deli), length(Source) - EndOfCurrentString);
  88.   end;
  89.   Result := StringList;
  90.   StringList.Add(source);
  91. end;

  92. end.
复制代码


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-10-15 17:40:39 | 显示全部楼层
本帖最后由 qq351317878 于 2014-10-15 18:20 编辑

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

求大神鞭挞  
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-10-15 18:14:53 | 显示全部楼层
怎么不把代码贴出来?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-15 18:15:24 | 显示全部楼层
Mikel 发表于 2014-10-15 18:14
怎么不把代码贴出来?

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-15 18:19:37 | 显示全部楼层
Mikel 发表于 2014-10-15 18:14
怎么不把代码贴出来?

贴上了   大神  多鞭挞
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-15 18:22:47 | 显示全部楼层
Mikel 发表于 2014-10-15 18:14
怎么不把代码贴出来?

因为这东西是一个朋友需要,然后也不怎么难  就写了   。。没有什么高难度的东西
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-10-15 18:41:07 | 显示全部楼层
我不是大神啊, 我真的看不懂,你这是python? 很抱歉啊。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-15 21:41:06 From FishC Mobile | 显示全部楼层
Mikel 发表于 2014-10-15 18:41
我不是大神啊, 我真的看不懂,你这是python? 很抱歉啊。

delphi7    人丑,代码也丑T^T
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-10-18 10:25:15 | 显示全部楼层
楼主标题党,这明明就是C语言的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-18 10:38:47 | 显示全部楼层
蚂蚁_Data 发表于 2014-10-18 10:25
楼主标题党,这明明就是C语言的

Delphi 7 好不好   c语言各种括号    Delphi   是begin  和end  的     格式都是按照小甲鱼教的格式来的   不至于这么难看懂吧   自我感觉可读性还是不错的   下载cnpack    读代码跟好
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2014-10-30 16:01:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-18 20:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表