Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.96/26: Рейтинг темы: голосов - 26, средняя оценка - 4.96
 Аватар для Shot152
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 38

Создание имени файла из значения в переменной

28.02.2013, 09:35. Показов 5607. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно ли вообще сделать так, чтобы файл создавался с таким именем, какое значение есть в определенной переменной ? То есть, например, имею переменную vvI как String, в ней у меня прописан путь как строка, например, "C:\Text.txt". Как мне создать файл, используя значение из этой переменной ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.02.2013, 09:35
Ответы с готовыми решениями:

Вывод на экран имени переменной(имени файла, и тд.)
Здрасти. Недалече столкнулся с проблемой: надо сравнить два файла по признаку количества содержащихся в них символов и вернуть тот что...

Вывод имени переменной, а не ее значения
Добрый день. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace List_Value_Types ...

Создание объекта по имени функции из переменной
Подскажите как сделать в JS по аналогии с php: $obj=new $classname; Т.е. так не выходит: function somefunc(){} var...

26
 Аватар для Shot152
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 38
06.03.2013, 14:07  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Nickopoll Посмотреть сообщение
Shot152, давай код обеих функций - записи и чтения, и напиши чем ты смотришь файл.
Кликните здесь для просмотра всего текста

'для начала создание файла.
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
'в шапке кода в Public Class 
 Public cfiletm As New StreamWriter("TXT\DIS\tm.txt", False, System.Text.Encoding.GetEncoding(1251))
 
'далее запись в файл перечня дисциплин с %
spec = cbSpec.Text
        lMess.Text = ""
        Select Case spec
            Case "Технология машиностроения"
                cfiletm.Write("%")       ' Перед названием дисциплины записываем определяющий знак %
                cfiletm.WriteLine(spec)  ' Записываем в файл название специальности
                cfiletm.WriteLine("")    ' Пропускаем строку
 
End Select
 
'допустим, создали.
'далее создание расписания
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
'нужно создать шапку для файла расписания, это будет название группы. Здесь ТМ-ХХ, где ХХ - год поступления
group1 = cbGroup.Text 'отсюда берем индекс группы (ТМ)
 
        Select Case group1
            Case "ТМ"
                group3 = "tm" + tbYear.Text
                Dim srReadingFile As StreamReader = New StreamReader("TXT\tmzapoln.txt", _
                                                                     System.Text.Encoding.GetEncoding(1251))
                Dim LineFromFile As String
 
                While srReadingFile.Peek > -1 'читаем, пока не конец файла
                    LineFromFile = srReadingFile.ReadLine()
                    If LineFromFile.Trim() <> "" Then
                        Select Case LineFromFile.Substring(0, 1) 'извлекаем первый символ строки
                            Case "%"
                                'записываем строку, пропуская первый символ
                                cb1stTop.Items.Add(LineFromFile.Substring(1))
                                cb1stBot.Items.Add(LineFromFile.Substring(1))
                                cb2ndTop.Items.Add(LineFromFile.Substring(1))
                                cb2ndBot.Items.Add(LineFromFile.Substring(1))
                                cb3rdTop.Items.Add(LineFromFile.Substring(1))
                                cb3rdBot.Items.Add(LineFromFile.Substring(1))
                                cb4thTop.Items.Add(LineFromFile.Substring(1))
                                cb4thBot.Items.Add(LineFromFile.Substring(1))
                        End Select
                    End If
                End While
 End Select
 
        group2 = group1 + "-" + tbYear.Text 'собственно, шапка файла
        vpath = "TXT\TAB\tab_" + group3 + ".txt" 'создаем файл пути. 
 
        IO.File.Create(vpath, FileMode.Create).Dispose()
        IO.File.AppendAllText(vpath, group2 & vbCrLf, System.Text.Encoding.GetEncoding(1251)) 'тут записываем ее
 
'далее происходит выбор СОЗДАННОГО ФАЙЛА с перечнем предметов по Case'у. В данном случае файл tm
'произошла расфасовка в комбо боксы
 
'здесь уже создаем само расписание
skip = "                            " 'переменная для пустого места, так нужно :)
 
Select Case group1
            Case "ТМ"
                group3 = "tm" + tbYear.Text
end select
 
lesst1st = "1st_T  " + cb1stTop.Text
        lessb1st = "1st_B  " + cb1stBot.Text
        lesst2nd = "2nd_T  " + cb2ndTop.Text
        lessb2nd = "2nd_B  " + cb2ndBot.Text
        lesst3rd = "3rd_T  " + cb3rdTop.Text
        lessb3rd = "3rd_B  " + cb3rdBot.Text
        lesst4th = "4th_T  " + cb4thTop.Text
        lessb4th = "4th_B  " + cb4thBot.Text
        dayofweek = cbDay.Text
 
        vpath = "TXT\TAB\tab_" + group3 + ".txt"
 
        fileTab = File.AppendText(vpath)
        fileTab.WriteLine(skip)
        fileTab.WriteLine(skip)
        fileTab.WriteLine(dayofweek, System.Text.Encoding.GetEncoding(1251))
        fileTab.WriteLine(skip)
        fileTab.WriteLine("   Верхняя неделя                           Нижняя неделя", _
                          System.Text.Encoding.GetEncoding(1251))
        fileTab.WriteLine(skip)
        fileTab.WriteLine("___________________ПРОВЕРКА__проверка________________________")
        fileTab.WriteLine(skip)
        fileTab.Write("1. " + lesst1st, System.Text.Encoding.GetEncoding(1251))
        fileTab.Write(skip)
        fileTab.WriteLine(lessb1st, System.Text.Encoding.GetEncoding(1251))
        fileTab.Write("2. " + lesst2nd, System.Text.Encoding.GetEncoding(1251))
        fileTab.Write(skip)
        fileTab.WriteLine(lessb2nd, System.Text.Encoding.GetEncoding(1251))
        fileTab.Write("3. " + lesst3rd, System.Text.Encoding.GetEncoding(1251))
        fileTab.Write(skip)
        fileTab.WriteLine(lessb3rd, System.Text.Encoding.GetEncoding(1251))
        fileTab.Write("4. " + lesst4th, System.Text.Encoding.GetEncoding(1251))
        fileTab.Write(skip)
        fileTab.WriteLine(lessb4th, System.Text.Encoding.GetEncoding(1251))
        fileTab.WriteLine(skip)
