Pouze tento týden sleva až 80 % na e-learning týkající se Swift
Využij akce až 80 % zdarma při nákupu e-learningu. Více informací.
discount week 80

Diskuze: Zobrazení dat v TextBoxu ze Streamu

Aktivity
Avatar
Martin Marek
Člen
Avatar
Martin Marek:25. července 11:42

Zdravím, prosím o radu.
Potřebuju zobrazovat v TextBoxu Formu data z textového proudu když přijdou. V Mainu mám vlákna připojení se serverem, spuštění streamu, a Aktualizace ve Form1.
Do TXT souboru se mi data zapisují, ale do TextBoxu ne.

static class Program
    {
        /// <summary>
        /// Hlavní vstupní bod aplikace.
        /// </summary>

        [STAThread]
        static void Main()

        {


            {
                Pripojeni_prenos pripojeni = new Pripojeni_prenos();
                pripojeni.Pripojeni();
                Thread vlakno2 = new Thread(pripojeni.prenos);
                vlakno2.Start();
                Form1.Aktualizace aktualizace = new Form1.Aktualizace();
                Thread vlakno3 = new Thread(aktualizace.Nacti);
                vlakno3.Start();
            }

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
            Environment.Exit(0);

            try
            {
                Thread.CurrentThread.Abort();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
                Thread.ResetAbort();
            }
        }
        public class Pripojeni_prenos
        {
            public TcpClient client;
            public StreamReader STR;
            public string recieve;

            public void Pripojeni()
            {
                client = new TcpClient();
                IPEndPoint IpEnd = new IPEndPoint(IPAddress.Parse("192.168.0.1"), (2000));
                try
                {
                    client.Connect(IpEnd);
                    if (client.Connected)
                    {
                        STR = new StreamReader(client.GetStream());
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message.ToString());
                }
            }

            public void prenos(object sender)
            {
                if (client.Connected)
                {
                    while (client.Connected)
                    {
                        try
                        {
                            recieve = STR.ReadLine();
                            {
                                string streem = recieve;
                                string[] vysledek = streem.Split('_', '#', '$', '\0');//'_'
                                foreach (var text in vysledek)
                                {
                                    if (text != "")
                                    {
                                        Form1.uzavery = text;
                                        Form1.hodnoty_buffer hodnoty = new Form1.hodnoty_buffer();
                                        hodnoty.zapis_hodnoty();
                                        Form1.Aktualizace nacti = new Form1.Aktualizace();
                                        nacti.Nacti();

                                    }
                                }
                            }

                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message.ToString());
                        }
                    }
                }
            }
        }
    }

Xxxxxxxxxxx
public Form1()



        {

            InitializeComponent();


            if ((textBoxInsert.Text != "FAB5") && (textBoxInsert.Text != "FAB6")) checkBoxKontrola5.Checked = (false);
            else checkBoxKontrola5.Checked = (true);

            if ((textBoxInsert.Text == "FAB5") || (textBoxInsert.Text == "FAB6")) checkBoxKontrola5.Visible = (true);
            else checkBoxKontrola5.Visible = (false);
            {

            }
        }

private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
        }
private void  textBoxInsert_TextChanged(object sender, EventArgs e)
        {
        }
public class hodnoty_buffer
        {

            public void zapis_hodnoty()
            {
                string cestaBuffer = (@"C:\Čtečka klíčů FAB\!!!ostatni!!!\");
                string vytvorena_zakazka = (cestaBuffer + "FAB_5_kontrola_500" + ".txt");
                if (!Directory.Exists(cestaBuffer)) MessageBox.Show("Nebyl nalezen adresář " + cestaBuffer, "Informace");
                if (!Directory.Exists(cestaBuffer)) goto finish;

                FileStream fs = new FileStream(cestaBuffer + "FAB_5_kontrola_500" + ".txt", FileMode.Append);
                StreamWriter zapis = new StreamWriter(fs);
                zapis.WriteLine(uzavery);
                zapis.Close();

            finish:;
            }


        }
        public class Aktualizace
        {

            public void Nacti()
            {
                textBoxInsert.Invoke(new MethodInvoker(delegate {textBoxInsert.Text = (string)Insert; }));

            }

        }
 
Odpovědět
25. července 11:42
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Martin Marek
Člen
Avatar
Odpovídá na Martin Marek
Martin Marek:25. července 11:53

na konci má být toto

public void Nacti()
            {
                textBoxInsert.Invoke(new MethodInvoker(delegate {textBoxInsert.Text = (string)uzavery; }));

            }
 
Nahoru Odpovědět
25. července 11:53
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.