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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2016, 09:50   #1
Timchik46
 
Регистрация: 14.09.2016
Сообщений: 8
По умолчанию нужно чтобы папка создавалась в директории, а если такая уже есть, то задать название

Код:
using System;
using System.IO;
namespace create_filles_in_dirrectory
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            string a;

            Console.WriteLine("Введите название директории");
            a = Console.ReadLine();
            DirectoryInfo dir = new DirectoryInfo(@"c:\Users\Артем\Desktop\" + a);
            while (dir.Exists == false)
            {
                dir.Create();
                Console.WriteLine("папка создана");
            }
            Console.WriteLine("такая папка уже существует,введите другое название");
            a = Console.ReadLine();
        }
    }
}
------------------------------------------------------------------------------------
Мне нужно чтобы папка создавалась в директории,а если такая уже есть в данной директории, то откатывалась назад к заданию названию создаваемой директории!!!!

Последний раз редактировалось Alex11223; 14.09.2016 в 09:54.
Timchik46 вне форума Ответить с цитированием
Старый 14.09.2016, 10:03   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Можно просто сделать ввод в цикле пока существует.
Например так:
Код:
do
{
    имя = ввод();
} while (путь+имя существует)
Или так с выводом сообщения
Код:
while (true)
{
    имя = ввод();
    if (путь+имя существует)
        Console.WriteLine("такая папка уже существует,введите другое название");
    else
        break;
}

Условия типа
Цитата:
Сообщение от Timchik46 Посмотреть сообщение
Код:
while (dir.Exists == false)
можно писать проще:
Код:
while (!dir.Exists)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.09.2016, 10:08   #3
Timchik46
 
Регистрация: 14.09.2016
Сообщений: 8
По умолчанию

Код:
using System;
using System.IO;
namespace create_filles_in_dirrectory
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            string a;

            Console.WriteLine("Введите название директории");
            a = Console.ReadLine();
            DirectoryInfo dir = new DirectoryInfo(@"c:\Users\Артем\Desktop\" + a);
           while (true)
                {
                Console.WriteLine("Введите название директории"); ;
                if (!dir.Exists)
                 Console.WriteLine("такая папка уже существует,введите другое название");
                     else
                     break;
                }
        }
    }
}
--------------------------------------------------------
Так если вводишь то же самое название,то программа зацикливается!Что то не так(

______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.

Последний раз редактировалось Alex11223; 14.09.2016 в 10:10.
Timchik46 вне форума Ответить с цитированием
Старый 14.09.2016, 10:10   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так и сделано не так, как я предлагал.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.09.2016, 10:17   #5
Timchik46
 
Регистрация: 14.09.2016
Сообщений: 8
По умолчанию

не мог бы изменить в коде и скинуть готовый пожалуйста!Я что то просто не могу въехать как это!
Timchik46 вне форума Ответить с цитированием
Старый 14.09.2016, 10:21   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Не, так неинтересно. Выше ж простой пример идеи.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.09.2016, 11:28   #7
Timchik46
 
Регистрация: 14.09.2016
Сообщений: 8
По умолчанию

#(и как ты делаешь чтобы код выделяла?)
Код:
using System;
using System.IO;
namespace create_filles_in_dirrectory
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            string a;
            
            Console.WriteLine("Введите название директории");
            a=Console.ReadLine();
              DirectoryInfo dir = new DirectoryInfo(@"c:\Users\Артем\Desktop\" + a);
                     while (dir.Exists == false)
            {
                 dir.Create();
           if (dir.Exists == true)
                 Console.WriteLine("такая папка уже существует,введите другое название");
                 a = Console.ReadLine();
            else
                    break;
           
            }
           Console.ReadKey();
        }
    }
}
---------------------------------------------------------------------------------

Напиши что не так,я уже голову сломал?

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор


Последний раз редактировалось Alex11223; 14.09.2016 в 11:32.
Timchik46 вне форума Ответить с цитированием
Старый 14.09.2016, 11:31   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

нужно dir пересоздавать тоже, он же вне цикла, во и проверяете вечно одну и ту же папку.
ну и перепроверьте ваши условия

для выделения кода есть тэг CODE, и кнопка .
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 14.09.2016, 11:32   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так это ж не похоже на то, что было в моем примере. Разницу не видно разве?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.09.2016, 11:37   #10
Timchik46
 
Регистрация: 14.09.2016
Сообщений: 8
По умолчанию

исправь пожалуйста и скинь!Я уже часа 4 сижу не могу срастить этот код((((
Timchik46 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
есть ли такая программа зайти в комп если забыл пароль? nikytt Операционные системы общие вопросы 4 12.09.2015 07:45
как удалить строку из combobox, если такая уже есть и добавить в начало новую? codermoder Общие вопросы Delphi 6 14.01.2011 17:33
если запись в реестре уже есть bymyny Общие вопросы Delphi 1 28.10.2010 19:20
Есть ли такая команда, чтобы удалить определённую букву в слове? Stager Общие вопросы C/C++ 8 09.01.2009 00:08
Есть менюшка. Нужно сделать чтобы курсор был самой строкой. Небесный Паскаль, Turbo Pascal, PascalABC.NET 5 03.10.2007 19:46