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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2011-02-11 15:44:00

  ryba_pank - Użytkownik

ryba_pank
Użytkownik
Zarejestrowany: 2007-11-11

[c#]

zaczynam dopiero z C# napisalem program do pingowania z tutoriala. O to jego kod:

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

 

#2  2011-02-11 16:01:21

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: [c#]

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.

Kod:

              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

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)