vb6.0-VB6语句改成C#该怎么写

问题描述

VB6语句改成C#该怎么写

Dim dFile() As Byte
dFile = iRs.Fields("FData").Value‘二进制数据库字段
Dim smFile As ADODB.Stream
Set smFile = New ADODB.Stream
smFile.Type = adTypeBinary
smFile.Open
smFile.Write dFile
smFile.SaveToFile App.Path & "Tb.dat", adSaveCreateOverWrite
Dim ozip As Object
Set ozip = CreateObject("KDZIP.ZIP")
If Dir(App.Path & "Temp", vbDirectory) = "" Then '文件夹不存在
MkDir App.Path & "Temp" '在应用程序根目下,创建文件夹Backup
End If
ozip.DeCompress App.Path & "Tb.dat", App.Path & "TempItemImg.bmp"
Shell "rundll32 url.dll,FileProtocolHandler """ & App.Path & "TempItemImg.bmp" & """", vbNormalFocus
smFile.Flush
smFile.Close
Set ozip = Nothing

解决方案

无非就是图片以二进制压缩形式存在数据库中,你的代码读取出来,然后解压得到文件,最后调用rundll32
第一个步骤:
http://www.jb51.net/article/36148.htm
http://yisean.iteye.com/blog/542687
第二个步骤,因为你有KDZIP.ZIP,所以你同样可以引用这个库,调用DeCompress
创建目录在C#中是Directory.Create
最后一个步骤,Process.Start代替Shell
http://blog.csdn.net/gaiazhang/article/details/9170393

解决方案二:

有语言转换器软件,可以试试。例如VB TO VB.NET , VB.NET TO C#、

时间: 2024-12-24 08:13:08

vb6.0-VB6语句改成C#该怎么写的相关文章

数据库-小白 求大神解答 eclipse连接mysql语句改成连接sql2008

问题描述 小白 求大神解答 eclipse连接mysql语句改成连接sql2008 package library; import javax.swing.*; import java.sql.*; public class Database{ private String url = "jdbc:mysql://localhost/library";// //private String url = "jdbc:mysql://localhost:3306/library&

怎么把这条update语句改成linq?

问题描述 UPDATED_BIAOSETAUDIT_FLAG=#{auditFlag},AUDIT_NAME=#{auditName},AUDIT_DATE=getDate(),AUDIT_NOTE=#{auditNote}WHEREMESSAGE_ID=#{messageId}怎么改成linq急求3Q用的是c#,如查询语句写成这样:varquery=fromfindb.D_BIAOwhere(f.MESSAGE_ID==MESSAGE_ID)selectnewModel{MESSAGE_ID=

android5.0联系人 sort_key改成phonebook_label

项目中用到了联系人根据字母排序,在android4.0手机上是可以的,但是在android4.4以上的手机排序是乱的,一般字母排序都是根据sort_key这个拼音进行排序,而android5.0这个字段没有保存拼音,直接是汉字. 于是我把4.4的手机上联系人db文件查看了一下,发现phonebook_label保存的是联系人姓名拼音首字母 如何使用adb命令把联系人db文件copy到电脑. 1.手机跟电脑usb数据线进行连接,并且电脑端装了手机usb驱动(简单说明就是在开发调试环境下) 2.联系

VB6.0中For语句的两种用法,如何用第二种用法遍历一个数组?

问题描述 VB6.0中For语句的两种用法,如何用第二种用法遍历一个数组? VB6.0中For语句的两种用法,如何用第二种用法遍历一个数组? 解决方案 正序 for i = lbound(arr) to ubound(arr) arr(i) next 逆序 for i = ubound(arr) to lbound(arr) step -1 arr(i) next 解决方案二: 一个加密解密函数 for vb6.0!VB6.0中的编译预处理--#IF语句

下面的改成java实现的

问题描述 ifleft(per,1)="."thenper="0"+right(per,len(per))这个是vb.net的要改成java的代码写出来吧谢谢per是一个string这个leftright不知道是从0开始还是1开始求教 解决方案 解决方案二:PrintLeft(str,2)'最左边2个字符PrintRight(str,2)'最右边2个字符 right(per,len(per))让我很难理解...if(".".equals(per.

VB6.0语言中关于布尔表达式转换成字符串的问题

问题描述 VB6.0语言中关于布尔表达式转换成字符串的问题 VB6.0语言数据库里存储的布尔表达式怎么以结果的形式拿到值,或者字符串转换为表达式的运算 解决方案 你可以用scripthost去执行你的表达式,得到结果

有一个vb6.0的很小的程序想请高手帮忙转成vb2005的

问题描述 是读串口的程序很短大家帮一下忙!能够再具体说,分数给加先谢谢啦! 解决方案 解决方案二:靠,有没有你这样提问的.......程序贴出来看看先解决方案三:vb6.0用的是mscomm控件吧?基本上代码可以直接用的.vs2003提供了一个vb6.0代码升级为.net代码的工具.解决方案四:.NET下可以用System.IO.Ports.SerialPort类具体请参考MSDN解决方案五:用vs2005打开vb6的工程,然后vs2005会自动把你的程序转换为vb2005的程序,而且非常完美.

vb编程-vb6.0程序 产生【10,37】之间的随机整数

问题描述 vb6.0程序 产生[10,37]之间的随机整数 产生[10,37]之间的随机整数 写出下列运算对应的vb表达式 求解(最好详细点 谢谢) 还想求个专门讨论vb的q群 或者论坛 解决方案 val(Rnd(37-10))+10 解决方案二: 如包含37,则如下写 val(Rnd(38-10))+10 解决方案三: val改成CInt,自己试试

Vb6.0 Variant 在 Vb.net 中 Object 的问题

问题描述 Vb6.0代码如下:ConstDATASIZE=459DimglngEnrollDataAsVariantDimvniiAsLongDimvByte()AsByteastrBuff=Rs.Fields("TEMP")'2进制字段vByte=astrBuffForvnii=0ToDATASIZE-1glngEnrollData(vnii)=vByte(vnii*5+1)glngEnrollData(vnii)=glngEnrollData(vnii)*256+vByte(vni