Avatar
radekj122
Člen
Avatar
radekj122:

Zdravím,
potřeboval bych zjistit a přidat do "listBoxu" Itemy, které mají názvy .txt souborů přidaných "StreamWriterem" u programu, pomůžete ? :)

Děkuji, R.J.

Editováno 25.3.2013 19:53
 
Odpovědět 25.3.2013 19:53
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na radekj122
Theodor Johnson:

ty potřebuješ jen zjistit soubory které mají txt jako příponu?

Nahoru Odpovědět 25.3.2013 19:57
Přecházím na "Cross-Platform Development"
Avatar
radekj122
Člen
Avatar
radekj122:

Ano.. :)
Vím. že tam musí být "cesta", ale tím to tak hasne.. :D

 
Nahoru Odpovědět 25.3.2013 20:01
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na radekj122
Theodor Johnson:
string url = /* cesta ke složce */;

foreach(string s in Directory.GetFiles(url))
{
     if (new FileInfo(s).Extension == ".txt")
          listBox1.Items.Add(s);
}
Editováno 25.3.2013 20:02
Nahoru Odpovědět 25.3.2013 20:01
Přecházím na "Cross-Platform Development"
Avatar
radekj122
Člen
Avatar
radekj122:

Pokud mám cestu k souboru přímo u souboru, tak jakou cestu mám dát ? :O :(

 
Nahoru Odpovědět 25.3.2013 20:10
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na radekj122
Theodor Johnson:
string dir = new FileInfo("cesta k souboru").DirectoryName;
Nahoru Odpovědět 25.3.2013 20:12
Přecházím na "Cross-Platform Development"
Avatar
radekj122
Člen
Avatar
radekj122:
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.IO;
using System.Text;

namespace Poznámky
{
    public partial class Main : Form
    {
        public Main()
        {
            InitializeComponent();
            GetTxt();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string cesta = textBox2.Text + ".txt";
            string InTo = textBox1.Text;

            using (StreamWriter str = new StreamWriter(cesta))
            {
                str.WriteLine(InTo);
                listBox1.Items.Add(textBox2.Text);
                str.Close();
                textBox1.Text = "";
                textBox2.Text = "";
            }
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string cesta = listBox1.SelectedItem.ToString() + ".txt";
            using (StreamReader lol = new StreamReader(cesta))
            {
                richTextBox1.Text = lol.ReadToEnd();
            }
        }

        private void GetTxt()
        {
            string dir = new FileInfo("C:\\Users\\Jeník\\Desktop\\Visual Studio Programs - 4.0\\Poznámky\\Poznámky\\bin\\Debug").DirectoryName;
            string url = dir;
            foreach (string s in Directory.GetFiles(url))
            {
                if (new FileInfo(s).Extension == ".txt")
                    listBox1.Items.Add(s);
            }
            return;
        }
    }
}

Furt mi nejde vložit Text z ".txt" souboru do "richTextBox" .. :(

Editováno 25.3.2013 20:15
 
Nahoru Odpovědět 25.3.2013 20:15
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na radekj122
Theodor Johnson:

U složky nemůžeš použít FileInfo ale DirectoryInfo, jinak to nic neudělá
Neobsahuje ten soubor v listboxu už příponu?

Editováno 25.3.2013 20:18
Nahoru Odpovědět 25.3.2013 20:17
Přecházím na "Cross-Platform Development"
Avatar
radekj122
Člen
Avatar
radekj122:

No, podle toho, co jsem napsal :D Tak ne.. Protože se vlastně uloží z TextBoxu bez ".txt"..

"listBox1.Item­s.Add(textBox2­.Text);"

 
Nahoru Odpovědět 25.3.2013 20:24
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na radekj122
Theodor Johnson:

Ale vidím tam že do listBoxu přidáváš soubory které zapíše uživatel (bylo by dobrá dát tam if (File.Exists(tex­tBox2.Text + ".txt")) ) a taky tam přidáváš soubory nahraný ze složky který mají v tom listboxu příponu txt?

Nahoru Odpovědět 25.3.2013 20:30
Přecházím na "Cross-Platform Development"
Avatar
Odpovídá na radekj122
Michal Žůrek (misaz):

Pokud vím dobře tak toto: http://msdn.microsoft.com/…ineargs.aspx
ti vrátí pole stringů a první parametr je cesta ke spustitelnému soubru. Z toho získej složku a projdi všechny soubory, od každého získej příponu, pokud je .txt tak tu cestu přidej do listboxu nebo kam to potřebuješ.

string[] cmdLnArgs = Environment.GetCommandLineArgs();
string cestaKeSlozceSAplikaci = System.IO.Path.GetDirectoryName(cmdLnArgs[0]);
souboryVeSlozce = System.IO.Directory.GetFiles(cestaKeSlozceSAplikaci);
foreach (object soubor in souboryVeSlozce) {
        if (System.IO.Path.GetExtension(soubor) == ".txt") {
                listBox1.items.add(soubor);
        }
}
Nahoru Odpovědět 27.3.2013 20:52
Nesnáším {}, proto se jim vyhýbám.
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 11 zpráv z 11.