![]() |
Замена одного значения подстроки на другое
необходимо сделать следующее:
- на форме должны быть 2 кнопки ("Обзор" и "Заменить"), 2 текстбокса ("Что найти" и "На что заменить"); - по нажатию на кнопку "Обзор" появляется меню, где выбирается путь к папке с файлами (вроде через OpenFileDialog можно сделать); - в текстбоксе "Что найти" указываем то что нужно искать в файле, в текстбоксе "На что заменить" указываем на что нужно заменить то, что указали в текстбоксе "Что найти"; - по нажатию на кнопку "Заменить" каждый файл из выбраной папки построчно считывается, ищется то что было в текстбоксе "Что найти", заменяется на то что было в текстбоксе "На что заменить" и файл сохраняется. И так необходимо сделать со всеми файлами выбранной папки. |
Futtoto, что из перечисленного Вы уже реализовали? Что вызывает затруднения?
|
создал форму, на ней разместил 2 кнопки и 2 текстбокса.
по нажатию на кнопку Обзор появляется меню и можно выбрать папку с файлами. далее двум строкам присвоил значения того что вводится в текстбоксы: string find = textBox1.Text; string replaceFind = textBox2.Text; что делать дальше не знаю (( по идее нужно создать массив и поместить туда все файлы из выбранной папки, затем выполнить цикл, в котором каждый файл из массива будет открываться, в нем искаться значение из текстбокса "Что найти", заменяться на то что было в текстбоксе "На что заменить" using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace Zamena { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string find = textBox1.Text; string replaceFind = textBox2.Text; string fullFileName; using (OpenFileDialog dlg = new OpenFileDialog()) { if (dlg.ShowDialog() == DialogResult.OK) fullFileName = dlg.FileName; } } private void textBox1_TextChanged(object sender, EventArgs e) { } private void textBox2_TextChanged(object sender, EventArgs e) { } private void button2_Click(object sender, EventArgs e) { } } } |
Вам нужен не OpenFileDialog - класс (System.Windows.Forms), а FolderBrowserDialog - класс (System.Windows.Forms). Создавать массив не нужно совершенно, нужно рекурсивно пройтись по всем каталогам, начиная с выбранного, перебирая файлы. Во время перебора именно так:
Цитата:
|
ну а как это все сделать? покажите пожалуйста пример кода. я совсем-совсем новичок в программировании, меня никто не учил... все что нужно пытаюсь нагуглить, но пока безуспешно((
|
Цитата:
Код:
using System; |
у меня этот код нифига не работает... студия ошибки выдает
Ошибка 1 Пространство имен "WindowsFormsApplication6" уже содержит определение для "Program" Файл - D:\C#\WindowsFormsApplication6\WindowsFormsApplication6\Program.cs Ошибка 2 "WindowsFormsApplication6.Program": класс не может быть одновременно статическим и запечатанным Файл - D:\C#\WindowsFormsApplication6\WindowsFormsApplication6\Form1.cs |
Дык а голова на что? Код за Вас накидали, Вы его тупо скопипастили и пытаетесь собрать в тухлой VS, которая и нафиг не нужна: только место занимает, да жрет системные ресурсы. Собирайте из комстроки, например:
Код:
D:\proj> D:\Windows\Microsoft.NET\vXXXX\csc.exe /nologo /t:winexe /out:replacing.exe /optimize+ /debug:pdbonly replacing.cs Удачи! |
Время: 15:35. |
Время: 15:35.
© OSzone.net 2001-