一个很严峻的问题,请进各位
Private Declare Function getdata Lib "sgid.dll" Alias "_GetData@4" (ByVal s As String) As Boolean
Dim n As Long
Dim fp As Long
Dim file1 As String
Dim b As Boolean
Dim s As String * 40
List1.Clear
n = getdatanum(mm, nn)
If n > 0 Then
fp = FreeFile
file1 = Year(Date) & Format(Month(Date), "00") & Format(Day(Date), "00") + ".txt"
Open App.Path & "\" & file1 For Append As fp
aaa: b = getdata(s)
If b = False Then
GoTo endd
End If
Print #fp, s
List1.AddItem (s)
GoTo aaa
Else
If n = 0 Then
List1.AddItem ("无数据")
Else
List1.AddItem ("错误")
End If
Exit Sub
endd:
Close fp
这个人家提供的一个VB调用那个"sgid.dll"动态库的代码
我改到C#中来,是这样的
[DllImport("sgid.dll",EntryPoint="_GetData@4")]
public static extern bool getdata(string s);
然后我大概的是这样调用的
do
{
this.WriteTxt(ss);
}
while(getdata(ss));其中this.WriteTxt(ss),的方法是写入txt文本文件的。
private void WriteTxt(string s)
{
string path=@"c:\kqxt.txt";
if(!File.Exists(path))
{
using(StreamWriter sw=File.CreateText(path))
{
sw.WriteLine(s);
}
}
else
{
using(StreamWriter sw=File.AppendText(path))
{
sw.WriteLine(s);
}
}
}
问题是程序运行后在path=@"c:\kqxt.txt这个文本文件里什么数据也没有,奇怪,各位帮我看看是不是我的调用的时候有问题,又该怎么来改呢!谢谢 谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