PDA

View Full Version : سوال: مشکل این برنامه چیه ؟



aradrobo
چهارشنبه 13 دی 1391, 16:22 عصر
این برنامه را به زبان vb خوب کار می کند ولی به سی شارپ کار نمی کند و خطا می دهد . مشکل از کجاست ؟

نمونه VB
Imports System.Net
Imports System.IO
Imports System.Text.RegularExpressions

Public Class Form1


Public Function GetHTML(ByVal url As Uri) As String
Dim HTML As String
Dim Request As HttpWebRequest
Dim Response As HttpWebResponse
Dim Reader As StreamReader
Try
Request = HttpWebRequest.Create(url)
Response = Request.GetResponse
Reader = New StreamReader(Response.GetResponseStream())

HTML = Reader.ReadToEnd
Catch ex As Exception
HTML = Nothing
End Try
Return HTML
End Function



Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim a As String = ""
Dim html As New TextBox
html.Text = GetHTML(New Uri("http://www.tgju.org/"))
Dim regx As New Regex("<td class=s3_3>[^>]*<", RegexOptions.IgnoreCase)
Dim mactches As MatchCollection = regx.Matches(html.Text)
For Each match As Match In mactches
a = match.Value
Next
a = Regex.Replace(a, "<td class=s3_3>", "")
a = Regex.Replace(a, "<", "")
MsgBox(a)

End Sub


End Class


نمونه سی شارپ :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Text.RegularExpressions;

namespace html
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

public string GetHTML(Uri url)
{
string HTML = null;
HttpWebRequest Request = default(HttpWebRequest);
HttpWebResponse Response = default(HttpWebResponse);
StreamReader Reader = default(StreamReader);
try
{
Request = HttpWebRequest.Create(url);
Response = Request.GetResponse;
Reader = new StreamReader(Response.GetResponseStream());

HTML = Reader.ReadToEnd;
}
catch (Exception ex)
{
HTML = null;
}
return HTML;
}

private void button1_Click(object sender, EventArgs e)
{
string a = "";
TextBox html = new TextBox();
html.Text = GetHTML(new Uri("http://www.tgju.org/"));
Regex regx = new Regex("<td class=s3_3>[^>]*<", RegexOptions.IgnoreCase);
MatchCollection mactches = regx.Matches(html.Text);
foreach (Match match in mactches)
{
a = match.Value;
}
a = a.Replace("<td class=s3_3>", "");
a = a.Replace("<", "");
MessageBox.Show(a);
}
}
}

SEZAR.CO
چهارشنبه 13 دی 1391, 16:25 عصر
میشه برنامه نوشته شده را بگذارید
خیلی کدت شلوغ

aradrobo
چهارشنبه 13 دی 1391, 16:41 عصر
میشه برنامه نوشته شده را بگذارید
خیلی کدت شلوغ

کپی کنید دیگه .فقط یک باتن داریم

فرید نجفلو
چهارشنبه 13 دی 1391, 17:08 عصر
سلام
دوست عزیز انگار شما هم مثل من با VB.Net بیشتر کار می کنید تا سی شارپ!:چشمک:
سی شارپ نسبت به وی بی خیلی حساس تره مثلا پرامتز های آخر فراخوانی متدها
(در ضمن وقتی با وی بی کار می کنید بهتره Option Strict رو هم On کنید)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Text.RegularExpressions;

namespace html
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

public string GetHTML(Uri url)
{
string HTML = null;
WebRequest Request;
WebResponse Response;
StreamReader Reader;
try
{
Request = HttpWebRequest.Create(url);
Response = Request.GetResponse();
Reader = new StreamReader(Response.GetResponseStream());

HTML = Reader.ReadToEnd();
}
catch
{
HTML = null;
}
return HTML;
}

private void button1_Click(object sender, EventArgs e)
{
string a = "";
TextBox html = new TextBox();
html.Text = GetHTML(new Uri("http://www.tgju.org/"));
Regex regx = new Regex("<td class=s3_3>[^>]*<", RegexOptions.IgnoreCase);
MatchCollection mactches = regx.Matches(html.Text);
foreach (Match match in mactches)
{
a = match.Value;
}
a = a.Replace("<td class=s3_3>", "");
a = a.Replace("<", "");
MessageBox.Show(a);
}

}
}

aradrobo
چهارشنبه 13 دی 1391, 17:14 عصر
خیلی متشکرم .