| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 506 人关注过本帖
标题:一个很严峻的问题,请进各位
只看楼主 加入收藏
yts111
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2006-5-17
收藏
 问题点数:0 回复次数:6 
一个很严峻的问题,请进各位

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这个文本文件里什么数据也没有,奇怪,各位帮我看看是不是我的调用的时候有问题,又该怎么来改呢!谢谢 谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢
2006-11-23 20:33
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
[CODE]string path="c:\\kqxt.txt";
StreamWriter sw ;
if(!File.Exists(path))
{
sw = File.CreateText(path);
sw.WriteLine(s);
}
else
{
sw=File.AppendText(path);
sw.Write(s);
}
sw.Close();

[/CODE]

飘过~~
2006-11-23 20:52
yts111
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2006-5-17
收藏
得分:0 
不是这个问题,一定是调用的问题,因为那段代码 我放到其他地方是可以的!

希望能和大家交流一起进步我的QQ:274405946 欢迎加我
2006-11-23 20:55
yts111
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2006-5-17
收藏
得分:0 
呵呵自己顶上去。嘿嘿,,,人呢人呢

希望能和大家交流一起进步我的QQ:274405946 欢迎加我
2006-11-23 22:27
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
do
{
this.WriteTxt(ss);
}
while(getdata(ss));

在这里设置一个断点,然后运行看这个循环运行了多少次就知道了, 断点到达那句的时候,你还可以看看ss是什么值。
2006-11-24 00:14
yts111
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2006-5-17
收藏
得分:0 
设置了呀,全是空但是已经循环了那么多次!但每次ss的值都是空呀!

希望能和大家交流一起进步我的QQ:274405946 欢迎加我
2006-11-24 08:49
csharpnet
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-11-8
收藏
得分:0 
俺不懂,以前学过vb早还给老师了。。。

c#.net ^_^ 比JAVA容易接受多了。。。
2006-11-24 10:34
快速回复:一个很严峻的问题,请进各位
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044953 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved