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. C高级第一次PTA作业

    作业要求一 附加题目 写程序证明P++等价于(p)++还是等价于*(p++)? 1.设计思路: (1).题目算法描述 第一步:定义变量p并赋初值 第二步:分三次计算每次分别输出 p++,(p)++,* ...

  2. ASCII编码和Unicode编码的区别

    链接: 计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了.Unicode标准也在不断发展,但最常用的是用两个字 ...

  3. sourceinsight - imsoft.cnblogs

    显示空格的问题,options->document options->visible space 前面的对勾去掉就好了 sourceinsight中文显示乱码问题彻底解决办法:http:/ ...

  4. Spring4.3整合Hibernate4.3搭建Spring MVC

    1,web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=&qu ...

  5. matplotlib-------标记特殊点

    import matplotlib.pyplot as plt import numpy as np def demo_test(): a=np.array([0.15,0.16,0.14,0.17, ...

  6. oracle mysql sql serve where in 语句的不同

    类似这样的语句在mysql  oracle 是可以执行成功的, select * from classfirst where (classid ,classname) not in (select c ...

  7. web开发的一些总结

    现在我们是在互联网的时代,到处可以使用internet 这些年的发展,让we 成为了当前开发的主流,包括现在好多的移动端开发, 很多也是使用web 页面进行呈现,因为web 拉近了你我之间的距离.对于 ...

  8. log4net保存到数据库系列一:WebConfig中配置log4net

    园子里面有很多关于log4net保存到数据库的帖子,但是要动手操作还是比较不易,从头开始学习log4net数据库日志 一.WebConfig中配置log4net 二.独立配置文件中配置log4net ...

  9. SharedImageCollection

    https://documentation.devexpress.com/#WindowsForms/clsDevExpressUtilsSharedImageCollectiontopic The ...

  10. MLCC Y5V 和 X7R 电容记录

    MLCC Y5V 和 X7R 电容记录 Y5V 的 MLCC 很少见的,但还是要注意. 自己记录一下,一个 100NF Y5V 电容 ,当温度到达 100度时,容值 为 36NF. 但是 X7R 电容 ...