tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
21
ZUGRIFFE
983
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Jorin Jorin ist offline Mitglied
    Registriert seit
    Jan 2012
    Beiträge
    10
    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.




    Code csharp:
    1
    
    bool of = Directory.Exist(Convert.toString(listbox1.item);
    kann mir jemand helfen
    Geändert von sheel (19.01.12 um 19:51 Uhr) Grund: Richtige Codetags
     

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    Hi

    Code csharp:
    1
    
    bool of = Directory.Exist((string)listbox1.SelectedItem);

    Gruß
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    Jorin Jorin ist offline Mitglied
    Registriert seit
    Jan 2012
    Beiträge
    10
    danke für deine schnelle antwort aber es gibt immer noch false zurück.
     

  4. #4
    Avatar von Shakie
    Shakie Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.048
    Lass dir listbox1.SelectedItem im Debugger ausgeben und überprüfe manuell, ob der Pfad wirklich existiert. Vielleicht hast du einen Tippfehler im Pfad?
     
    hihi = -h²

  5. #5
    Jorin Jorin ist offline Mitglied
    Registriert seit
    Jan 2012
    Beiträge
    10
    Also der Pfad existiert da bin ich zu 100% sicher.

    ich poste hier mal mein Code:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    
    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);
                    }
                    
                    */
     
                }
            }
     
     
        
        }
     

  6. #6
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    Kannst du die test.txt auch noch zeigen?
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  7. #7
    Jorin Jorin ist offline Mitglied
    Registriert seit
    Jan 2012
    Beiträge
    10
    Das ist im Text.txt drin. Der Pfad existiert.

    Code :
    1
    2
    
    D:\test;
    D:\test
     

  8. #8
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    Schaut soweit in Ordnung aus....
    Mach vor dem bool of ein MessageBox.Show,
    in dem (string)listBox1.SelectedItem ausgegeben wird.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  9. #9
    Jorin Jorin ist offline Mitglied
    Registriert seit
    Jan 2012
    Beiträge
    10
    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 ?
    Geändert von Jorin (21.01.12 um 16:50 Uhr)
     

  10. #10
    paebels paebels ist offline Mitglied Gold
    Registriert seit
    Aug 2011
    Beiträge
    100
    Hallo ich bin ja kein Held im Programieren aber mir fehlt da was.
    Code :
    1
    2
    
    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

    Zitat Zitat von sheel Beitrag anzeigen
    Hi

    Code csharp:
    1
    
    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 :
    1
    
    bool of = Directory.Exist(listbox1.SelectedItem.toString()))
    Geändert von sheel (21.01.12 um 18:20 Uhr) Grund: Doppel
     

  11. #11
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    Zitat Zitat von paebels Beitrag anzeigen
    Ich hoffe habe das Proble erkannt.
    Nö. Wenn eine Exception kommen würde, wüde man das merken,
    egal ob mit oder ohne try-catch. Es kommt aber keine, es wird einfach false zurückgegeben.

    Zum Casten: Wenns bei der Messagebox geht, kanns nicht das Problem sein.

    Und bitte "Bearbeiten" drücken, statt Doppelposts machen,
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  12. #12
    paebels paebels ist offline Mitglied Gold
    Registriert seit
    Aug 2011
    Beiträge
    100
    Zitat Zitat von sheel Beitrag anzeigen
    Nö. Wenn eine Exception kommen würde, wüde man das merken,
    egal ob mit oder ohne try-catch. Es kommt aber keine, es wird einfach false zurückgegeben.

    Zum Casten: Wenns bei der Messagebox geht, kanns nicht das Problem sein.

    Und bitte "Bearbeiten" drücken, statt Doppelposts machen,
    Ist mir klar das try catch so nicht funtioniert wenn er es aber mit dem Objekt machen würde was ich nicht sehe bekommt er eine Exception
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    try
    {
    DirectoryInfo infoFiles = new DirectoryInfo(node);
    bool of = infoFiles.Exists};
    catch(Exception e)
    {
    MessageBox.shoe(e.toString());
    }
    Ich sehe das Problem eh nicht, da wenn ich mit DirectoryInfo arbeiten würde ich etwas zurück bekomme egal was. Wobei ich gerade an etwas ähnlihem arbeite und es mit
    Code :
    1
    
    bool of = Directory.Exists(node);
    getestet habe und es ging in meinem Projekt einwandfrei.
    Mfg
    Oli

    p.s Tipp hätte ich noch, die ganzen Abfragen etc in dem Button sind absolut unübersichtlich, so habe ich es auch früher gemacht, da kann man aber meist schlecht etwas finden. Auslagern in eine Arbeitschicht.
    Geändert von paebels (21.01.12 um 18:37 Uhr)
     

  13. #13
    Jorin Jorin ist offline Mitglied
    Registriert seit
    Jan 2012
    Beiträge
    10
    Nun bekomme ich die Meldung:" Illegales Verzeichnis im Pfad"
    Was muss ich dagegen machen ?
     

  14. #14
    paebels paebels ist offline Mitglied Gold
    Registriert seit
    Aug 2011
    Beiträge
    100
    Hallo
    Es heißt vermutlich die Schreibweise Deines Pfad´s ist falsch.
    Beispiel richtig:
    Code :
    1
    
    node.Tag = @"\\"+ System.Environment.GetEnvironmentVariable("CLIENTNAME")+@"\" + obj["Name"].ToString();
    falsch
    Code :
    1
    
    node.Tag = @"\"+ System.Environment.GetEnvironmentVariable("CLIENTNAME")+@"\" + obj["Name"].ToString();
    es fehlt also vermutlich irgendwo ein backslash oder zu viele oder zuwenig
    MfG
    Oli
    Geändert von paebels (23.01.12 um 15:20 Uhr)
     

  15. #15
    Jorin Jorin ist offline Mitglied
    Registriert seit
    Jan 2012
    Beiträge
    10
    Hallo danke für deine Antwort.

    Ich habe ein kleines Problem.
    und zwar der erste Eintrag im meinem test.txt wird gibt immer True zurück.
    Aber der restliche Eintrag in meinen test.txt wird immer als Illegales Pfad angegeben.

    Woran liegt das ?
     

Ähnliche Themen

  1. Existenz einer Checkbox überprüfen
    Von Trash im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 03.12.11, 11:34
  2. Überprüfen ob ein Pfad existiert? in C++
    Von DerSiebte im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 29.11.07, 15:05
  3. CFile -> Existenz der Zieldatei vor dem Öffnen überprüfen
    Von Quick_Mik im Forum VisualStudio & MFC
    Antworten: 5
    Letzter Beitrag: 05.11.07, 16:58
  4. Existenz von Tabellen überprüfen
    Von chuqa im Forum VisualStudio & MFC
    Antworten: 0
    Letzter Beitrag: 31.08.07, 11:11
  5. E-Mailadresse auf Existenz überprüfen
    Von SolarStern im Forum PHP
    Antworten: 9
    Letzter Beitrag: 05.02.04, 00:08