Stránka 1 z 1

Zachování nastavení i po vypnutí programu ( VB2005 )  Vyřešeno

Napsal: 01 úno 2008 11:01
od DannyGT
Ahoj,
potřeboval bych aby si uchovával nastavení napsané v textboxu (přesněji jde o adresu). Jenže mě nenapadá jak to udělat. Napadlo mě to udělat přes combobox, jenže adresa se mění a já tam potřebuju mít tu poslední, problém je že pokud napíšu

combobox1.text = combobox1.Items.Add (ta adresa)

tak program jí sice zapíše, ale v momentě kdy ho zapnu znova tak adresu již nemá.

Potřeboval bych poradit buď jak jí tam zapsat natvrdo (pokud klepnu na combobox tak je možnost vepsat data a ty tam zůstanou, ale nepodařilo se mi přijít na příkaz kterej by tam stejnym způsobem zapisoval a data zůstávaly) nebo nějakej jinej způsob. Ve starší verzi byla metoda GetSetting, ale tu sem moc nepochopil...

Díky za každou radu :roll: :idea:

Napsal: 01 úno 2008 11:23
od Koja
Jakou adresu tam chceš dávat? Jaké adresy se mění? .. nějak si neumím představit, co by to mělo dělat :|

Zkus popsat trochu víc, co má ten program dělat :wink:

Napsal: 01 úno 2008 12:19
od DannyGT
V textboxu má být IP adresa a měla by se tam zachovávat ta poslední zadaná. Takže když tam zapíšu při spuštěnym programu 192.168.1.1 a program vypnu, tak po zapnutí by tam měla být tato. Pokud jí změním na 192.168.1.8 a program vypnu a znova zapnu bude tam ta poslední :smile: a já hledám nějakej způsob jak to udělat bez toho ani bych musel ukládat do registrů.

Už sem ty vysvětlil o trošku líp? :oops: :roll:

Napsal: 01 úno 2008 12:57
od Koja
Jj, už je to jasný :lol:

A co obsah toho textboxu uložit do nějakýho souboru a po otevření programu automaticky načíst obsah toho souboru zpátky? Takhle by to myslím šlo :wink:

Btw, říkáš textbox a v prvním příspěvku máš combobox, tak kde tu adresu chceš mít? Ono uložit to půjde z obou, ale přece jenom je to něco jinýho :lol:

// Edit: Zkoušel sem to a funguje to tak :lol:

Napsal: 01 úno 2008 13:19
od DannyGT
v textboxu to mam teďka, ten combobox mě napad kvůli tomu, že se do něj dají ukládat data pomocí toho kousku kódu co sem tam napsal, jenže ty tam po vypnutí - spuštění programu nezůstanou, pokud bych je tam nebyl schopnej uložit pomocí kódu stejně jako když je tam zadám v tom designeru.

S tim textovym souborem mě to už taky napadlo, jenže :smile: pokud ten program přesunu na jinej komp do jiný složky atd. tak se mi změní cesta k textáku. Musel bych tu cestu zadat relativně a to nevim jak :smile:

Napsal: 01 úno 2008 13:41
od Koja
Upozornění : Kód je v napsán v jazyku C# - VB bude podobný, bude to tam vypadat skoro, né-li úplně, stejně :wink: Autor nenese odpovědnost za následky a bla bla :lol: :lol:

Nahoru připíšeš using System.IO; - abys mohl pracovat se soubory - a uděláš si do formuláře textBox1.

Kód: Vybrat vše

        private void Form1_Load(object sender, EventArgs e)
        {
            Stream soubor = new FileStream("pokus.txt", FileMode.Open);
            TextReader cteni = new StreamReader(soubor);
            textBox1.Text = cteni.ReadLine().ToString();
            cteni.Close();
            soubor.Close();
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            Stream soubor = new FileStream("pokus.txt", FileMode.Create);
            TextWriter zapis = new StreamWriter(soubor);
            zapis.Write(textBox1.Text);
            zapis.Close();
            soubor.Close();
        }


pokus.txt je název souboru, který se vytvoří vedle souboru NázevProgramu.exe a který budeš asi muset přenášet s ním /nebo se sám vytvoří nový/ :wink:

Form1_Load - 2x klikneš (dvojklik) do prázdného místa na náhledu formuláře a vytvoří se ti takhle třída

textBox1_TextChanged - vybereš v náhledu textBox1 -> Properties -> Events (takovej ten blesk :lol: ) -> najdeš TextChanged -> dvojklik do prázdného pole vedle názvu

Snad je to všechno jasný :idea: Vážně předpokládám, že VB bude C# podobný a že to bude fungovat i tam. Max. tam budou nějaké drobné rozdíly, ale s tím si snad už poradadíš (s Googlem, knížkou bo s nama :lol: ) :wink:

// Odjíždím za přítelkyní :P :lol: Takže případný problémy pořešíme večer/zítra nebo se tě ujme někdo další :)

Napsal: 03 úno 2008 15:45
od DannyGT
Tak vyřešeno :smile: jak sem zjistil tak se to nějak lišilo... no koukni sám

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim nastaveni As StreamReader
nastaveni = New StreamReader("nastaveni.txt")
TxtIp.Text = nastaveni.ReadToEnd
nastaveni.Close()
TxtIp.Select(0, 0)

End Sub

Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing

Dim nastaveni2 As StreamWriter
nastaveni2 = New StreamWriter("nastaveni.txt")
nastaveni2.Write(TxtIp.Text)
nastaveni2.Close()
End Sub


Tak teďka už jenom dva problémy.. Nevíš náhodou jak zjistit v tomhle VBčku IP počítače na kterym běží? Zjistit kraviny jako zalogovanýho uživatele.. fyzickou pamět a podobný blbosti umim, ale IP ne :mad:

Napsal: 03 úno 2008 16:01
od Koja
Trošku se liší no :lol: Hlavně, že tě to navedlo a de to:)

S tím IPčkem nevím, ale zkus si projet tohle :wink: Je tam spousta různejch věcí, postupů, některý sou aj na videu, jak se co přesně dělá :D A když tam zadáš hledat IP Visual Basic nebo get IP Visual Basic, tak toho vyjede hodně, stačí jenom najít to správný :lol:

Napsal: 03 úno 2008 18:34
od DannyGT
Jojo navedlo a díky :smile:

ted kouknu na ten odkaz a snad pořešim i tu IP.