Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 7 von 10
  1. #1
    ben
    ben ist offline
    Erfahrener Benutzer
    Registriert seit
    12.07.2009
    Beiträge
    161
    Renommee-Modifikator
    0

    Standard dateien und ordner offnen

    hallo
    ich bin dabei ein kleines programm zu basteln das uberpruft ob dateien und odner existieren.
    Nun moechte ich aber auch das man diese dann offnen kann

    der Path wird in eine TextBox1 geschrieben

    fur datei offnen hab ich bisher
    Code:
    Shell(TextBox1.Text)
    funktioniert aber nur bei .exe dateien wie kann man das fur alle datei typen machen?

    und bei odnern hab ich
    Code:
    Shell("explorer.exe C:", vbNormalFocus)
    C: wird geoffnet aber wie macht man das der odner aus TextBox1 geoffnet wird?

    MfG ben

  2. #2
    Benutzer
    Registriert seit
    04.06.2009
    Ort
    Baden-Württemberg
    Beiträge
    30
    Renommee-Modifikator
    0

    Standard

    Nimm die Start()-Methode von Process aus System.Diagnostics. Die kann alle Dateiein (wenn sie einem Programm zugeordnet sind) und soweit ich weis auch Ordner direkt öffnen.
    PS: Wie man Strings verkettet solltest du aber wissen.

    Grüße, JasonDelife.
    Beim Programmieren löst man die Probleme, die man nicht hätte, programmierte man nicht.

  3. #3
    ben
    ben ist offline
    Erfahrener Benutzer
    Registriert seit
    12.07.2009
    Beiträge
    161
    Renommee-Modifikator
    0

    Standard

    hallo
    danke fur die antwort ich werde mich mal damit beschaftigen.
    ich bin erst seit ca 3 wochen dabei und weis noch sehr wenig.aber so lerne ich immer mehr dazu deswegen probier ich ja immer rum
    ich guck mal was ich hinkriege

    danke
    MfG ben

  4. #4
    Benutzer Avatar von derwunner
    Registriert seit
    08.07.2008
    Beiträge
    47
    Renommee-Modifikator
    0

    Standard Hier die Komplettlösung

    Hallo,
    also grundsätzlich kann man mit Process.Start(); alles öffnen. Wenn es kein exe Programm ist, wird das dafür vorgesehene Standaradprogramm geöffnet. Gibt es kein Standardprogramm dafür, dann Stürtzt dein Programm ab. Deswegen würde ich dir empfehlen das in einem Try-Catch Block zu schreiben. Try {} wie der name schon sagt, versucht etwas und catch (Exception) {} fängt alle Fehler ab und führt dann aus, was im catch Block steht. Das Schlüsselwort Exception steht für alle Fehler. Mit z. b. Exception.DivideByZero wird nur der catch Block ausgeführt, wenn jemand versucht hatte durch 0 zu dividieren. Also du kannst also auch einen try Block haben, aber verschiedene catch Blöcke, die verschiedene Sachen abfangen. Wenn du deinen Benutzer wissen lassen, was schief gelaufen ist, dann hängst du einfach an Exception ein wort oder buchstaben noch an. z. b.:

    Code:
    catch (Exception e)
    {
           Console.WriteLine("Das ist schief gelaufen" + e);
    }
    Grundsätzlich kannst du folgendermaßen prüfen, ob eine Datei existiert:
    Code:
    if (File.Exists(@"C:\Pfadname\Dateiname.Formatierungstyp")
    {
         //Was passieren soll, wenn die Datei existiert.
    }
    Da ich mal Zeit habe zum Proggen, stelle ich dir hier die Komplettlösung mal vor (wenn ich deine Angaben richtig verstanden habe):

    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;
    using System.Diagnostics;
    
    namespace projekt_htmlforum
    {
        public partial class Form1 : Form
        {
            string path = null;
    
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
    
            }
    
            private void textBox1_TextChanged(object sender, EventArgs e)
            {
                path = textBox1.Text; //Speichert zeichen Für Zeichen in dem String "path" Wenn du sehen willst, wie es arbeitet, dann mache die Kommentarzeichen aus der nächsten Zeile raus:
                /*if (path != "")
                {
                    MessageBox.Show("Sie haben einen Buchstaben eingegeben!");
                }*/
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                //Prüfen, ob die Datei existiert:
                try
                {
                    if (File.Exists(@path))
                    {
                        Process.Start(@path);
                        MessageBox.Show("Datei gefunden, die Datei wurde gestartet!");
    
                        //falls du nach öffnen der Datei das Prgromm beenden möchtest:
                        //this.Close();
                        //oder verstecken (läuft immer nocher weiter):
                        //this.Hide();
                    }
                }
    
                catch (Exception fehler)
                {
                    MessageBox.Show("Ein Fehler ist aufgetreten, bitte überprüfen Sie ihre Pfadangabe \n Programmfehler: " + fehler);
                    path = null;
                }
    
    
    
            }
    
           
        }
    }
    Ich stelle dir hier nur die Codierung bereit, um deine Windows Form, also wie sie aussieht, das musst du noch selber machen. Ich bin bei dem Textfeld und dem Button von den Standardwerten ausgegangen. Also das Button z. b. heißt bei mir immer noch "button1". Das Programm (mit einer Windows Form) würde so an sich gehen, habs selbst mit VS getestet!

    ------------------------------------------------------------------
    Falls du sonst noch Fragen hast, melde dich bei mir (PN). Ich weiß wie das ist, wenn man programmieren lernt, aber keinen Ansprechpartner hat, der einem weiterhelfen kann. So hatte ich auch auch mal angefangen vor Jahren.



    MFG derwunner
    Rechtschreibfehler sind Special Effects meiner Tastatur. Wer welche findet, darf sie behalten

  5. #5
    ben
    ben ist offline
    Erfahrener Benutzer
    Registriert seit
    12.07.2009
    Beiträge
    161
    Renommee-Modifikator
    0

    Standard

    danke
    ich habe das mal in ein neues programm kopiert und das zeigt mit 54 errors an
    ich habe visual basics 2008 express edition die windows form hab ich so gemacht wie du gesagt hast textbox und button so gelassen nicht umbennant.

    Code:
    Public Class Form1
        End Class
    hab ich an anfang und ende sonst zeigt der mit die windows form nicht mehr an. aber ich habs auch ohne versucht dann nur 53 errors
    hier mal die error liste
    Code:
    Description      Line     Column
    1    'Class' statement must end with a matching 'End Class'.    1    1
    2    Statement cannot appear outside of a method body.    2    5
    3    Statement cannot appear outside of a method body.    3    1
    4    Statement cannot appear outside of a method body.    4    1
    5    Statement cannot appear outside of a method body.    5    1
    6    Statement cannot appear outside of a method body.    6    1
    7    Statement cannot appear outside of a method body.    7    1
    8    Statement cannot appear outside of a method body.    8    1
    9    Statement cannot appear outside of a method body.    9    1
    10    Statement cannot appear outside of a method body.    10    1
    11    Statement cannot appear outside of a method body.    11    1
    12    'Namespace' statements can occur only at file or namespace level.    13    1
    13    'Namespace' statement must end with a matching 'End Namespace'.    13    1
    14    Syntax error.    14    1
    15    Declaration expected.    15    34
    16    Syntax error.    16    5
    17    Syntax error.    17    9
    18    Syntax error.    20    9
    19    Declaration expected.    21    13
    20    Syntax error.    22    9
    21    End of statement expected.    24    22
    22    Syntax error.    25    9
    23    Syntax error.    27    9
    24    End of statement expected.    29    22
    25    Syntax error.    30    9
    26    Declaration expected.    31    13
    27    Syntax error.    32    13
    28    Syntax error.    33    13
    29    Declaration expected.    34    17
    30    Syntax error.    35    13
    31    Syntax error.    36    9
    32    End of statement expected.    38    22
    33    Syntax error.    39    9
    34    Syntax error.    40    13
    35    Statement cannot appear outside of a method body.    41    13
    36    Syntax error.    42    13
    37    Statement cannot appear outside of a method body.    43    17
    38    Syntax error.    44    17
    39    Declaration expected.    45    21
    40    Declaration expected.    46    21
    41    Syntax error.    48    21
    42    Syntax error.    49    21
    43    Syntax error.    50    21
    44    Syntax error.    51    21
    45    Syntax error.    52    17
    46    Syntax error.    53    13
    47    Statement cannot appear outside of a method body.    55    13
    48    Syntax error.    56    13
    49    Declaration expected.    57    17
    50    Declaration expected.    58    17
    51    Syntax error.    59    13
    52    Syntax error.    63    9
    53    Syntax error.    66    5
    54    Syntax error.    67    1
    ich hab bei meinem programm das mit process gemacht und es offnet das mit dem default programm und einen check button ob die datei/ordner existiert hab ich extra sind zwei verschiedene buttons und dann offnen nochmal ein button aber ich koennte auch offnen klicken wenn die datei nicht existiert

    danke
    MfG ben

  6. #6
    Benutzer Avatar von derwunner
    Registriert seit
    08.07.2008
    Beiträge
    47
    Renommee-Modifikator
    0

    Standard Sorry ;)

    Achso, sorry, du benutzt Visual Basic. Ja das kann ich natürlich nicht. Das dann Fehler kommen ist logisch. Das Programm was ich dir gegeben habe, war in C# gemacht. Also sprich mit Visual C# 2008. Dein Syntax sah für mich nach C# aus.
    Ich würde dir auch empfehlen, auf C# zu wechseln, weil visual basic macht heute fast keiner mehr. Außerdem ist C# sehr mächtig.


    MFG derwunner
    Rechtschreibfehler sind Special Effects meiner Tastatur. Wer welche findet, darf sie behalten

  7. #7
    Benutzer
    Registriert seit
    04.06.2009
    Ort
    Baden-Württemberg
    Beiträge
    30
    Renommee-Modifikator
    0

    Standard

    Abgesehen davon, dass ich von Komplettlösungen wenig halte, ist Visual Basic (ohne S) 2008 genauso Mächtig wie C#. Es hat ein paar Features, die meiner Meinung nach verdammt werden sollten, aber das macht es nicht gleich schlecht.
    Try-Catch sieht in VB so aus:
    Code:
    Try
     ' Dein Versuchscode
    Catch e As Exception
     ' Dein Fehlercode
    End Try
    Es heißt übrigens DivideByZeroException und nicht Excpetion.DivideByZero.
    Desweietren empfehle ich einfach mal ein Grundlagenbuch durchzuarbeiten, da kommt das ganze Zeug ausführlich erklärt dran.

    Viele Grüße, JasonDelife.
    Beim Programmieren löst man die Probleme, die man nicht hätte, programmierte man nicht.

Seite 1 von 2 12 LetzteLetzte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Antworten: 28
    Letzter Beitrag: 12.10.2009, 11:04
  2. Suche Programm:Ordner und Dateien verlinken
    Von deusexde im Forum HTML und XHTML
    Antworten: 2
    Letzter Beitrag: 10.12.2008, 11:31
  3. copy - Dateien in anderen Ordner
    Von Liskel im Forum PHP
    Antworten: 5
    Letzter Beitrag: 19.08.2008, 17:03
  4. Antworten: 4
    Letzter Beitrag: 16.07.2007, 20:22
  5. Antworten: 4
    Letzter Beitrag: 18.05.2005, 12:26

Stichworte