Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 21.05.2020
Сообщений: 1

Изменение файла txt по действию Label.Click

21.05.2020, 17:28. Показов 1114. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую, уважаемые программисты! Помогите, по-возможности, с вопросиком... Суть проблемы:
Имеется форма с массивом Label(24),файл 3.txt(25строк с записью 0 или 1 в каждой), код, который при загрузке формы определяет цвет шрифта в полях:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
'Форма:
Private Sub Form_Load()
Cvet 0, 3
End Sub
 
'Модуль:
Sub Cvet(A As Integer, B As Integer) 'Определение цвета
Data1 = "С:" & B & ".txt"
Open Data1 For Input As #1
Do Until A >= 25
A = A + 1
Line Input #1, Data2
If Data2 = 0 Then
    Form1.Label1(A - 1).ForeColor = &HFF00&
Else
    Form1.Label1(A - 1).ForeColor = &HFF&
End If
Loop
Close #1
End Sub
И набросок кода для перезаписи данных в файле 3.txt:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub Perezapis(A As Integer, B As Integer, C As Integer) 'Перезапись данных в файле
Data1 = "D:\Avto" & B & ".txt"
Open Data1 For Input As #1
Dim s As String
s = Input(LOF(1), 1)
Dim rows() As String
rows = Split(s, vbCrLf)
Close #1
 
If s = "0" Then s = "1" Else s = "0"
rows(C) = s
 
Open Data1 For Output As #2
Print #2, Join(rows, vbCrLf)
Close #2
End Sub
Нужно, чтобы по клику на Label процедура перезаписала соответствующую строку в файле с 0 на 1 (или наоборот), в зависимости от первоначального значения.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.05.2020, 17:28
Ответы с готовыми решениями:

Считывание текста из txt-файла в Label
просмотрел разные темы на форуме, но к сожалению ничего не нашёл ИМЕННО по моему вопросу, а необходимо сделать следующее: есть 5...

Вывод текста из файла .txt на label
Здравствуйте. У меня есть файл в котором есть такая последовательность строк: Заголовок 1 Пункт 1 Пункт 2 Пункт 3 Заголовок...

Запись в Label строки из txt-файла
Подскажите пожалуйста, как записать в label1 одну определенную строку (или несколько строк) из txt файла. Если непонятно написал,...

2
92 / 58 / 21
Регистрация: 09.05.2019
Сообщений: 184
21.05.2020, 21:59
Лучший ответ Сообщение было отмечено Stalker_2020 как решение

Решение

Visual Basic
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
Dim redTXT() As String 'Объявляем динамический массив
 
Function updateTXT(i As Integer)
Open "C:\Users\Валерий\Desktop\5.txt" For Input As #1      'Открываем выбранный файл для чтения
k = 0 'Переменная для подсчета количества строк
    Do While Not EOF(1) 'Читаем файл до конца
            k = k + 1
            ReDim Preserve redTXT(k) 'Увеличиваем размерность динамического массива с сохранением внесенных данных
            Line Input #1, redTXT(k) ' Записываем строку в массив
    Loop
               
Close #1
 
Open "C:\Users\Валерий\Desktop\5.txt" For Output As #2      'Открываем выбранный файл для Перезаписи
For j = 1 To k
If j <> i Then Print #2, redTXT(j) Else Print #2, 1 - redTXT(j)
'Проверяем индекс Label, если индекс переданнога Labela не равен номеру строки, оставляем строку без изменения. Если
'индекс переданнога Labela равен номеру строки изменяем значение в строке 0 на 1, 1 на 0
Next j
            
Close #2
 
End Function
 
Private Sub Label1_Click(Index As Integer)
L = updateTXT(Index + 1)
Label1(Index).Caption = 1 - Label1(Index).Caption
End Sub
1
Наивное Существо
 Аватар для vedunasv
666 / 141 / 27
Регистрация: 09.05.2020
Сообщений: 750
Записей в блоге: 15
21.05.2020, 22:01
Ответ на вопрос Stalker_2020 от 21.05.2020

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub Perezapis(A As Integer, B As Integer, C As Integer) 'Перезапись данных в файле
 
Dim s as integer, s1% , n%
dim priznak%(24)
 
Data1 = "D:\Avto" & B & ".txt"
Open Data1 For Input As #1
 
for s%=0 to 24
  input #1,n%
  if n%=1 then 
    priznak%(s%)=0
  else
     priznak%(s%)=1
  endif
next
close 
Open Data1 For Output As #2
 
for s%=0 to 24
  Print #2, priznak%(s%)
next
Close #2
End Sub
ПОЯСНЕНИЕ:

1. Модуль не тестировался - сочинялся напрямую здесь
2. Некотоорые переменные другие, но это не имеет значения.
3. числа 0 и 1 пишутся в файл в виде цифр, а не текстовых символов - так проще.
4. Если будет задача: количество записей неизвестно, то лучше применить цикл DO ....LOOP

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
s%=0
do until eof(1)
     input #1,n%
  if n%=1 then 
    priznak%(s%)=0
  else
     priznak%(s%)=1
  endif
  s%=s%+1
loop
close 
Open Data1 For Output As #2
 
for s1%=0 to s%-1
  Print #2, priznak%(s1%)
next
Close #2
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.05.2020, 22:01
Помогаю со студенческими работами здесь

Изменение текста в одной форме по действию в другой
Программа состоит из двух форм : Form1 и Form2. В первой форме находится richTextBox и menuStrip. Во второй кнопка. При нажатии на...

Бегущая строка в Label или TextBox из файла txt?
Как можно реализовать бегущую строку в LabelText или TextBox из многострочного файла txt?

Изменение кодировки .txt файла
Добрый вечер. Недавно начал переходить с Delphi на C#, и столкнулся с проблемой изменения кодировки файла. Нужно из Windows-1251...

Поиск строчки и изменение txt файла
Привет, скажите пожалуйста как сделать программно? Зайдите в папку My Documents\My Games\Outlast\OLGame\Config (знаю) Откройте...

Файл: Переписать текст в t3.txt сначала из файла t1.txt, а потом из файла t2.txt
1) Переписать текст в t3.txt сначала с файла t1.txt, а потом с файла t2.txt 2) Файл t2.txt перенесите в папку K2 3) Файл t1.txt...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru