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. git中的标签

     /*游戏或者运动才能让我短暂的忘记心痛,现如今感觉学习比游戏和运动还重要——曾少锋*/ 1.创建标签: 对于标签来说大家都很熟悉,简单说就是将一个很长的门牌号用另外一个名字来取代,并且好记. 其实利 ...

  2. ReSharper2017.3的列对齐、排版格式、列对齐错误的修复

    ReSharper代码排版格式 列对齐 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...

  3. Codeforces 1096G. Lucky Tickets【生成函数】

    LINK 题目大意 很简单自己看 思路 考虑生成函数(为啥tags里面有一个dp啊) 显然,每一个指数上是否有系数是由数集中是否有这个数决定的 有的话就是1没有就是0 然后求出这个生成函数的\(\fr ...

  4. .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况

    一个简单的 Task 不会消耗多少时间,但如果你不合适地将 Task 转为同步等待,那么也可能很快耗尽线程池的所有资源,出现类似死锁的情况. 本文将以一个最简单的例子说明如何出现以及避免这样的问题. ...

  5. docker 方式运行drill

    drill 1.14 版本已经官方支持使用docker 直接运行可,还是比较方便的,尽管镜像 有点大,但是实际测试使用还是比较方便的,实际上自己做一个也比较简单. 下载镜像 docker pull d ...

  6. Java 虚拟机(JVM)

    java 中的 JIT (Just in time) compiler:即时编译器.

  7. map的put和putIfAbsent使用

    源码中传入key和value,根据key获取看是否存在value,如果value==null,然后调用put方法把传入的key和value  put进map,返回根据key获取的老value 意思就是 ...

  8. Microsoft Dynamics CRM 2011 如何导入组织

    一.首先备份数据库,还原数据库(前面SQL server 2008数据库的备份与还原(转)已经说明),这里就不说明了. 二.怎么删除组织? 先要在组织管理器里禁用组织,然后删除组织,再从数据库里删除. ...

  9. thinkphp3.2用户登录ajax提交验证

    html代码 <if condition="!isset($_SESSION['account'])"> <div class="load lf&quo ...

  10. ES(3): ES Cluster Extended Azure Storage

    Azure VM的磁盘空间远远不能满足ES集群存储需求(还需除掉VM的临时盘),同时也未找着ES配置 block blob storage 存储的组件,因此下文介绍通过挂载附加盘的方式增加ES集群存储 ...