Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > C/C++/С#


Ответ
 
Опции темы Опции просмотра
Старый 08.06.2011, 23:30   #1 (permalink)
SaRaf
Новичок
 
Регистрация: 08.06.2011
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Exclamation Считывание текстового файла команда: Windows Type

Здравствуйте! Помогите пожалуйста отредактировать код, иначе голова сейчас взорвется! Сложности вызывают: 1)Не могу сообразить как сделать так чтобы при вызове справки "help" он дальше предложил указать путь к считываемому документу. 2)Надо сделать так чтобы при вводе [диск:][путь]\*.txt считывал все txt документы.
Вот код:
Код:
using System;
using System.Text;
using System.IO;
 
namespace XXX
{
    class Type
    {
        const string h = "\n Type[диск:][путь]имя_файла";
       
        static void Main(string[] args)
        {
            
            string s = "", pat = "", path = "", line;
            int slash = 0;
 
            
                Console.Write("\n Укажите путь к документу");
                Console.WriteLine("\n для вывода справки введите ?  -? help");
                Console.Write(" Путь к документу: ");
                s = Console.ReadLine();
                
                if (s=="?"||s== "-?"||s=="help") 
            {
                    Console.WriteLine(h);
                   
            }
 
 
 
            char[] p = s.ToCharArray();
 
            for (int i = p.Length - 1; i > 0; i--)
            {
                if (p[i] == '*')
                {
                    for (int j = i; j > 0; j--)
                        if (p[j] == '\\')
                        {
                            slash = j;
                            break;
                        }
                    for (int j = slash + 1; j < p.Length; j++)
                        pat += p[j];
                    for (int j = 0; j < slash + 1; j++)
                        path += p[j];
                    break;
                }
            }
            try
            {
                string[] dirs = Directory.GetFiles(path, pat);
                foreach (string dir in dirs)
                {
                    line = R(dir);
 
                }
 
                if (pat == "")
                {
                    line = R(s);
                }
            }
            catch (Exception d)
            {   
                Console.WriteLine("Файл не может быть прочитан:");
                Console.WriteLine(d.Message);}
                Console.ReadLine();
        }
 
        private static string R(string s)
        {
            string line = "";
 
            StreamReader chet = new StreamReader(s, Encoding.GetEncoding("windows-1251"));
 
            line = chet.ReadLine();
 
            while (line != null)
            {
                Console.WriteLine("\n");
                Console.WriteLine(line);
                line = chet.ReadLine();
            }
 
            chet.Close();
            return line;
        }
    
    }
}
SaRaf вне форума   Ответить с цитированием

Старый 08.06.2011, 23:30
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Обсуждения которые создавались ранее помогут вам решить проблему

Не удается запустить Windows из-за испорченного или отсутствующего файла
С++ считывание данных с сайта
Редактирование текстового файла в Pascal
Не удается запустить Windows из-за испорченного или отсутствующего файла
Windows: указано слишком длинное имя файла

Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 12:23.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.