分页: 10/86 第一页 上页 5 6 7 8 9 10 11 12 13 14 下页 最后页 [ 显示模式: 摘要 | 列表 ]

C# 号码mask程序

不指定 月漩涡 , Sep 26 09:17 , C# , 评论(0) , 引用(0) , 阅读(243) , 本站原创

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;

namespace NumMask
{
    public class Masker
    {
        ArrayList numbers = new ArrayList();//定义一个ArrayList变量,用于收集从主程序传递来的号码
        ArrayList newnum = new ArrayList();//这是一个返回处理结果的Arraylist
        public ArrayList NumberChange(ArrayList number)
        {
            foreach (string num in number)
            {
                numbers.Add(num);//把接收到的号码放入numbers中
            }
            foreach (string n in numbers)//进行处理
            {
                char[] temp = n.ToCharArray();
                for (int i = 3; i <= 7; i++)//把号码的3到7位用*号代替,这里应该有更好的方法,我的比较笨,希望大家可以给我建议
                {
                    temp[i] = '*';
                }
                string s = new string(temp);
                newnum.Add(s);//把Mask后的号码放入结果数组等待返回
            }
            return newnum;
        }
    }
}

 

然后生成它,得到NumMask.dll文,再建立一个winform项目,添加刚才的NumMask.dll为引用。winform组件界面如下:
ListBox1、button


我们没有使用数据库作为号码来源,而是使用了简单的定义好的号码,在实际中可以把数据库中的号码字段读取到一个ArrayList中,然后调用NumMask来处理。
ListBox1用于显示处理结果,我们看看“开始转换”按钮的代码:记得在开头添加using NumMask;


private void button1_Click(object sender, EventArgs e)
        {
            ArrayList al = new ArrayList();//定义al为原始的号码数组
            ArrayList ab = new ArrayList();//定义ab为处理后的结果
            al.Add("13888567890");//向原始号码中添加号码
            al.Add("15878990987");
            NumMask.Masker mk = new Masker();//实例化一个Masker
            ab=mk.NumberChange(al);//向其中传入原始数据al,用ab接收结果
            foreach (string nums in ab)
            {
                listBox1.Items.Add(nums);//输出结果
            }
        }

 


点击在新窗口中浏览此图片
Tags: , ,
Delphi 5
Delphi 6
Delphi 7
Delphi 2005
Delphi 2005 NET
Delphi 2006
Delphi 2006 NET
Delphi 2007
Delphi 2009
Delphi 2010


下载文件 (已下载 14 次)
这个文件只能在登入之后下载。请先 注册登入
Tags: , ,

function TJzpzEdit1.MoneyCn(mmje: Double): string;
const
s1: string = '零壹贰叁肆伍陆柒捌玖';
s2: string = '分角元拾佰仟万拾佰仟亿拾佰仟万';

function StrTran(const S, s1, s2: string): string;
begin
Result := StringReplace(S, s1, s2, [rfReplaceAll]);
end;
var
S, dx: string;
i, Len: Integer;
begin
if mmje < 0 then
begin
dx := '负';
mmje := -mmje;
end;
S := Format('%.0f', [mmje * 100]);
Len := Length(S);
for i := 1 to Len do
dx := dx + Copy(s1, (Ord(S[i]) - Ord('0')) * 2 + 1, 2) + Copy(s2, (Len - i)
* 2 + 1, 2);
dx := StrTran(StrTran(StrTran(StrTran(StrTran(dx, '零仟', '零'), '零佰',
'零'),
'零拾', '零'), '零角', '零'), '零分', '整');
dx := StrTran(StrTran(StrTran(StrTran(StrTran(dx, '零零', '零'), '零零',
'零'),
'零亿', '亿'), '零万', '万'), '零元', '元');
if dx = '整' then
Result := '零元整'
else
Result := StrTran(StrTran(dx, '亿万', '亿零'), '零整', '整');
end;
//////////
procedure TJzpzEdit1.FormCreate(Sender: TObject);
begin

// 声明函数 (函数声明,含税名,说明)
frxReport1.AddFunction('function MoneyCn(mmje: Double): String;','Myfunction','小写金额转大写的函数');
end;
//////////
function TJzpzEdit1.frxReport1UserFunction(const MethodName: string;
var Params: Variant): Variant;
begin
if UpperCase(MethodName) = UpperCase('MoneyCn') then
Result := MoneyCn(Params[0]);
end;
//////////
报表中调用方法
MoneyCn(50000000)
 
Tags: ,

Delphi UniDAC30 FS

不指定 月漩涡 , Sep 24 17:14 , Delphi , 评论(0) , 引用(0) , 阅读(204) , 本站原创
Delphi 6
Delphi 7
Delphi 9
Delphi 10
Delphi 11
Delphi 12
Delphi 14

下载文件 (已下载 9 次)
这个文件只能在登入之后下载。请先 注册登入
Tags: ,
Delphi 7
Delphi 2005
Delphi 2006
Delphi 2007
Delphi 2009

下载文件 (已下载 30 次)
这个文件只能在登入之后下载。请先 注册登入
Tags: ,
分页: 10/86 第一页 上页 5 6 7 8 9 10 11 12 13 14 下页 最后页 [ 显示模式: 摘要 | 列表 ]