Autor Beitrag
Csharp-programmierer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Do 04.06.15 20:41 
Hallo Leute. Bei dem alles ersten Programmstart soll das Programm ein Verzeichnis (Directory) dort erstellen, wo das aktuelle Programm läuft. Das geht so:

ausblenden C#-Quelltext
1:
2:
3:
4:
string path = Directory.GetCurrentDirectory() + "\\Getränke\\";
Directory.CreateDirectory(path);
Properties.Settings.Default.HauptPfad = path;
Properties.Settings.Default.Save();


Wenn ich nun einen File dort erstellen möchte, mache ich das so (von dem YouTube DocTore):
ausblenden C#-Quelltext
1:
File.WriteAllText(path + *, this.textBox1.Text);					


Und was muss für dieses * da rein? Wenn ich ohne das + also nur den Path und this.textBox1.Text als Parameter übergebe, bekomme ich eine Fehlermeldung in der folgendes steht: der Zugriff auf den Pfad wurde verweigert. Wenn ich dann aber + * irgendwas mache, bekomme ich keine Fehlermeldung. Was muss für * in den Parameter?

MFG :)

Moderiert von user profile iconChristian S.: Titel geändert, man muss hier ja nicht rumschreien ;)
Moderiert von user profile iconChristian S.: Topic aus WinForms verschoben am Do 04.06.2015 um 20:48
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 04.06.15 20:59 
Hallo,

du mußt ja auch einen Dateinamen und nicht nur einen Pfad angeben, also z.B.
ausblenden C#-Quelltext
1:
File.WriteAllText(path + "datei.txt", textBox1.Text);					

Besser ist es jedoch mittels der Path-Klasse die Pfade zusammenzusetzen:
ausblenden C#-Quelltext
1:
2:
string filename = path.Combine(path, "datei.txt");
File.WriteAllText(filename, textBox1.Text);

(am besten auch für deinen Getränke-Pfad diese Methode verwenden ;-)
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Sa 06.06.15 00:26 
Vielen Dank. Wenn ich das Programm nun ausführe, dann wird kein Ordner Namens "Getränke" ertsllt. Die neues Files haben außerdem noch "Debug" davor. Mein Code bis jetzt:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
 private void button2_Click(object sender, EventArgs e)
        {
            path = Directory.GetCurrentDirectory();
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            string path1 = Path.Combine(path + this.textBox1.Text);
            if(!File.Exists(path1))
            {
                File.WriteAllText(path1 , this.textBox1.Text);
            }
        }


Ich möchte nun ein Directory Namens Getränke kreieren, in dem nun die Informationen aller Getränle in Files gespeichert weden. Wie kann ich ein Directory Namens "Getränke" kreieren, in dem die Files gespeichert werden?

MFG :)
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Sa 06.06.15 09:59 
Hallo,

diesbzgl. war dein Code im ersten Beitrag doch schon in Ordnung so (jetzt fehlt ja der "Getränke"-Teil).

Und das aktuelle Verzeichnis, wenn du das Projekt aus Visual Studio heraus startest, lautet ja entweder "bin/Debug" oder "bin/Release".
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 06.06.15 19:20 
- Nachträglich durch die Entwickler-Ecke gelöscht -
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 06.06.15 20:32 
user profile iconCsharp-programmierer hat folgendes geschrieben Zum zitierten Posting springen:
Hallo Leute. Bei dem alles ersten Programmstart soll das Programm ein Verzeichnis (Directory) dort erstellen, wo das aktuelle Programm läuft.
Wobei ich mal hoffe, dass du das nur zu Übungszwecken machst. Bei einem echten Programm solltest du davon ausgehen, dass du im Verzeichnis deines Programms keine Schreibrechte hast.
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Sa 06.06.15 20:42 
Ja. Soll nur eine Übung werden. Mal 2 Fragen zwischendurch:
1) Wie kann ich einen Ordner per Button-click auf der Windows Form auf dem Desktop erstellen?
2) Ich habe folgenden Code:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
 private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyData  ==( Keys.F1|Keys.Alt))
                this.WindowState = FormWindowState.Minimized;
            else if (e.KeyData == (Keys.F2|Keys.Alt))
                this.WindowState = FormWindowState.Normal;

        }

Wenn ich F1 und Alt drücke, dann wird das Fenster Minimiert. Wenn ich F2 und Alt drücke, passiert gar nichts. Woran kann das lieben?

MFG :)
Yankyy02
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 138
Erhaltene Danke: 21

Win 11 x64
C# (VS 2022 - Rider)
BeitragVerfasst: So 07.06.15 23:49 
Hallo Csharp-programmierer,

Zitat:
Wenn ich F2 und Alt drücke, passiert gar nichts. Woran kann das lieben?

Das liegt daran daß dein Fenster nach dem minimieren nicht mehr den Fokus hat und somit von der Tastenkombination nichts mitbekommt. Du mußt die Hotkeys global definieren. Siehe dazu dotnet-snippets.de/s...tenkombinationen/356

_________________
the quiter you become, the more you are able to hear
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mo 08.06.15 09:49 
Ich hatte dieses Thema für 24h gesperrt, da ich Csharp-programmierer eine PN geschickt hatte, daß er für diese Fragen eigene Themen anlegen soll.
Daher schließe ich jetzt nochmals dieses Thema.
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.

Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.