Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Строки, имя файла, было: "помогите решить проблему" 
:(
    Опции темы
tht
  Дата 9.5.2007, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 10.5.2006

Репутация: нет
Всего: 1



Код

            string[] files;
            files = Directory.GetFiles(patch);
            foreach(string file in files) {
                char[] b = new char[1];
                char[] f = new char[50];
                int len, index = 0;
                len = file.Length;
                len--;
                do{
                    file.CopyTo(len,b,0,1);
                    if(b[0] != '\\') {
                        len--; index++;
                    }
                }while(b[0] != '\\');
                len++;
                file.CopyTo(len,f,0,index);
                textListName.Text += f;
                textListName.Text += "\n";
            }

 не совсем ошибка. дело в том что в этот конрол из переменной f передаются не те данные какие в переменной хранятся. сама переменная f получает то что нужно, т.е. имя файла. а вот передает она такую хрень в текстовом виде - System.Char[]
т.е. в переменную textListName.Text передается строка "System.Char[]" вместо настоящего имени файла. как это решить ?
PM MAIL   Вверх
stab
Дата 9.5.2007, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 22
Всего: 48



textListName.Text += new string(f);

Добавлено через 1 минуту и 53 секунды
кстати, а что за сложности этот код делает?


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
tht
Дата 9.5.2007, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 10.5.2006

Репутация: нет
Всего: 1



взламывает бил гейтса ! хихи.
ну короче, так, там в переменную file идет не чисто название файла а весь путь к нему и файл потом. а этот сложный код ) вырезает только имя файла из всей строки.
PM MAIL   Вверх
Дрон
Дата 9.5.2007, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 24
Всего: 93



Модератор: Название темы должно отражать ее суть!

Хмм... Такая работа со строками больше напоминает Си, а не C#.
tht, а не проще воспользоваться стандартным методом Path.GetFileName()?


--------------------
Да. Именно так.
PM   Вверх
tht
Дата 9.5.2007, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 10.5.2006

Репутация: нет
Всего: 1



ну вот в Си я знаю как это сделать, а на С# перешел не давно поэтому я в нем вобще ничо не понимаю.

Добавлено через 5 минут и 51 секунду
к тому же нада ведь все файлы которые есть в директории перечислить. а попробовал этот метод, он даже не имя файла выдает а имя директории , точнее последнюю папку проверяемого пути.
т.е.
D:\Direct1\Direct2\ проверяемый, вот а метод показывает Direct2
т.е. даже не файл а каталог.
PM MAIL   Вверх
ivashkanet
Дата 10.5.2007, 08:50 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(tht @  9.5.2007,  20:27 Найти цитируемый пост)
к тому же нада ведь все файлы которые есть в директории перечислить

Есть два варианта:
Полностью ООП (объектно ориентированный):
Код

            // Создаем объект представляющий нужную нам директорию
            DirectoryInfo directoryToSearch = new DirectoryInfo(@"D:\Direct1\Direct2\");

            //  Получаем массив объектов представляющих файлы в нужной нам директории
            FileInfo[] filesToSearch = directoryToSearch.GetFiles();

            foreach (FileInfo fileToSearch in filesToSearch)
            {
                // Что-нить делаем с каждым файлом
            }


Не ООП подход:
Код

            string[] filesToSearchPath = Directory.GetFiles(@"D:\Direct1\Direct2\");

            foreach (string fileToSearchPath in filesToSearchPath)
            {
                // Что-нить делаем с каждым файлом используя его имя
            }


P.S. Чем хорош C# так тем, что ОЧЕНЬ многое написано за тебы, так что это нужно только найти  smile 
PM MAIL WWW ICQ   Вверх
mr.DUDA
Дата 10.5.2007, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Согласен с ivashkanet.

З.Ы. до сих пор подсветка глючит на @"что-нибудь\"


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0488 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.