pfad überprüfen auf Existenz

Jorin

Grünschnabel
Hallo Leute

Ich habe ein kleines Problem. Ich bi gerade dabei C# zulernen.
wenn ich einen pfad aus dem listbox auslesen möchte und danach überprüfen möchte ob der pfad exitiert, danach bekomme ich immer false zurück. Wenn ich den pfad direkt bei der überprüfung eingebe dann gibt es true zurück.




C#:
bool of = Directory.Exist(Convert.toString(listbox1.item);
kann mir jemand helfen
 
Zuletzt bearbeitet von einem Moderator:
Lass dir listbox1.SelectedItem im Debugger ausgeben und überprüfe manuell, ob der Pfad wirklich existiert. Vielleicht hast du einen Tippfehler im Pfad?
 
Also der Pfad existiert da bin ich zu 100% sicher.

ich poste hier mal mein Code:
Code:
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;

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

        public void button1_Click(object sender, EventArgs e)
        {

            folderBrowserDialog1.ShowNewFolderButton = true;
            folderBrowserDialog1.ShowDialog();
            String pfad = folderBrowserDialog1.SelectedPath;

            String verzeichnis = "D:\\test.txt";
            StreamWriter sw = new StreamWriter(verzeichnis, true);
            string zwischenspeicher = pfad + "\\" + ";";
            MessageBox.Show(zwischenspeicher);
            sw.WriteLine(zwischenspeicher);
            sw.Close();

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            String pfad = "D:\\test.txt";
            StreamReader sr = new StreamReader(pfad);


            string Line = sr.ReadToEnd();
            string[] split = Line.Split(new Char[] { ';' });
            foreach (string s in split)
            {
                if (s.Trim() != "")
                    this.listBox1.Items.Add(s);
            }
            sr.Close();
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string listboxitem = Convert.ToString(listBox1.SelectedItem);
            MessageBox.Show(listboxitem);


        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {

        }

        private void textBox3_TextChanged(object sender, EventArgs e)
        {

        }

        private void label3_Click(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {
            MessageBox.Show(Convert.ToString(listBox1.SelectedItem));


            int jahrvon = Int32.Parse(textBox1.Text);
            int monatvon = Int32.Parse(textBox2.Text);
            int tagvon = Int32.Parse(textBox3.Text);

            int jahrbis = Int32.Parse(textBox6.Text);
            int monatbis = Int32.Parse(textBox5.Text);
            int tagbis = Int32.Parse(textBox4.Text);

            System.DateTime date2 = new System.DateTime(jahrbis, monatbis, tagbis);

            System.DateTime date3 = new System.DateTime(jahrvon, monatvon, tagvon);

            // diff2 gets 55 days 4 hours and 20 minutes.
            System.TimeSpan diff2 = date2 - date3;


            // MessageBox.Show(Convert.ToString(date2));
            // MessageBox.Show(Convert.ToString(date3));
            // MessageBox.Show(Convert.ToString(diff2.Days));

            //int differenztag = diff2.Days;

            string serverpfad = Convert.ToString(listBox1.SelectedItem);
            string lokalpfad = null; //listBox1.SelectedItem + "Lokal" + "\\";





            //bool OrdnerExisitiert = System.IO.Directory.Exists(Convert.ToString(listBox1.SelectedItem));

            //MessageBox.Show(Convert.ToString(OrdnerExisitiert));

            //String lokal = "\\Lokal\\";
            String selektiertepfade = Convert.ToString(listBox1.SelectedItem);
            String pfad2 = "\\Lokal";
           // bool Directory.(@string selektiertepfade);
            bool of = Directory.Exists((string)listBox1.SelectedItem);
           // bool of = Directory.Exist((string)listbox1.SelectedItem);

            MessageBox.Show(Convert.ToString(of));
            
            //Directory.CreateDirectory(string dirName);
            // String pfade = Path.Combine(selektiertepfad,lokal);
            //string selektiertepfad = "D:" + Path.DirectorySeparatorChar + Convert.ToString(listBox1.SelectedItem);//System.IO.Path.Combine("D:", Convert.ToString(listBox1.SelectedItem));
            

            /**MessageBox.Show(selektiertepfad);
            if (Directory.Exists(@selektiertepfad))
            {

                MessageBox.Show(" Ordner vorhanden, Server", "Ordner Vorhanden im Server", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show(" Ordner nicht vorhanden,Server!", "Ordner Vorhanden nicht vorhanden im Server!", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
            }

          /**  for (int i = tagvon; i <= tagbis; i++)
            {

                //MessageBox.Show(Convert.ToString(i));
                string filedate = jahrbis + "-" + monatbis + "-" + i;
                // MessageBox.Show(filedate,"Datum",MessageBoxButtons.OK,MessageBoxIcon.Information);

                //MessageBox.Show(liste);




                
               /** if (Directory.Exists(@serverpfad))
                {

                    MessageBox.Show(filedate + " Ordner vorhanden, Server", "Ordner Vorhanden im Server", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show(filedate + " Ordner nicht vorhanden,Server!", "Ordner Vorhanden nicht vorhanden im Server!", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
                }

               

                if (Directory.Exists(lokalpfad))
                {
                    MessageBox.Show(filedate + " Ordner vorhanden, Lokal", "Ordner Vorhanden im Lokal", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show(filedate + " Ordner nicht vorhanden,Lokal!", "Ordner Vorhanden nicht vorhanden im Lokal!", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
                }
                
                */

            }
        }


    
    }
 
Schaut soweit in Ordnung aus....
Mach vor dem bool of ein MessageBox.Show,
in dem (string)listBox1.SelectedItem ausgegeben wird.
 
ich bekomme den richtigen pfad zurück aber beim überprüfen bekomme ich immer noch den falschen pfad zurück sonst noch ideen ?


ich möchte gerne diesen Projekt fertig machen, bin seit 1 Wocher an dieser einten Funktion dra. gibt es sonst noch alternativ lösen ?
 
Zuletzt bearbeitet:
Hallo ich bin ja kein Held im Programieren aber mir fehlt da was.
Code:
DirectoryInfo infoFiles = new DirectoryInfo(node);
            bool of = infoFiles.Exists;
Und so geht es bei mir , sollte aber auch mit Directory test = new blah gehen.
Odre einfach im try catch block , dann bekommst als Message eh die Meldung PFad nicht vorhanden bzw eien andere Message die Du wenn gewünscht weiter verarbeiten kannst. Ich hoffe habe das Proble erkannt.
Gruß
oli

Hi

C#:
bool of = Directory.Exist((string)listbox1.SelectedItem);

Gruß
hm sollte doch so gehen ich mag das andere casten nicht da do ein Objekt castet (glaube ich zumindest) das Item selbst aber schon ein String ist.
Code:
bool of = Directory.Exist(listbox1.SelectedItem.toString()))
 
Zuletzt bearbeitet von einem Moderator:
Zurück