Могу ли я присвоить значение переменной в приложении во время выполнения через текстовый файл, а затем установить это значение на постоянное

сэр, я понятия не имею, как будет выглядеть код, но я хочу, чтобы он присваивал значение после чтения из текстового файла, а затем сохранял его для дальнейшего использования, даже если текстового файла нет, но без использования какого-либо внешнего хранилища, такого как реестр , диск, оперативная память. Он должен хранить значение в себе и делать так: - затемнить переменную1, переменную2 как строку, если файл.существует("текст.txt") прочитать текст сохранить текст в переменной 1 иначе переменная2 = переменная1 конец если

на основе переменной1 какое-то действие на основе переменной2 какое-то действие

Любая помощь будет оценена


person jahaan    schedule 13.03.2012    source источник
comment
Итак, если новое значение нельзя сохранить на диск, как оно может сохранить значение между перезагрузками? Интернет считается внешним устройством? Как насчет локальной сети? Возможно, вы сможете объяснить сценарий более точно...   -  person UnhandledExcepSean    schedule 13.03.2012


Ответы (2)


Вы не можете сделать значение постоянным, не сохраняя его где-либо. Вам понадобится любое внешнее хранилище. Другого решения нет. Точка.

Нет ничего похожего на «себя». Сама память, и когда приложение останавливается, память очищается и значения больше нет.

person Ignacio Soler Garcia    schedule 13.03.2012

Вау, вашей логике было трудно следовать. Как насчет чего-то вроде:

Private mVariable1 = Nothing
Private mVariable2 As String = "Something"
Private mFilePath As String = System.Environment.GetEnvironmentVariable("APPDATA")
Private mFileSpec As String = System.IO.Path.Combine(mFilePath, "textfile.txt")

' dgp rev 3/13/2012
Private ReadOnly Property Variable1 As String
    Get
        If mVariable1 Is Nothing Then
            If System.IO.File.Exists(mFileSpec) Then
                Try
                    Dim sr = New StreamReader(mFileSpec)
                    mVariable1 = sr.ReadToEnd
                    sr.Close()
                Catch ex As Exception
                    mVariable1 = "error"
                End Try
            Else
                mVariable1 = mVariable2
            End If
        End If
        Return mVariable1
    End Get

End Property

Переменная будет инициализирована при первой ссылке либо текстовым файлом, либо жестко запрограммированным значением, если файл не существует. Конечно, после закрытия программы ничего не сохраняется. Вот где я немного расплываюсь в ваших требованиях.

person dgp    schedule 13.03.2012