![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
Fruks |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 11.9.2013 Репутация: нет Всего: нет |
Добрый день уважаемые форумчане! Столкнулся с такой проблемой:
В общем у меня такая задача: Открыть текстовый файл программой (пусть это будет C:\1.txt) в нем есть 3 строки: 1. AllowEfect = 1 2. FreeEfect = 2 3. Premium Effect = 3 И мне нужно с помощью программы изменить FreeEfect = 2 На FreeEfect = 5 В чем проблема? В том что вместо "=2" может стоять любое число и я не знаю какое именно! Мне нужно что бы в этом файле он удалял не только FreeEfect = а всю строчку вместе с неизвестным числом и заменял на FreeEfect = 5! Не подскажете как сделать? Я пока только добился успеха путем удаления всего файла и заменой на другой ! Но мне нужно сохранить исходную информацию пользователя данного файла! Спасибо за внимание. Это сообщение отредактировал(а) Fruks - 11.9.2013, 12:33 |
|||
|
||||
TheTrick |
|
|||
![]() Atmeg'щик Профиль Группа: Участник Сообщений: 23 Регистрация: 5.9.2013 Где: Астрахань Репутация: нет Всего: 1 |
Считывай построчно (Line Input) и анализируй, также записывай в файл.
|
|||
|
||||
Fruks |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 11.9.2013 Репутация: нет Всего: нет |
Можно подробнее ? Я не очень силен в вб:)
|
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 17 Всего: 454 |
http://msdn.microsoft.com/en-us/library/aa...7(v=vs.60).aspx
http://msdn.microsoft.com/en-us/library/aa...2(v=vs.60).aspx http://msdn.microsoft.com/en-us/library/aa...7(v=vs.60).aspx http://msdn.microsoft.com/en-us/library/aa...3(v=vs.60).aspx -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Fruks |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 11.9.2013 Репутация: нет Всего: нет |
А вы не могли бы мне просто код написать с помощью которого это можно осуществить? Пожалуйста
![]() |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 17 Всего: 454 |
Для домашних заданий, курсовых, существует "Центр Помощи".
Тема перенесена! -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Fruks |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 11.9.2013 Репутация: нет Всего: нет |
Я в принципе понял как перезаписать текст и все такое но как удалить строку и перезаписать ее вот этого яне понял :(
|
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 17 Всего: 454 |
Никак. Ты просто читаешь из одного файла и пишешь в другой. Потом первый прибиваешь, второй переименовываешь. Например... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Fruks |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 11.9.2013 Репутация: нет Всего: нет |
Нужно чтобы программа читала информацию файла, к примеру, (C:\1.txt), записывала всю информацию в переменную s
Потом находила в этих записях определенную строку, и заменяла ее на другую! Напишите код пожалуйста ) Никак не могу сделать ![]() Спасибо за внимание |
|||
|
||||
Sanaff |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 15.9.2009 Где: г. Северодвинск Репутация: -1 Всего: 1 |
Лучше считывать не в одну переменную, а в массив строк, потом из них создать файл легче.
Вам тут уже подсказали, Line Input считывание, Print запись В чём конкретно непонятка? --------------------
Программист - это локальный бог ©ICQ 373-628-456 |
|||
|
||||
Fruks |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 11.9.2013 Репутация: нет Всего: нет |
в том что я не знаю как код написать
|
|||
|
||||
Hralain |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 1.11.2013 Где: Воронеж Репутация: нет Всего: нет |
Извиняюсь что так поздно, только заметил. Если всё еще нужно, то с мотри. (если т конечно это увидишь)
На форму добавь такую штучку, называется CommonDialog, 3 кнопки и 2 текстовых поля. Private Sub Command1_Click() ' Подпрограмма диалог открытия файла на чтение CommonDialog.FileName = "" CommonDialog.Filter = "Файлы (*.txt) |*.txt" CommonDialog.ShowOpen ' В этой строчке задается, что файл открывается на чтение Text1.Text = Dlog.FileName ' Сохраняем имя файла в текстовом окне End Sub Private Sub Command2_Click() ' Подпрограмма диалог открытия файла на запись CommonDialog.FileName = "" CommonDialog.Filter = "Файлы (*.txt) |*.txt" CommonDialog.ShowSave ' В этой строчке задается, что файл открывается на запись Text2.Text = Dlog.FileName ' Сохраняем имя файла в текстовом окне End Sub Private_Sub Command3_Click() Dim file1ToOpen As String, file2ToOpen As String, Mes As String ' задаем типы переменных file1ToOpen = Text1.Text ' Задаем имя входного файла Open file1ToOpen For Input As #1 ' открываем файл на чтение x = Input$(LOF(1), 1) ' считываем весь файл в переменную A = Split(x, vbCrLf): n = UBound(A) ' делим по строчкам Close ' закрываем файл For i = 1 to n ' задаем цикл, мы же не знаем сколько будет строчек If Left(A(i),10 ) = FreeEffect then A(i) = "FreeEffect = 5" ' Если первые 10 символов этой строки равны "FreeEffect" то эта строка заменяется на "FreeEffect = 5" Esle A(i) = A(i) ' в других случаях она не меняется Mes = Mes & A(i) & vbCrLf 'ну тут мы задаем переменную, которая будет строчкой (на конце это --> vbCrLf означает enter) Next i ' закончили цикл file2ToOpen = Text2.Text ' Задаем имя выходного файла Open file2ToOpen For Output As #1 ' Открываем его на запись Print #1, Mes ' Выводим весь текст в файл Close ' Закрываем файл |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |