Вопросы о IO файла VB6 (FreeFile, номер файла и команда Dir) - PullRequest
4 голосов
/ 26 октября 2011

Я конвертирую старое приложение VB6, которое парится годами, но в нем жестко прописано имя сервера.Мы хотим преобразовать его в приложение на C #, и я делаю нормально, читая большую часть кода VB6, за исключением того, что я не уверен на 100%, что я правильно читаю код, когда речь идет о некоторых основных операциях ввода-вывода файла.*

Несколько строк кода вызывают функцию FreeFile.Я вижу, что VB.NET имеет функцию, и я прочитал документацию , но для меня это все еще не имеет смысла.

Примечания

Используйте FreeFile для указания номера файла, который еще не используется.

Вопрос 1: Все измой поиск не говорит мне, что такое «номер файла» или для чего он используется.Это какой-то способ ссылки на файл, но не по имени файла?

Вопрос 2: Я также не уверен насчет функции Dir.Для меня это выглядит как эквивалент System.IO.File.Exists (), верно?

Пример кода:

If Not Dir(My.Application.Info.DirectoryPath & "\path.txt") = "path.txt" Then
   End
Else
   iFile = FreeFile
   FileOpen(iFile, My.Application.Info.DirectoryPath & "\path.txt", OpenMode.Input)
   Input(iFile, lsDataIn)
   FileClose()
End If

1 Ответ

5 голосов
/ 26 октября 2011

FreeFile не требуется в C #, так как он был полностью удален. Просто откройте ваши файлы в C #, используя стандартный File I / O.

Что касается функции Dir, она была очень универсальной в VB6 и делала множество вещей. В этом контексте, да, вы правы, его можно заменить на File.Exists.

Итак, ваш код на C # может выглядеть так:

if (System.IO.File.Exists("path.txt"))
    Application.Exit();
else
    string txt = System.IO.File.ReadAllText("path.txt");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...