Diskuze: xml notifyicon

C# .NET .NET (C# a Visual Basic) xml notifyicon American English version English version

Avatar
Frestyle
Člen
Avatar
Frestyle:

Dobrý večer, snažím se o to vzít si data z xml a vypsat je do notifyicon v bubline. Vždy narazím na to, že vše co pracuje s xml a vytahuje z něj data, tak se opakuji vždy vypisujou v konzole. Jak to udělat aby sem je vypsal do zmíněného pole?

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.Xml;

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

        private void konecToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            notifyIcon1.ShowBalloonTip(1000);
        }

        private void menu1ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Hide();
            WindowState = FormWindowState.Normal;
            notifyIcon1.ShowBalloonTip(50,"Informace ze stránek","Tohle ti oznamuji\nJak se jinak máš?",ToolTipIcon.Info);
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.Hide();
            WindowState = FormWindowState.Normal;
            notifyIcon1.ShowBalloonTip(50,"Informace ze stránek","Tohle ti oznamuji\nJak se jinak máš?",ToolTipIcon.Info);
        }
    }
}

Děkuju moc

 
Odpovědět 28.11.2013 18:30
Avatar
Odpovídá na Frestyle
Jakub Lásko[Saarix]:

Stačí si vytvořit proměnnou typu string kam budeš ukládat data (text) z XML a pak při zobrazení bubliny dej onen string do jejího parametru a je hotovo. ;)

Nahoru Odpovědět 28.11.2013 19:09
Časem je vše možné.
Avatar
Frestyle
Člen
Avatar
Odpovídá na Jakub Lásko[Saarix]
Frestyle:

Vím, že Vám to přijde jednoduché, ale já stím teprve začínám. Co je proměna a určitou představu díky znalosti php mám, ale nevím jak by měl zápis vypadat. Děkuju

 
Nahoru Odpovědět 28.11.2013 19:13
Avatar
Odpovídá na Frestyle
Jakub Lásko[Saarix]:

Vypadalo by to asi takto:

private string Content;

private void Form1_Load(object sender, EventArgs e)
         {
             this.Hide();
             WindowState = FormWindowState.Normal;
             notifyIcon1.ShowBalloonTip(50,"Informace ze stránek", Content,ToolTipIcon.Info);
         }

Tímto by jsi do bubliny zobrazil text z proměnné typu string, ale do té proměnné typu string budeš muset nejprve nahrát obsaht z toho XML souboru.

Na to bych doporučil místní tutoriály -> http://www.itnetwork.cz/…ni-xml-saxem

Editováno 28.11.2013 19:17
Nahoru Odpovědět 28.11.2013 19:16
Časem je vše možné.
Avatar
Frestyle
Člen
Avatar
Odpovídá na Jakub Lásko[Saarix]
Frestyle:

To je prdel o_O
Přesně tohle jsem si dal do oblíbených :) On mě ten smích za chvilku přejde až to tam začnu dodávat. Za chvilku určitě napíšu, že mi to nejde :(

Moc děkuju

 
Nahoru Odpovědět 28.11.2013 19:20
Avatar
Frestyle
Člen
Avatar
Frestyle:

Je to tady. Jsem to tam vložil a jen mi to ukazuje chyby.

Error   1       Expected class, delegate, enum, interface, or struct    C:\Users\admin\Desktop\test\Form1.cs    13      13      Dog
Editováno 28.11.2013 19:33
 
Nahoru Odpovědět 28.11.2013 19:31
Avatar
Frestyle
Člen
Avatar
Frestyle:

Máte někdo chuť si u mě zařádit na pc skrz vzdálenou plochu prostřednictvím Team Viewer?

 
Nahoru Odpovědět 28.11.2013 19:46
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na Frestyle
Theodor Johnson:

ukazuje ti to přesně místo kde máš chybu, tady nejsou věštci a nevidíme ti do kódu

Nahoru Odpovědět 28.11.2013 19:47
Přecházím na "Cross-Platform Development"
Avatar
Frestyle
Člen
Avatar
Odpovídá na Theodor Johnson
Frestyle:

Omlouvám se. Odkazuje to na tohle: private string Content;

 
Nahoru Odpovědět 28.11.2013 19:48
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Frestyle
Petr Nymsa:

Jaký má přesně smysl dávat načtené XML do NotifyIcon ?

Nahoru Odpovědět 28.11.2013 19:49
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na Frestyle
Theodor Johnson:

protože stringy se nedávají mimo třídu

Nahoru Odpovědět 28.11.2013 19:50
Přecházím na "Cross-Platform Development"
Avatar
Frestyle
Člen
Avatar
Odpovídá na Theodor Johnson
Frestyle:

Super, tak jsem pokročil. Teď mám dvě nové :D

Error   1       Program 'C:\Users\admin\Desktop\test\obj\x86\Debug\Dog.exe' has more than one entry point defined: 'Dog.Program.Main()'.  Compile with /main to specify the type that contains the entry point. C:\Users\admin\Desktop\test\Program.cs  13      21      Dog

Error   2       Program 'C:\Users\admin\Desktop\test\obj\x86\Debug\Dog.exe' has more than one entry point defined: 'XmlSaxCteni.Program.Main(string[])'.  Compile with /main to specify the type that contains the entry point. C:\Users\admin\Desktop\test\Program.cs  42      21      Dog

Oba mě odkazují na: static void Main(string[] args)

 
Nahoru Odpovědět 28.11.2013 19:54
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na Frestyle
Theodor Johnson:

Nejspíš tam máš víc jak jednu metodu "static void Main(string[] args)"

Nahoru Odpovědět 28.11.2013 20:04
Přecházím na "Cross-Platform Development"
Avatar
Frestyle
Člen
Avatar
Frestyle:

To ano, ale tu tam potřebuju taky. Hmm, takže to spojit nejde.

 
Nahoru Odpovědět 28.11.2013 20:10
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na Frestyle
Theodor Johnson:

Měl by jsi si nejdříve přečíst pár tutoriálů, jinak ti to bude pořád hlásit chyby kterým nebudeš rozumět

Nahoru Odpovědět 28.11.2013 20:11
Přecházím na "Cross-Platform Development"
Avatar
Frestyle
Člen
Avatar
Frestyle:

Já tomu upřímně vůbec nerozumím. Vím jen, že když se navzájem perou, tak je nereálný to skombinovat a tím tedy můj vývoj programu končí. Snažím se to udělat týden, tak jsem smířenej, že to nerozchodím. Děkuju moc za Váš čas. Já udělal vše aby jsem to vytvořil, ale už vím, že tyhle dvě věci nejdou. Přeji příjemný večer

 
Nahoru Odpovědět 28.11.2013 20:20
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Frestyle
Petr Nymsa:

Ale houby nejde, jenom tomu nerozumíš a očividně se to nechceš naučit. Konkrétně ale zde máme obrovský kvalitní seriál o C#, jak pro začátečníky tak i pokročilé ;)

Editováno 28.11.2013 20:23
Nahoru Odpovědět  +1 28.11.2013 20:23
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Odpovídá na Frestyle
Josef Kuchař (Pepa489):

Tak místo "static void Main(string[] args)" to hoď do konstruktoru.

Nahoru Odpovědět 28.11.2013 20:26
2x piš, jednou debuguj
Avatar
Frestyle
Člen
Avatar
Odpovídá na Petr Nymsa
Frestyle:

Nechci? Já se tím mořím vážně týden. Vzteky jsem byl 5 vteřin u vyhození pc z okna. Spíš za ten týden jsem si vytvořil ochranou bublinu na nervy. Jinak by sem letěl bud já nebo počítač a oboje mám rád :)

Prošel jsem tolik příkladů a řešeních, že div mám cévku ještě celou. Není to lenost, ale smíření. Když projdete 100 stránek za den ani se pořádně nevyspíte a jste furt na bodě nula, tak po týdnu buď jste cvok nebo flegmouš.

 
Nahoru Odpovědět 28.11.2013 20:30
Avatar
Frestyle
Člen
Avatar
Odpovídá na Josef Kuchař (Pepa489)
Frestyle:

Co to je? Trošku česky ;(
Vážně, jste tady moc hodný/vstřícný, ale já jsem už unavenej.

Editováno 28.11.2013 20:33
 
Nahoru Odpovědět 28.11.2013 20:31
Avatar
Josef Kuchař (Pepa489):

Už se mě nechce odpovídat na takový primitivní otázky, přečti si něco o c# ne zde na devbooku

Nahoru Odpovědět 28.11.2013 20:36
2x piš, jednou debuguj
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Frestyle
Petr Nymsa:

Nevěřím že po stovkách článků a X hodin jsi stále na bodě 0. Kdo ví co jsi četl. Podívej se zde na naše články a po 4 článcích budeš schopný porozumět jak fungují proměnné, typový systém, podmínky, cykly.

Navíc je celkem nesmysl se pokoušet vytvořit tento program (ačkoliv stále nevím co přesně má dělat), bez znalostí

Nahoru Odpovědět 28.11.2013 20:39
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Frestyle
Člen
Avatar
Frestyle:

Program má číst ze souboru xml, kde by bylo potom zda není nějaká událost a měl ukazovat v bublině informace. Jsem chtěl docílit bud registrem nebo formulářem přihlášení a ověřovat metodou get zda uživatel existuje a případně vypsat data. Bylo mi řečeno, že to není nic těžkého, tak jsem se do toho pustil, ale když se mi podařilo vypsat data z xml, tak to bylo vždy do konzole a tudíš nebylo možné to dát do vysněné bubliny. Tak jsem asi tedy úplně blbej. Protože jsem nepochytil skutečně nic

 
Nahoru Odpovědět 28.11.2013 20:46
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Frestyle
Petr Nymsa:

A tímhle hokusem pokusem nepochytíš dál o moc víc ;). Projdi si seriál a bude ti to jasnější. Načtená data si někam uložíš - do listu<string>, pole, lépe do nějakých objektů a potom s nimi naložíš dal jak budeš potřebovat -> zedituješ a uložíš, zobrazíš, pošleš do databáze, cokoliv

