powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подскажите решение данного вопроса
13 сообщений из 13, страница 1 из 1
Подскажите решение данного вопроса
    #39538450
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос про
StreamReader str = new StreamReader()

=======================================================================================================
public void button1_Click(object sender, EventArgs e)
{
String ora = "ORA-"; // если есть в лог файле ошибки ORA
String exp = "EXP-"; // если есть в лог файле ошибки EXP
listBox1.Items.Clear();
/
// Сбор адресов каталогов и поиск слов
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (!row.IsNewRow)
{
var cat = row.Cells[2].Value; // значение строк столбца каталог
var directory = new DirectoryInfo(cat.ToString());
var files = directory.GetFiles("*.txt");

foreach (var f in files)
{

StreamReader str = new StreamReader( ???????????????? что нужно тут написать????? чтобы начать поиск строк в файлах );


while (!str.EndOfStream)
{
string st = str.ReadLine();
if (st.StartsWith(ora) || st.StartsWith(exp)) // поиск ошибок
{
listBox1.Invoke(new MethodInvoker(() => listBox1.Items.Add("[Бэкап прошел с ошибками]")));
break;
}
else
{
listBox1.Invoke(new MethodInvoker(() => listBox1.Items.Add("[Бэкап прошел успешно]")));
break;
}
}
}
}

}

}
...
Рейтинг: 0 / 0
Подскажите решение данного вопроса
    #39538466
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014,
Invoke тут зачем?
...
Рейтинг: 0 / 0
Подскажите решение данного вопроса
    #39538551
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014Вопрос про
StreamReader str = new StreamReader()


StreamReader str = new StreamReader( ???????????????? что нужно тут написать????? чтобы начать поиск строк в файлах );

}

вы бы для начала задачу сформулировали [b]члено раздельно [/b]
...
Рейтинг: 0 / 0
Подскажите решение данного вопроса
    #39538579
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А) научитесь оформлять сообщение
Б) научитесь не писать велосипеды, для получение TextReader'а, есть метод File.OpenText
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
        private string FindLine(string filename, string lineSubString)
        {
            using (var file = System.IO.File.OpenText(filename))
            {
                while (!file.EndOfStream)
                {
                    var currentLine = file.ReadLine();
                    if (currentLine.Contains(lineSubString))
                    {
                        return currentLine;
                    }
                }
            }
            return null;
        }
...
Рейтинг: 0 / 0
Подскажите решение данного вопроса
    #39539283
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123SAS2014,
Invoke тут зачем?

ну пока такой вариант работает
...
Рейтинг: 0 / 0
Подскажите решение данного вопроса
    #39539284
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинSAS2014Вопрос про
StreamReader str = new StreamReader()


StreamReader str = new StreamReader( ???????????????? что нужно тут написать????? чтобы начать поиск строк в файлах );

}

вы бы для начала задачу сформулировали [b]члено раздельно [/b]

сам то понял, что написал вы бы для начала задачу сформулировали
...
Рейтинг: 0 / 0
Подскажите решение данного вопроса
    #39539285
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не знаю хорошее решение, но работает
StreamReader str = new StreamReader(dir.ToString() + f);
...
Рейтинг: 0 / 0
Подскажите решение данного вопроса
    #39539286
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полный код:
Код: c#
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.
// Просмотр списка каталогов
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (!row.IsNewRow)
{
var cat = row.Cells[2].Value; // значение строк столбца каталог
var directory = new DirectoryInfo(cat.ToString());

var namedb = row.Cells[1].Value; // значение строк столбца имя базы данных
var db = new DirectoryInfo(namedb.ToString());

DirectoryInfo dir = new DirectoryInfo(directory.ToString()) ; // выбраные каталоги
FileInfo[] files = dir.GetFiles("*.txt");

// Проверка бэкапов по разным условиям
foreach (FileInfo f in files) // просмотр всех файлов тхт в каталоге
{

StreamReader str = new StreamReader(dir.ToString() + f);

while (!str.EndOfStream)
{
string st = str.ReadLine();
if (st.StartsWith(ora) || st.StartsWith(exp))
{
listBox1.Invoke(new MethodInvoker(() => listBox1.Items.Add(db.ToString() + " " + "[Бэкап прошел с ошибками]")));
break;
}
else
{
listBox1.Invoke(new MethodInvoker(() => listBox1.Items.Add(db.ToString() + " " + "[Бэкап прошел успешно]")));
break;
}
}
}

}
} 
...
Рейтинг: 0 / 0
Подскажите решение данного вопроса
    #39539287
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по поводу break я буду еще решать, как лучше сделать, чтобы результаты не дублировались
...
Рейтинг: 0 / 0
Подскажите решение данного вопроса
    #39539351
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014,

для того, чтоб соединить папку и имя файла в 1 строку используйте метода Path.Combine(path, filename), а не конкатенацию строк. Если бы я был вашим ревьювером, хрен бы ваш коммит попал бы в develop ветку :)
...
Рейтинг: 0 / 0
Подскажите решение данного вопроса
    #39539444
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesSAS2014,

для того, чтоб соединить папку и имя файла в 1 строку используйте метода Path.Combine(path, filename), а не конкатенацию строк. Если бы я был вашим ревьювером, хрен бы ваш коммит попал бы в develop ветку :)

С чего Вы решили, что там есть develop-ветка? :)
...
Рейтинг: 0 / 0
Подскажите решение данного вопроса
    #39539456
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Addx,

да это так, к слову, просто косяков вагончик с тележкой :) просто подгорает знатно последнее время, чувствую себя аквалангистом ассенизатором, на 1 из проектов, который мне передали
...
Рейтинг: 0 / 0
Подскажите решение данного вопроса
    #39539617
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014StreamReader str = new StreamReader( ???????????????? что нужно тут написать????? чтобы начать поиск строк в файлах );
Для начала - имя файла, где вы собираетесь искать
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подскажите решение данного вопроса
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]