Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Użytkownik

zaczynam dopiero z C# napisalem program do pingowania z tutoriala. O to jego kod:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net.NetworkInformation;
using System.Net;
namespace testnetu
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
if (textBox2.Text != String.Empty)
if (textBox2.Text.Trim().Length > 0)
{
listBox2.Items.Add(textBox2.Text);
textBox2.Clear();
}
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text != "" || listBox2.Items.Count > 0)
{
PingOptions opcje = new PingOptions();
opcje.Ttl = (int)numericUpDown2.Value;
opcje.DontFragment = true;
string dane = "aaaaaaaaa";
byte[] bufor = Encoding.ASCII.GetBytes(dane);
int timeout = 120;
if (textBox1.Text != "")
{
for (int i = 0; i < (int)numericUpDown1.Value; i++)
listBox1.Items.Add(this.sprawdznet(host, timeout, bufor, opcje));
listBox1.Items.Add("---------------------");
}
if (listBox2.Items.Count > 0)
{
foreach (string host in listBox2.Items)
{
for (int i = 0; i < (int)numericUpDown1.Value; i++)
listBox1.Items.Add(this.sprawdznet(host, timeout, bufor, opcje));
listBox1.Items.Add("-------------------");
}
}
}
else
{
MessageBox.Show("Nie wpowadzono adresów", "bład");
}
}
private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
{
if (listBox2.SelectedIndex != -1)
listBox2.Items.RemoveAt(listBox2.SelectedIndex);
}
private String sprawdznet(string adres, int timeout, byte[] bufor, PingOptions opcje)
{
Ping ping = new Ping();
try
{
PingReply odpowiedz = ping.Send(adres, timeout, bufor, opcje);
if (odpowiedz.Status == IPStatus.Success)
return "Odpowidz z " + adres + " bajtów=" + odpowiedz.Buffer.Length + " czas=" + odpowiedz.RoundtripTime + "ms TTL=" + odpowiedz.Options.Ttl;
else
return "Błąd:" + adres + " " + odpowiedz.Status.ToString();
}
catch(Exception ex)
{
return "błąd" + adres + " " + ex.Message;
}
}
}
}Ale przy kompilacji wyskauj mi taki błąd :
Error 1 The name 'host' does not exist in the current context
wiecie moze co jest przyczyna?
Offline



Administrator




Tak jak mówi błąd zmienna "host" nie jest znana w zaznaczonym miejscu. Definiujesz ją dopiero później i do tego w ograniczonym zasięgu pętli foreach.
if (textBox1.Text != "")
{
for (int i = 0; i < (int)numericUpDown1.Value; i++)
listBox1.Items.Add(this.sprawdznet(host, timeout, bufor, opcje)); <---- TU
listBox1.Items.Add("---------------------");
}
if (listBox2.Items.Count > 0)Ostatnio edytowany przez kamikaze (2011-02-11 16:02:55)
Offline