实例介绍
【实例截图】无
【核心代码】刷卡机读取 myexe.exe 透过 web service 写入资料库
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Data;
namespace MYEXE
{
class Program
{
static void Main(string[] args)
{
string str1;
// 是否有參數
if (args.Length > 0)
{
str1 = args[0];
if (File.Exists(str1) == false)
{
// 無檔案就停止
str1 = "無此 " str1 " 檔案";
Console.WriteLine(str1);
return;
}
}
else
{
// 沒有參數就停止
//str1 = "20140428.TXT"; //debug 用
str1 = "沒有檔名";
Console.WriteLine(str1);
return;
}
// 改為小寫檔名
str1 = str1.ToLower();
// 建立 log 檔檔名
string str2 = str1.Replace(".txt",".log");
// 取得系統時間 -- 開始
Console.WriteLine(DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff tt"));
// 呼叫副程式寫入資料庫和計算筆數
int num = fcount(str1,str2);
// 取得系統時間 -- 結束
Console.WriteLine(DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff tt"));
if (num < 0)
{
str1 = "無法開啟" str1 "檔案";
}
Console.WriteLine("{0}:{1}", str1, num);
}
static int fcount(string filename1, string filename2) // 檔案筆數
{
try // 檔案使用中不開啟
{
// 讀取檔案1
string[] str1 = File.ReadAllLines(filename1, System.Text.Encoding.Default);
if (File.Exists(filename2) == false)
{
// 檔案不存在的話先寫入一個空白的檔案
File.WriteAllText(filename2,"", System.Text.Encoding.Default);
}
// 讀取檔案2
string[] str2 = File.ReadAllLines(filename2, System.Text.Encoding.Default);
int num = 0; // 筆數
// 讀取字串
while (num < str1.Length)
{
// 判斷是否已有匯入成功
if (str2.Length > num)
{
if (str1[num].Substring(0, 27) == str2[num].Substring(0, 27))
{
if (str2[num].IndexOf("正確") >= 0 || str2[num].IndexOf("重複刷卡") >= 0)
{
// 已有匯入的時候就不重複執行
str1[num] = str2[num]; // 寫入轉檔訊息
num ;
continue;
}
}
}
// 呼叫 Web Service 寫入資料庫
myexe_ws.Service1 myexe_ws1 = new myexe_ws.Service1();
int imp_chk = myexe_ws1.MyEXE_imp(str1[num]);
// 錯誤讀取的資訊
if (imp_chk < 0)
{
switch (imp_chk)
{
case -1:
str1[num] = str1[num] " 無此 " str1[num].Substring(14, 10) " 卡號";
break;
case -2:
str1[num] = str1[num] " 資料庫錯誤";
break;
case -3:
str1[num] = str1[num] " 重複刷卡記錄";
break;
default:
str1[num] = str1[num] " 不明原因";
break;
}
}
else
{
str1[num] = str1[num] " 正確";
}
num ;
}
// 覆寫 Log 的檔案
File.WriteAllLines(filename2, str1, System.Text.Encoding.Default);
return num; // 回傳檔案筆數
}
catch (Exception)
{
return -1; // 檔案開啟錯誤
}
}
}
}
标签: 刷卡机
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论