Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2015, 12:24   #1
Fil_1990
Пользователь
 
Регистрация: 23.09.2015
Сообщений: 76
По умолчанию Написание условия проверки и вывод в файл (C#)

Вопрос такой, что есть текстовый файл,который я считал в массив построчно, и сделал разделителем в строках запятую.Мне надо,четвертый элемент определённых строк этого файла, записать в другой текстовый файл.
Fil_1990 вне форума Ответить с цитированием
Старый 28.09.2015, 12:38   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну в чем проблема? Покажи как считал.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.09.2015, 12:51   #3
Fil_1990
Пользователь
 
Регистрация: 23.09.2015
Сообщений: 76
По умолчанию

Код:
 string path = @"C:\Users\a.filatov\Desktop\1\COMMA.txt";
            string[] readText = File.ReadAllLines(path);
            TimeSpan intervaltimesum = new TimeSpan();
            TimeSpan current_time;
            int countTime = 0;

            for (int i = 19; i < 1000; i++)
            {
                string[] elements = readText[i].Split(',');
Fil_1990 вне форума Ответить с цитированием
Старый 28.09.2015, 13:20   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну отлично.
Теперь знач так:
Код:
StreamWriter w = new StreamWriter("d:\\1\\q.txt");
            for (int i = 19; i < 1000; i++)
            {
                string[] elements = readText[i].Split(',');
if(elements.GetLength(0)>3) w.WriteLine(elements[3]);
}
w.close();
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.09.2015, 14:12   #5
Fil_1990
Пользователь
 
Регистрация: 23.09.2015
Сообщений: 76
По умолчанию

Спасибо,поясните пожалуйста условие.
Fil_1990 вне форума Ответить с цитированием
Старый 28.09.2015, 15:06   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Если четветрый элемент в строке существует, то берем его, иначе нет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.09.2015, 15:55   #7
Fil_1990
Пользователь
 
Регистрация: 23.09.2015
Сообщений: 76
По умолчанию

Спасибо большое.
Fil_1990 вне форума Ответить с цитированием
Старый 28.09.2015, 16:05   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пожалуйста )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.09.2015, 09:33   #9
Fil_1990
Пользователь
 
Регистрация: 23.09.2015
Сообщений: 76
По умолчанию Написание условия проверки и вывод в файл - C#

Такая проблема, есть текстовый файл c содержимым:



LM = Logical Machine ID, Rc = Recoveries, Rt = Retries, Cl = Clears

#,LM,Jam ID,Date Occurred,Time Jammed,Rc,Rt,Cl,Jam Text
001,05,015,04/07/15 15:18,00:00:32,01,02,00,Picker can't detect all parts:Ck #1 A1
002,02,030,09/21/15 15:17,00:00:19,00,00,01,ATT unable to detect tray at Gripper
003,01,045,09/21/15 15:15,00:01:32,00,01,00,Aux tray is hanging on guides or stuck in gripper.
004,01,045,09/21/15 15:15,00:00:17,00,01,00,Aux tray is hanging on guides or stuck in gripper.
005,04,030,09/18/15 19:28,00:00:55,01,02,00,Missing sort device(s) on sort boat. B1
006,05,029,09/18/15 19:24,00:01:39,06,06,01,TS Picker missing parts:Ck #1 A1
007,05,016,09/18/15 19:21,00:01:12,00,01,00,Picker detects parts stuck in nests:Ck #1 A1
008,05,016,09/18/15 19:20,00:00:23,00,01,00,Picker detects parts stuck in nests:Ck #1 A1
009,05,016,09/18/15 19:17,00:01:07,02,03,00,Picker detects parts stuck in nests:Ck #1 A1
010,05,016,09/18/15 19:15,00:00:17,00,01,00,Picker detects parts stuck in nests:Ck #1 A1

Я его прочитал построчно в массив, при этом разделителем сделал запятую,посчитал среднее время отклонения(пятая колонка) и записал в файл. Не получается написать такой момент,что если значение пятой колонки больше 2 часов он всю строку записывал в другой файл?
Fil_1990 вне форума Ответить с цитированием
Старый 29.09.2015, 10:48   #10
Fil_1990
Пользователь
 
Регистрация: 23.09.2015
Сообщений: 76
По умолчанию Исправить ошибку

Не поучается результат проверки вывести в файл
Код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Text.RegularExpressions;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {   //Путь к файлу
            string path = @"C:\Users\a.filatov\Desktop\1\COMMA.txt";
           
            //Читаем текст в файле построчно
            string[] readText = File.ReadAllLines(path);
            
            //Объявляем интервал времени
            TimeSpan intervaltimesum = new TimeSpan();
            
            //Текущее время в ячейке
            TimeSpan current_time;
            
            //Счётчик
            int countTime = 0;
            
            //Создание потока для записи в файл
            StreamWriter W = new StreamWriter(@"C:\Users\a.filatov\Desktop\1\Write.txt");
            StreamWriter A = new StreamWriter(@"C:\Users\a.filatov\Desktop\1\Writer.txt");
            
            //Цикл для считывания строк
            for (int i = 19; i < 1000; i++)
            {   
                //Установка разделителем массива запятой
                string[] elements = readText[i].Split(',');
                
                //Вывод 4 элемента массива в файл
                if (elements.GetLength(0) > 4) W.WriteLine(elements[4]);
                
                //Сумма времени всех строк
                if (TimeSpan.TryParse(elements[4], out current_time))
                {
                    
 
                    intervaltimesum += current_time;
                    countTime++;
                }
 
                //??????????????????????
                var V = Regex.Match(elements[i], @"\d\d:\d\d:\d\d");
                if (!V.Success) continue;
                if (TimeSpan.Parse(V.Value) > new TimeSpan(2, 0, 0))
                {
                    A.WriteLine(V.Value);
                }
            }   
                //Вывод среднего времени в нужном формате
                TimeSpan intervalAverage = TimeSpan.FromSeconds(intervaltimesum.TotalSeconds / countTime);
                Console.WriteLine("Среднее время = {0:hh\\:mm\\:ss}", intervalAverage);
                
                //Запись в файл времени   
                W.WriteLine("{0:hh\\:mm\\:ss}",intervalAverage);
                W.Close();
 
            }
 
          }
      }
Fil_1990 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не работает вывод результат проверки теста. Utyf Помощь студентам 0 05.05.2013 14:55
C++ при написание слова вывод строчки. olegass Помощь студентам 0 12.02.2013 01:22
3 условия проверки. Оптимизация. artemavd Общие вопросы Delphi 15 22.12.2011 13:40
вывод в файл Dimarik Общие вопросы C/C++ 20 21.03.2011 19:40