Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [C#] Creare una cartella nel percorso di Application Data

    Gent.mi, sono a chiedere una cortesia se mi suggerite il codice per creare una cartella in C:\ Application Data. Ho usato il seguete codice con esito negativo:

    public static string percorso_database = Environment.GetFolderPath(Environment.SpecialFolde r.ApplicationData) + @"\Prova\Documenti\";

    System.IO.Directory.CreateDirectory(percorso_datab ase);

    Con il suddetto codice, mi crea la cartella nel percorso del programma V.S. precisamente in: Bin>Release Anticipatamente ringrazione e fiducioso del suggerimento, saluto.
    Domenico.
    Ultima modifica di Pacifico437; 23-09-2020 a 10:13

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,461
    Quote Originariamente inviata da Pacifico437 Visualizza il messaggio
    ...
    Con il suddetto codice, mi crea la cartella nel percorso del programma V.S. precisamente in: Bin>Release
    No ... la crea nella cartella corretta.

    La cartella AppData non è sotto C:\ ma sotto C:\Users\nomeutente



    Prova ad inserire la linea

    MessageBox.Show( percorso_database );

    prima della

    System.IO.Directory.CreateDirectory( percorso_database );

    per mostrare a video il contenuto della variabile e postala sul forum.
    Ultima modifica di oregon; 23-09-2020 a 10:27
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,282
    Quote Originariamente inviata da Pacifico437 Visualizza il messaggio
    public static string percorso_database = Environment.GetFolderPath(Environment.SpecialFolde r.ApplicationData) + @"\Prova\Documenti\";
    Per comporre i percorsi di directory e file non si usa l'operatore di concatenazione, che potrebbe raddoppiare dei separatori di percorso (es. creando qualcosa del tipo "C:\Cartella\\Sottocartella"), bensì il metodo Path.Combine().

    Prendendo l'esempio sopra, la scrittura corretta per determinare il percorso è

    codice:
    var dataDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
    var subDir = @"Prova\Documenti";
    var fullPath = Path.Combine(dataDir, subDir);
    Directory.CreateDirectory(fullPath);

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Gent.mo Oregon, ringrazio della gentillezza e tempestività e mi scuso del ritardo per la risposta. Inserendo il MessageBox che non avevo pensato, ho notato di aver commesso un errore che l'ho sistemato. La cartella viene creata non in Application Data bensì in "AppData (file nascosto)>Roaming". > C:\Users\User\AppData\Roaming\Prova\Documenti e non sono riuscito ad avere in "Application Data nell'inviare la risposta, ho visto l'intervento di Alka che ringrazio, l'ho provato, e mi da una serie di errori. Auguro di saper correggere. Domenico,
    Ultima modifica di Pacifico437; 23-09-2020 a 11:37

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,461
    C:\Users\User\AppData\Roaming

    è la cartella corretta. Cosa non va?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Gent.mo Oregon,
    la comunicazione della risposta da parte del Forum, alla posta viene in SPAM.
    La cartella è corretta gradirei se è possibile averla in Application Data e non nel file nascosoto: AppData>Roaming.
    Tutto qui.
    Grazie.
    Domenico.

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,461
    Guarda che la cartella AppData non è altro che la Application Data ... sono la stessa cosa. E che vada nella sottocartella Roaming dipende dal tipo di utente. Ma è corretto così, è un valore restituito dal sistema e non devi decidere tu diversamente. In un altro sistema sarà da un'altra parte fisicamente ma sempre nella Application Data.

    Comunque, nel tuo post iniziale avevi un problema dicendo che andava sotto bin/release, problema che è risolto.
    Ultima modifica di oregon; 23-09-2020 a 12:26
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Gent.mo Oregon,

    ringrazio della gentilezza e pazienza.
    Risolto il problema
    Buona giornata
    Domenico.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.