fileTab.Close()
Вот, собственно и все...
0
25 / 25 / 3
Регистрация: 10.06.2009
Сообщений: 134
06.03.2013, 15:46
Одно понял точно - приведенные тобой корявые строки выше в Юникоде (65001). Но чего текст пишется в юникоде, а не в указанной явно кодировке - ума не приложу. У меня такой проблемы никогда не случалось. Даже создал было простенькую программу для теста - записывает и читает в вполне понятном человеку виде...
Вот что на MSDN, может сам че найдешь.
0
 Аватар для Shot152
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 38
07.03.2013, 09:06  [ТС]
Цитата Сообщение от Nickopoll Посмотреть сообщение
Одно понял точно - приведенные тобой корявые строки выше в Юникоде (65001). Но чего текст пишется в юникоде, а не в указанной явно кодировке - ума не приложу. У меня такой проблемы никогда не случалось. Даже создал было простенькую программу для теста - записывает и читает в вполне понятном человеку виде...
Вот что на MSDN, может сам че найдешь.
Спасибо. Я сам вот тоже понять не могу. Может пыль почистить ? хотя... кто ж мне казенный комп технарьский вскрыть даст ?

Добавлено через 20 минут
А может быть такое, что происходит конфликт
VB.NET
1
2
 IO.File.Create(vpath, FileMode.Create).Dispose()
        IO.File.AppendAllText(vpath, group2 & vbCrLf, System.Text.Encoding.GetEncoding(1251))
из куска, где шапка файла получается (ТМ-ХХ) и второго куска, где пишутся лекции, со Стрим Райтером ?
0
 Аватар для Nachrichter
649 / 601 / 92
Регистрация: 19.03.2012
Сообщений: 1,128
07.03.2013, 09:13
Shot152, попробуй так:

VB.NET
1
2
IO.File.Create(vpath, FileMode.Create).Dispose()
IO.File.WriteAllText(vpath, group2 & vbCrLf, True)
0
 Аватар для Shot152
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 38
07.03.2013, 09:27  [ТС]
____________________________________
Да ! Так оно и есть, поменял IO на стрим райтер и чудо случилось ! Спасибо за помощь
Позже еще обращусь

Добавлено через 1 минуту
Цитата Сообщение от Nachrichter Посмотреть сообщение
Shot152, попробуй так:

VB.NET
1
2
IO.File.Create(vpath, FileMode.Create).Dispose()
IO.File.WriteAllText(vpath, group2 & vbCrLf, True)
в смысле вместо эппенда написать райт и убрать кодировку ? сейчас попробуем...

Добавлено через 2 минуты
Нет, так нельзя, пишет : Value of type 'Boolean' cannot be converted to 'System.Text.Encoding'.
То есть булевское значение не может быть как кодировщик.
0
 Аватар для Nachrichter
649 / 601 / 92
Регистрация: 19.03.2012
Сообщений: 1,128
07.03.2013, 09:31
Shot152, упс, с кодировкой:

VB.NET
1
IO.File.WriteAllText(vpath, group2 & vbCrLf, System.Text.Encoding.Default)
0
 Аватар для Shot152
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 38
07.03.2013, 09:57  [ТС]
Цитата Сообщение от Nachrichter Посмотреть сообщение
Shot152, упс, с кодировкой:

VB.NET
1
IO.File.WriteAllText(vpath, group2 & vbCrLf, System.Text.Encoding.Default)
Нет, с "ИО"-шками у меня кракозябрит... Но оставил на всякий этот кусок в комментариях

Добавлено через 21 минуту
А как сделать через класс StreamWriter чтобы запись строки или части строки началась с определенного места ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.03.2013, 09:57

Использование текущего значения переменной в имени рисунка
Здравствуйте. Решил освоить VB. Практикуюсь потихоньку. Столкнулся со следующим вопросом: На форме (Form1) имеется некоторое количество...

Одновременное создание имени переменной и присваивание.Возможно?
Доброй ночи. for($i=1;$i&lt;=5;$i++) { $pageleft.$i='&lt;a href=***&gt;&lt;/a&gt;'; $pageright.$i='&lt;a href=***&gt;&lt;/a&gt;'; } Скрипт...

Создание переменной с именем из значения другой переменной
Доброго времени суток. Существует ли вообще такая возможность, как создание новой переменной из значения другой переменной? Например...

Парсинг имени файла из переменной
Здравствуйте есть такой код,он мне выдаёт полный путь к файлу, нужно нужно в переменной это обрезать, что бы осталось только имя exe...

Использование переменной как имени внешнего js-файла
Это возможно?.. хоть как-нибудь? Объясните ламеру-уу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. https:/ / youtu. be/ VpfFZSUDGnQ. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru