Vytvoření .txt souboru v jiné složce   zodpovězená otázka

VB.NET, WinForms

Dobrý den,

chtěl bych se zeptat jak vytvořit .txt soubor tam, kde by ji nebylo vidět(např. programfiles) Mám jej vytvořený v aplikaci v solution exploreru(je součástí aplikace). Zde je část kódu:

 Sub ctidata()
        Dim sr As New IO.StreamReader("database.txt") ' jde konkrétně o tento řádek, ve kterém je název   'hledaného souboru
        While Not sr.EndOfStream

            Dim jmeno As String = CStr(sr.ReadLine)
            Dim datum1 As String = CStr(sr.ReadLine)
            Dim datum2 As String = TextBox5.Text
            Dim pouzitelnedatum1 As String = (datum1(0)) & (datum1(1)) & (datum1(2)) & (datum1(3)) & (datum1(4)) & (datum1(5))
            Dim pouzitelnedatum2 As String = (datum2(0)) & (datum2(1)) & (datum2(2)) & (datum2(3)) & (datum2(4)) & (datum2(5))

            If pouzitelnedatum1 = pouzitelnedatum2 Then
                TextBox3.Text = jmeno
            End If
        End While
        sr.Close()

    End Sub

Děkuji za radu

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Už z principu je špatné vytvářet cokoliv (kromě samotného programu) do složky ProgramFiles. Tam prostě žádné doprovodné soubory nepatří, nehledě k tomu, že i tam je vše normálně viditelné. V ProgramFiles jsou omezená práva přístupu a databáze by vám tam nemusela fungovat korektně (pokud ovšem byste neměl nastavena administrátorská práva). Na to se používá složka ProgramData (AppData, atd.), která je přímo pro to dělaná.

Pokud byste chtěl, aby to bylo použitelné pro více uživatelů, resp. uživatelských profilů

'Cesta k adresáři na lokálním disku pro všechny
Dim cestaadr As String = IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) & "\MojeSlozka\")

nebo pokud má být pouze pro aktuálního uživatele

Dim cestaadr As String = IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\MojeSlozka\")
nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

tzn. že bych měl napsat

Dim cestaadr As String = IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) & "\MojeSlozka\")
dim sr as new io.streamreader(cestaadr)

?(pokud ano tak velmi děkuji za radu)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

V podstatě ano, jen překvapivě to "moje složka" nahradíte názvem, který potřebujete... A v té složce můžete mít všechny soubory, které chcete pomocí té aplikace vytvářet a používat, včetně DB...

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback