Thema: dateien und ordner offnen
- 25.01.2010, 01:01 #1Erfahrener Benutzer
- Registriert seit
- 12.07.2009
- Beiträge
- 161
- Renommee-Modifikator
- 0
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
funktioniert aber nur bei .exe dateien wie kann man das fur alle datei typen machen?Code:Shell(TextBox1.Text)
und bei odnern hab ich
C: wird geoffnet aber wie macht man das der odner aus TextBox1 geoffnet wird?Code:Shell("explorer.exe C:", vbNormalFocus)
MfG ben
- 25.01.2010, 17:38 #2Benutzer
- Registriert seit
- 04.06.2009
- Ort
- Baden-Württemberg
- Beiträge
- 30
- Renommee-Modifikator
- 0
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.
- 25.01.2010, 20:14 #3Erfahrener Benutzer
- Registriert seit
- 12.07.2009
- Beiträge
- 161
- Renommee-Modifikator
- 0
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
- 28.01.2010, 21:42 #4
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.:
Grundsätzlich kannst du folgendermaßen prüfen, ob eine Datei existiert:Code:catch (Exception e) { Console.WriteLine("Das ist schief gelaufen" + e); }
Da ich mal Zeit habe zum Proggen, stelle ich dir hier die Komplettlösung mal vor (wenn ich deine Angaben richtig verstanden habe):Code:if (File.Exists(@"C:\Pfadname\Dateiname.Formatierungstyp") { //Was passieren soll, wenn die Datei existiert. }
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!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; } } } }
------------------------------------------------------------------
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 derwunnerRechtschreibfehler sind Special Effects meiner Tastatur. Wer welche findet, darf sie behalten
- 29.01.2010, 01:39 #5Erfahrener Benutzer
- Registriert seit
- 12.07.2009
- Beiträge
- 161
- Renommee-Modifikator
- 0
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.
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 errorsCode:Public Class Form1 End Class
hier mal die error liste
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 existiertCode: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
danke
MfG ben
- 29.01.2010, 07:23 #6
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 derwunnerRechtschreibfehler sind Special Effects meiner Tastatur. Wer welche findet, darf sie behalten
- 29.01.2010, 14:00 #7Benutzer
- Registriert seit
- 04.06.2009
- Ort
- Baden-Württemberg
- Beiträge
- 30
- Renommee-Modifikator
- 0
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:
Es heißt übrigens DivideByZeroException und nicht Excpetion.DivideByZero.Code:Try ' Dein Versuchscode Catch e As Exception ' Dein Fehlercode End Try
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.
Aktive Benutzer
Aktive Benutzer
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Ähnliche Themen
-
Ordner auslesen und Dateien automatisch auflisten
Von aJunkie im Forum PHPAntworten: 28Letzter Beitrag: 12.10.2009, 11:04 -
Suche Programm:Ordner und Dateien verlinken
Von deusexde im Forum HTML und XHTMLAntworten: 2Letzter Beitrag: 10.12.2008, 11:31 -
copy - Dateien in anderen Ordner
Von Liskel im Forum PHPAntworten: 5Letzter Beitrag: 19.08.2008, 17:03 -
Nur Dateien aus Verzeichnis auflisten, keine Ordner
Von matibaski im Forum PHPAntworten: 4Letzter Beitrag: 16.07.2007, 20:22 -
code zum anzeigen von dateien in ordner und unter- umbasteln
Von Fätzminator im Forum PHPAntworten: 4Letzter Beitrag: 18.05.2005, 12:26


LinkBack URL
About LinkBacks
Zitieren

PHP-Mailer : Einige Fragen?
Heute, 17:02 in PHP