Nahoru Odpovědět 28.11.2013 20:52
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Frestyle
Člen
Avatar
Frestyle:

Já právě udělal pokrok :)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Xml;
using System.Text;

namespace Dog
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());


            List<Uzivatel> uzivatele = new List<Uzivatel>();
            using (XmlReader xr = XmlReader.Create(@"D:/test.xml"))
            {
                string jmeno = "";
                int vek = 0;
                DateTime registrovan = DateTime.Now;
                string element = "";
                while (xr.Read())
                {
                    // načítáme element
                    if (xr.NodeType == XmlNodeType.Element)
                    {
                        element = xr.Name; // název aktuálního elementu
                        if (element == "uzivatel")
                        {
                            vek = int.Parse(xr.GetAttribute("vek"));
                        }
                    }
                    // načítáme hodnotu elementu
                    else if (xr.NodeType == XmlNodeType.Text)
                    {
                        switch (element)
                        {
                            case "jmeno":
                                jmeno = xr.Value;
                                break;
                            case "registrovan":
                                registrovan = DateTime.Parse(xr.Value);
                                break;
                        }
                    }
                    // načítáme konec elementu
                    else if ((xr.NodeType == XmlNodeType.EndElement) && (xr.Name == "uzivatel"))
                        uzivatele.Add(new Uzivatel(jmeno, vek, registrovan));
                }
            }

            // výpis načtených objektů
            foreach (Uzivatel u in uzivatele)
            {
                Console.WriteLine(u);
            }
            Console.ReadKey();
        }
    }
}

Teď mě to hází chyba tady: Warning 1 Field 'Dog.Form1.Content' is never assigned to, and will always have its default value null C:\Users\admin\Des­ktop\test\For­m1.cs 16 24 Dog

notifyIcon1.ShowBalloonTip(50,"Informace ze stránek",Content,ToolTipIcon.Info);

Možná když se opraví tohle, tak to pojede ;)

 
Nahoru Odpovědět 28.11.2013 20:59
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Frestyle
Jiří Gracík:

Možná se ti tady snaží všichni pomoct a ty je možná ignoruješ. To co děláš nemá zatím žádný smysl, protože nemáš absolutně tušení, co se v tom programu děje. S nějakými základy jsme ti schopni pomoct, ale takhle ne.

Nahoru Odpovědět 28.11.2013 21:01
Creating websites is awesome till you see the result in another browser ...
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na Frestyle
Theodor Johnson:

Nepojede, hrabeš se v souboru který by začátečníci neměli vůbec vidět. Ten kód rveš úplně do jiný třídy

Nahoru Odpovědět 28.11.2013 21:06
Přecházím na "Cross-Platform Development"
Avatar
Frestyle
Člen
Avatar
Odpovídá na Jiří Gracík
Frestyle:

Snažím se jen dodělat co jsem začal. Cítím, že se to otočilo a jsem kousek.

 
Nahoru Odpovědět 28.11.2013 21:06
Avatar
Frestyle
Člen
Avatar
Odpovídá na Theodor Johnson
Frestyle:

Tak díky. Konečně se mi vrátila naděje na úspěch a bleskem je pryč. Tak kam to mám dát?

 
Nahoru Odpovědět 28.11.2013 21:09
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Frestyle
Petr Nymsa:

NE NE A NE ! Máš vytvořenou Formulářovou aplikaci a spoustíš další kód v Program.cs který slouží pro inicializaci Formuláře. Pokud chceš čistě konzolovou alikaci založ projekt s Console Application.

Takže vlastně absolutně nevíš co děláš. Jen tak zběžné otázky
Co je List ?
XmlReader ?

Btw není to náhodou ze zdejšího článku ?
Takže víš co je třída Uživatel ? resp. víš co je třída ? instance třídy ? co dělá blok using ?

Jsi začátečník, vykašli se na to a začni odznova a pomalu s konzolovýma aplikacema ;)

Nahoru Odpovědět 28.11.2013 21:10
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Frestyle
Člen
Avatar
Frestyle:

třída using jsou používané knihovny. xmlreader mi otevírá soubor xml. Něco málo vim, ale jestli jsem se seknul i vtomhle, tak nevím nic. Konzolová aplikace je pěkná, ale nepoužitelná. Uživateli nemůžu dát výsledky v konzole.

 
Nahoru Odpovědět  -1 28.11.2013 21:18
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Frestyle
Petr Nymsa:

Using není třída. XmlReader je třída sloužící ke čtení XML souborů. Konzolová aplikace je také velmi použitelná. Neumíš základy, tj nejsi schopen napsat normálně běžící aplikaci ve Formech. Nebo rozumíš jak fungují Formy ? Třídy, události ? Umíš deklarovat třídu, konstruktor, její metody, privátní položky, vlastnosti ?

Ještě jednou, začni se základama. Tímhle stylem stejně uživateli neposkytneš žádnou normální a běžící aplikaci. Máš to celé špatně.

Nahoru Odpovědět  +1 29.11.2013 8:03
Pokrok nezastavíš, neusni a jdi s ním vpřed
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 32 zpráv z 32.