Рейтинг:
10
RickZeeland
Чтобы получить системный диск в C#, вы можете использовать:
var p = System.IO.Path.GetPathRoot(Environment.GetFolderPath(Environment.SpecialFolder.System));
В Vb.NET:
Dim p = System.IO.Path.GetPathRoot(Environment.GetFolderPath(Environment.SpecialFolder.System))
Чтобы получить путь, где находится exe-файл:
Dim strPath As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase)
Однако вам придется удалить начало строки "file:\\".
JeezyWonder
Значит, "п" будет содержать информацию о системном диске? как им пользоваться?
Dim FILE_NAME As String = "C:\FileName.txt"
RickZeeland
Это будет строка, содержащая букву диска, например "D:".
Просто соединитесь с вашим именем файла, или лучше: используйте Path.Объединять()
JeezyWonder
Dim FILE_NAME As String = p + "\FileName.txt " - сработает?
RickZeeland
Просто попробуйте не бояться :) может быть, вам не нужно использовать '\' в имени файла, поэтому лучше использовать Path.Combine (), который добавит это автоматически, если это необходимо.
JeezyWonder
Большое спасибо, еще одно qeustion, проблема диска решена с вашей предоставленной помощью, но как решить проблему пути к папке? Пользователь может извлечь мою папку с моими файлами. exe и. txt только на "C:\" или на "C:\Detskop-или еще одна папка на диске С, большое спасибо
RickZeeland
Если файлы. exe и. txt находятся в одном месте, вам вообще не нужен путь, просто используйте голое имя файла !
JeezyWonder
gooood, его хотят, чтобы я искал, большое спасибо, сэр
JeezyWonder
чтобы быть уверенным, это будет выглядеть так: Dim FILE_NAME As String = "\FileName.txt"?
RickZeeland
Близко, но вам не нужна обратная косая черта.
Рейтинг:
1
JeezyWonder
Это использование app. config?
OriginalGriff
Да-ссылка действительно говорит об этом.
JeezyWonder
очень жаль, что mdsn не предоставляет слишком много примеров кода с "текстовыми файлами конфигурации", честно говоря, не могу понять смысл app. config
OriginalGriff
Это потому что код тривиален:
Dim myString as String = свойства.Настройки.По умолчанию.MyStringSetting
...
Свойства.Настройки.По умолчанию.MyStringSetting = myNewStringValue
Свойства.Настройки.По умолчанию.Сохранить()
Данные хранятся в XML-файле, поэтому их легко редактировать вне приложения, Если вам это нужно.
JeezyWonder
Да, не могли бы вы быть так любезны привести пример того, как назначить 8000 символов(сейчас они у меня есть в текстовом файле, так что я просто скопирую) в строку app.config? а потом получить его от него, когда он мне понадобится в коде, вот так? :
Dim myString as String = свойства.Настройки.По умолчанию.MyStringSetting
myString = ' 8000 символов здесь
Свойства.Настройки.По умолчанию.MyStringSetting = myNewStringValue
Свойства.Настройки.По умолчанию.Сохранить()
(тогда он будет сохранен в xml, как я понимаю? а как получить символы обратно из xml и назначить их новому var?)
OriginalGriff
myString = ' 8000 символов здесь
Свойства.Настройки.По умолчанию.MyStringSetting = mystring совсем
Свойства.Настройки.По умолчанию.Сохранить()
OriginalGriff
Но я бы сделал это так, чтобы сохранить путь к файлу в конфигурационном файле, а не содержимое файла.
JeezyWonder
Ок, а как вам, что спасли 8000 символов обратно по назначению, чтобы новый ВАР?
JeezyWonder
"я бы сделал это так, чтобы сохранить путь к файлу в конфигурационном файле, а не содержимое файла." Кажется, я понимаю, но не могли бы вы показать простой пример, пожалуйста
OriginalGriff
Да ладно тебе!
Путь - это просто струна, ты же знаешь. Поэтому просто замените "myString" на путь к вашему файлу...