vb shell:

Private Sub AddBarcodeImages(ByVal DTab As DataTable)
If Not DTab Is Nothing Then DTab.Columns.Add("BCIMAGE", Type.GetType("System.Byte[]")) Dim r As DataRow
For Each r In DTab.Rows Try
Dim BatchNo As String = CStr(r.Item("Operator2")).Trim
Dim sFileName As String = "C:\TEMP\" & BatchNo & ".jpg" Shell("Barcode.exe " & BatchNo & "", AppWinStyle.NormalFocus, True) Dim fs As IO.FileStream = New IO.FileStream(sFileName, IO.FileMode.Open)
Dim fi As IO.FileInfo = New IO.FileInfo(sFileName)
Dim fl As Long = fi.Length
Dim lung As Integer = Convert.ToInt32(fl)
Dim imgBytes As Byte() = New Byte(lung - ) {}
fs.Read(imgBytes, , lung)
fs.Close()
r.Item("BCIMAGE") = imgBytes Dim f As IO.File
Try
f.Delete(sFileName)
Catch ex As Exception
Console.WriteLine(ex.ToString)
End Try Catch ex As Exception
'MessageBox.Show(ex.ToString)
End Try
Next
End If
End Sub

c# Process线程:

private DataTable getReportData()
{
DataTable tb = new DataTable();
tb.Columns.Add("Operator", Type.GetType("System.String"));
tb.Columns.Add("OperName", Type.GetType("System.String"));
tb.Columns.Add("Line_No", Type.GetType("System.String"));
tb.Columns.Add("SessionID", Type.GetType("System.String"));
tb.Columns.Add("IsActive", Type.GetType("System.String"));
tb.Columns.Add("IsLine", Type.GetType("System.String"));
tb.Columns.Add("logo", Type.GetType("System.Byte[]")); DataRow row;
foreach (DataRow r in ds.Tables["empd10"].Rows)
{
if (r["s_select"].ToString() == "F") continue;
if (r["ticketstatus"].ToString() != "Y") continue;
try
{
row = tb.NewRow();
row.BeginEdit();
row["Operator"] = r["empno"];
row["OperName"] = r["empname"].ToString() + r["eng_name"].ToString();
row["Line_No"] = r["teamno"];
row["SessionID"] = "";
row["IsActive"] = "";
row["IsLine"] = "";
//--------------------------------------------------条码-------------------------------------------
string BatchNo = row["Operator"].ToString().Trim();
string sFileName = @"C:\TEMP\" + BatchNo + ".jpg"; //------------------shell函数在c#的转换--------------------
Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo("Barcode.exe", BatchNo + "");
startInfo.WorkingDirectory = Application.StartupPath;
process.StartInfo = startInfo;
process.Start();
process.WaitForExit();//必不可少否则出现条码生成不成功的情况
//------------------shell函数在c#的转换-------------------- System.IO.FileStream fs = new System.IO.FileStream(sFileName, System.IO.FileMode.Open);
System.IO.FileInfo fi = new System.IO.FileInfo(sFileName);
long f1 = fi.Length;
int lung = Convert.ToInt32(f1);
Byte[] imgBytes = new Byte[lung];
fs.Read(imgBytes, , lung);
fs.Close();
row["logo"] = imgBytes; try
{
System.IO.File.Delete(sFileName);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
//--------------------------------------------------条码-------------------------------------------
row.EndEdit();
tb.Rows.Add(row);
}
catch (Exception ex)
{
//return null;
}
}
tb.TableName = "OM";
tb.AcceptChanges();
return tb;
}

vb shell函数在c#的转换的更多相关文章

  1. Shell入门教程:Shell函数详解

    Shell函数类似于Shell脚本,里面存放了一系列的指令,不过Shell的函数存在于内存,而不是硬盘文件,所以速度很快,另外,Shell还能对函数进行预处理,所以函数的启动比脚本更快. 1.函数定义 ...

  2. Shell入门教程:Shell函数的返回值

    shell函数返回值一般有3种方式: 1.return语句(默认的返回值) shell函数的返回值可以和其他语言的返回值一样,通过return语句返回. 比如: #!/bin/bash functio ...

  3. (转)Shell函数

    Shell函数类似于Shell脚本,里面存放了一系列的指令,不过Shell的函数存在于内存,而不是硬盘文件,所以速度很快,另外,Shell还能对函数进行预处理,所以函数的启动比脚本更快. 1.  函数 ...

  4. Linux Shell系列教程之(十五) Shell函数简介

    本文是Linux Shell系列教程的第(十五)篇,更多Linux Shell教程请看:Linux Shell系列教程 函数可以将一个复杂功能划分成若干模块,从而使程序结构更加清晰,代码重复利用率更高 ...

  5. Shell函数的简单应用

    Shell函数的简单应用 在脚本内给函数传参: #!/bin/bash . /etc/init.d/functions CheckUrl (){ curl -I -s $ | head - } Che ...

  6. Shell函数语法

    Shell函数语法 定义函数: function   函数名(){ 指令... } 调用函数,方法1: 函数名 调用函数,方法2: 函数名  参数一   参数二 return在函数里面使用会跳出函数并 ...

  7. shell 函数

    1 shell函数的定义及其调用 shell函数有两种格式: function name { commands } name() { commands } 其中,name为函数名,commands为函 ...

  8. Shell函数:Shell函数返回值、删除函数、在终端调用函数

    函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高.像其他编程语言一样,Shell 也支持函数.Shell 函数必须先定义后使用. Shell 函数的定义格式如下: f ...

  9. Shell函数返回值、删除函数、在终端调用函数

    Shell 也支持函数.Shell 函数必须先定义后使用. Shell 函数的定义格式如下: function_name () { list of commands [ return value ] ...

随机推荐

  1. led灯的驱动电流和电阻

     通常led灯条所采用的LED驱动电流都是20mA, 这网站里有led电阻的详细计算过程:http://www.bao1314.net/792.html

  2. jQuery--- .hasOwnProperty 用法

    ☆ obj.hasOwnProperty('prop'): 是用来判断一个对象是否有你给出名称的属性或对象.不过需要注意的是, 此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个 ...

  3. 【多线程学习笔记整理】002_线程的停止、暂停、与yield

    一.停止线程的三种方式 停止线程是多线程中的一个很重要的点,停止线程意味着在线程处理完当前任务之前终止正在做的操作,但是如果不能正确的操作,可能会发生不可预期的结果. 1)使用退出标志,使线程正常退出 ...

  4. <frameset>框架集中不同<frame>之间的调用【js代码中】

    top:永远指分割窗口最高层次的浏览器窗口;parent:包含当前分割窗口的父窗口,本文将围绕js中top.parent.frame进行讲述及他们的应用案例 引用方法top: 该变量永远指分割窗口最高 ...

  5. day33 python学习 多线程

    线程的概念 进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是cpu上的执行单位. 三 线程与进程的区别 1 1.线程的创建开销小(无需申请内存空间或者资源),创建线程的 ...

  6. 使用blessed 开发丰富的cli 应用

    blessed 是一个不错的npm 包,可以帮助我们开发出带有丰富ui界面的cli 应用,类似的有subzero 测试环境准备 项目结构 ├── README.md ├── app.js ├── my ...

  7. smarty学习——内建函数(部分接上)

    9.{foreach} {foreachelse} 格式如下: {foreach $arrayvar as $itemvar} {foreach $arrayvar as $keyvar=>$i ...

  8. JS 得细心的坑位

    <script> function test(link) { link = link || 'none'; alert(link); } function test2(){ var lin ...

  9. 【转】每天一个linux命令(29):chgrp命令

    原文网址:http://www.cnblogs.com/peida/archive/2012/12/03/2799003.html 在lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理. ...

  10. java 方向术语

    缩写 英文 中文意思 POJO Plain Ordinary Java Object 简单的Java对象 slf4j Simple Logging Facade for Java 简单日志门面,跟 C ...