bober370
(bober370)
19 Lipiec 2011 17:10
#1
Witam mam taki mały problem.
Chciałem zrobić sobie stronę a raczej kod i stronę który by pobierał mi dane z owej strony.
Chciałem to zrobić takim kodem:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://cps.cityhost.pl/mta/webreq.php");
WebResponse resp = req.GetResponse();
StreamReader reader = new StreamReader(resp.GetResponseStream(), Encoding.UTF8);
string result = reader.ReadToEnd();
errorline.Text = result.ToString();
reader.Dispose();
lecz coś zbytnio nie działa Nie za bardzo jeszcze umiem c# i dlatego prosił bym o pomoc najlepiej by było również pokazać mi przykładową stronę (PHP) pod ten kod oraz 2 problem: Jak zmienić wartość w jakimś labelu z poziomu innego form inny form wywołuje:
Form set = new Form3();
set.Show();
ale chciałbym od razu zmienić jakąś wartość w nim lub wywołać funkcje z tej formy. Czy istnieje taka możliwość?
Z góry dziękuje za pomoc
matzu
(Tomek Matz)
19 Lipiec 2011 17:33
#2
To nie ma znaczenia, czy dane pobierasz ze strony php, html, asp, aspx, jsp, czy jeszcze innej i tak pobierzesz kod (X)HTML.
AD 1) Zmień na errorline.Text = result;
AD 2) Przygotuj sobie przeciążony konstruktor
public Form3(string s)
{ label.Text = s; }
i wówczas wywołuj Form set = new Form3(“jakis tekst”);
bober370
(bober370)
19 Lipiec 2011 17:46
#3
no dobrze 1 działa tylko takie jedno dopytanie: Jak to zrobić tak by zwrócić z tego tablice?
a co do tego 2. Lepiej by było jak byś było wykonać funkcje z tamtej formy
matzu
(Tomek Matz)
19 Lipiec 2011 17:52
#4
AD 1) string[] resultArray = result.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
AD 2) Jeśli chcesz wywoływać funkcję to ta funkcja musi być oznaczona jako public, a tworząc obiekt klasy Form3 musisz to robić następująco:
Form3 set = new Form3();
set.TwojaMetoda(“jakis tekst”);
set.Show();
bober370
(bober370)
21 Lipiec 2011 00:02
#5
2 działa bez zarzutów lecz 1 tak ne zabardzo.
po użyciu np errorline.Text = resultArray[0];
zwracany text to: Array. Czyli on nie odczytuje prawdziwej wartości lub gdzieś jest mój błąd
matzu
(Tomek Matz)
21 Lipiec 2011 13:35
#6
No a jaka jest wg Ciebie ta prawdziwa wartość?
Trochę uporządkowałem ten kod …
WebResponse response = null;
Stream responseStream = null;
StreamReader reader = null;
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("www.dobreprogramy.pl");
response = request.GetResponse();
responseStream = response.GetResponseStream();
reader = new StreamReader(responseStream, Encoding.UTF8);
string html = reader.ReadToEnd();
string[] htmlArray = null;
if (!string.IsNullOrEmpty(html))
htmlArray = html.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
if (htmlArray != null && htmlArray.Length > 0)
{
//TODO: code
}
}
catch (Exception ex)
{
//TODO: handle exception
}
finally
{
if (reader != null)
reader.Close();
if (responseStream != null)
responseStream.Close();
if (response != null)
response.Close();
}