vb.net信号处理,vb网络通信

如何改善 vb.net 读取PLC跳变数据

我用定时器读取plc数据,虽然可以完整读取数据,但是偶尔会重复读取一条数据,定时器频率为600MS一次,如果重复数据能够处理,我觉得这个方法其实很赞

在仓山等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、成都网站建设 网站设计制作按需网站制作,公司网站建设,企业网站建设,品牌网站建设,成都全网营销,外贸网站建设,仓山网站建设费用合理。

求一个vbnet post/get 发送数据和处理返回json的例子。灌水的路过。。。

Java代码

/* 注意get和post请求的发送区别

* 1、创建HttpGet(或HttpPost)对象,将要请求的URL通过构造方法传入HttpGet(或HttpPost)对象中;

2、使用DefaultHttpClient类的execute方法发送HTTP GET或HTTP POST 请求,并返回HttpResponse对象;

3、通过HttpResponse接口的getEntity方法返回响应信息。

* */

public class TestHttpActivity extends Activity {

private Button btn_get;

private Button btn_post;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

btn_get=(Button)findViewById(R.id.btn_get);

btn_post=(Button)findViewById(R.id.btn_post);

btn_get.setOnClickListener(listener);

btn_post.setOnClickListener(listener);

}

private OnClickListener listener=new OnClickListener() {

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.btn_post:

Log.i("TestHttpActivity", "ok");

DefaultHttpClient client = new DefaultHttpClient();

/**NameValuePair是传送给服务器的请求参数 param.get("name") **/

ListNameValuePair list = new ArrayListNameValuePair();

NameValuePair pair1 = new BasicNameValuePair("name", "name0001");

NameValuePair pair2 = new BasicNameValuePair("age", "age0001");

list.add(pair1);

list.add(pair2);

UrlEncodedFormEntity entity=null;

try {

/**设置编码 **/

entity = new UrlEncodedFormEntity(list,"UTF-8");

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

/**新建一个post请求**/

HttpPost post = new HttpPost("");

post.setEntity(entity);

HttpResponse response=null;

String strResult="";

try {

/**客服端向服务器发送请求**/

response = client.execute(post);

} catch (ClientProtocolException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

/**请求发送成功,并得到响应**/

if(response.getStatusLine().getStatusCode()==200){

try {

/**读取服务器返回过来的json字符串数据**/

strResult = EntityUtils.toString(response.getEntity());

} catch (IllegalStateException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

JSONObject jsonObject = null;

try {

/**把json字符串转换成json对象**/

jsonObject = getJSON(strResult);

} catch (JSONException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

String names="";

try {

/**

* jsonObject.getString("code") 取出code

* 比如这里返回的json 字符串为 [code:0,msg:"ok",data:[list:{"name":1},{"name":2}]]

* **/

/**得到data这个key**/

String data=jsonObject.getString("data");

/**把data下的数据转换成json对象**/

JSONObject jDat = new JSONObject(data);

/**判断data对象下的list是否存在**/

if(jDat.get("list")!=null){

/**把list转换成jsonArray对象**/

JSONArray jarr = jDat.getJSONArray("list");

/**循环list对象**/

for (int i = 0; i jarr.length(); i++) {

/** **/

JSONObject jsono = (JSONObject) jarr.get(i);

/**取出list下的name的值 **/

names=names+jsono.getString("name");

}

}

Toast.makeText(TestHttpActivity.this, "code:"+jsonObject.getString("code")+"name:"+names, Toast.LENGTH_SHORT).show();

} catch (JSONException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

else Toast.makeText(TestHttpActivity.this, "POST提交失败", Toast.LENGTH_SHORT).show();

break;

case R.id.btn_get:

DefaultHttpClient client1 = new DefaultHttpClient();

/**NameValuePair是传送给服务器的请求参数 param.get("name") **/

UrlEncodedFormEntity entity1=null;

/**新建一个get请求**/

HttpGet get = new HttpGet("");

HttpResponse response1=null;

String strResult1="";

try {

/**客服端向服务器发送请求**/

response1 = client1.execute(get);

} catch (ClientProtocolException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

/**请求发送成功,并得到响应**/

if(response1.getStatusLine().getStatusCode()==200){

try {

/**读取服务器返回过来的json字符串数据**/

strResult1 = EntityUtils.toString(response1.getEntity());

} catch (IllegalStateException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

JSONObject jsonObject1 = null;

try {

/**把json字符串转换成json对象**/

jsonObject1 = getJSON(strResult1);

} catch (JSONException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

String names="";

try {

/**

* jsonObject.getString("code") 取出code

* 比如这里返回的json 字符串为 [code:0,msg:"ok",data:[list:{"name":1},{"name":2}]]

* **/

/**得到data这个key**/

String data=jsonObject1.getString("data");

/**把data下的数据转换成json对象**/

JSONObject jDat1 = new JSONObject(data);

/**判断data对象下的list是否存在**/

if(jDat1.get("list")!=null){

/**把list转换成jsonArray对象**/

JSONArray jarr1 = jDat1.getJSONArray("list");

/**循环list对象**/

for (int i = 0; i jarr1.length(); i++) {

/** **/

JSONObject jsono = (JSONObject) jarr1.get(i);

/**取出list下的name的值 **/

names=names+jsono.getString("name");

}

}

Toast.makeText(TestHttpActivity.this, "get请求: code:"+jsonObject1.getString("code")+"name:"+names, Toast.LENGTH_SHORT).show();

} catch (JSONException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

else Toast.makeText(TestHttpActivity.this, "get提交失败", Toast.LENGTH_SHORT).show();

break;

}

}

};

public JSONObject getJSON(String sb) throws JSONException {

return new JSONObject(sb);

}

}

vb.net 串口收发数据有问题

不知道你是不是用51单片机往串口发数据,是的话那是因为51的sbuf最多存放8个字节,所以你发12个字节会分成两次发完。还有在接收的时候最好定义好通信协议,比如加一个侦头,一个侦尾,通过这两个字节的内容来接收数据。

老兄,提问还是给点悬赏分嘛,不要吝啬哪点分,知识是无价的,你给得越多,回答你的人才会越多。

Vb.net怎么实现图像的处理

这问题有点笼统,软糖来说说把:

图像处理由System.Drawing命名空间负责。

主要是Bitmap类和Graphics类。

Bitmap表示一个位图,可以是BMP,JPG,PNG等文件。

装载位图

Dim 位图 As Bitmap = Bitmap.FromFile("C:\Image1.PNG")

Graphics表示一张画纸,能够进行绘制操作。

它可以被窗体、控件、位图调用CreateGraphics()方法来创建。

然后调用Graphics.Draw开头的一系列函数来绘制图像和图形,Fill开头的填充图形。

创建画纸并绘制位图

Dim 画纸 As Graphics = Me.CreateGraphics()

画纸.DrawImage(位图, 100, 100, 256, 256)

可以将上面三行放到Form1_Load中测试,把路径改一下,

还可以把Me改为能在上面绘图的控件的名称。

更多内容请看MSDN的System.Drawing命名空间。

如满意,请采纳,谢谢。

VB.NET中如何处理串口通信接收的数据?

你可以预先约定一个截止附,读取的字节统统放到缓存区里,直到读到截止附再处理、显示。

vb.net怎么编程实现从音频输出口输出指定频率指定时长和占空比的单音信号。

1.用Win32 API PlaySound

PlaySound位于"winmm.dll"中,可以根据输入参数的不同,播放WAV类型的音乐。在VB.NET中调用跟VB6中差不多:

先声明:

Private Declare Auto Function PlaySound Lib "winmm.dll" (ByVal lpszSoundName As String, ByVal hModule As Integer, ByVal dwFlags As Integer) As Integer

Const SND_FILENAME As Integer = H20000

Const SND_ALIAS As Integer = H10000

Const SND_SYNC As Integer = H0

具体还有很多常量,不一一列举,下面是播放一个wav文件的例子

Dim mstrfileName As String = "c:\eagle2.wav"

PlaySound(mstrfileName, 0, SND_FILENAME)

注意上面的播放是非同步的,就是说它并不会播放完毕才结束。如果把上面的代码写在一个Button.Click的事件处理程序中,第二次点击的时候它会打断第一次的播放,重新开始。

当然我们也可以调用系统的声音:

PlaySound("SystemStart", 0, SND_ALIAS Or SND_SYNC)

' 以同步的方式调用系统启动时候的声音。

2. 调用媒体播放器控件

VB.NET中并没有提供媒体播放器的.NET组件,没办法我们还是调用以前Com组件Windows Media Player。当然除了声音外,还可以播放视频文件。

首先把媒体播放器控件加到工具栏中,调用还是简单的写一下吧:)

Private Sub playMediaFile(ByVal mediaFileName As String)

With MediaPlayer1

.Stop()

.FileName = "c:\mp3\爱不爱我.mp3"

.Play()

End With

End Sub


当前标题:vb.net信号处理,vb网络通信
标题网址:http://hbruida.cn/article/hoeodo.html