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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Форматирование текста в сохраняемом txt файле 
V
    Опции темы
okaton
Дата 5.10.2007, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Доброго времени суток.

Мне необходимо мои обработанные данные записать в текстовый файл.
Проблема возникла вот в чем. Данные должны распологаться в текстовом файле особым образом, т.е. на лицо должно присутствовать форматирование текста. К примеру я записываю в файл массив, элементы которого должны выглядеть в виде столбиков
Код

StreamWriter zapisTXT = new StreamWriter("1.txt"); 
for (
{
...
zapisTXT.Write(mass1[m, e] + "  ");
...
}


В принципе в виде столбиков они и выглядят, но промежутки между элементами надо увеличить, можно конечно + "  " сюда насовать пробелов или табуляцию поставить, но это не совсем верно (для меня).

Я переписываю программу с Паскаля, там это выглядело таким образом
Код

(P,mass1[m,e]:5:1,"  ") //где P это text


Кстати кно-либо знает что такое здесь :5:1 ?


И еще вопрос
Код

for ...
zapisTXT.Write(".");
...

Здень необходимо чтобы точки последовательно записывались в строку, а у меня переносятся на следующую, в чем проблема?



Это сообщение отредактировал(а) okaton - 5.10.2007, 11:18
PM MAIL   Вверх
FREEDEV
Дата 5.10.2007, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(okaton @  5.10.2007,  11:14 Найти цитируемый пост)
zapisTXT.Write(mass1[m, e] + "  ");


Если тебе нужно чтоб отступ не зависел от количества цифр в ячейке - используй string.Format

Цитата(okaton @  5.10.2007,  11:14 Найти цитируемый пост)
(P,mass1[m,e]:5:1,"  ") //где P это text


тут скорей всего так и сделано: в ячейке 5 символов, которые заполняются значением из массива, свободное место добивается пробелами.

Цитата(okaton @  5.10.2007,  11:14 Найти цитируемый пост)
Здень необходимо чтобы точки последовательно записывались в строку, а у меня переносятся на следующую, в чем проблема?


все работает, значит где-то переносиш на новую строку

Код

            StreamWriter zapisTXT = new StreamWriter("1.txt"); 
            for (int i=0;i<100;i++)
            {
                zapisTXT.Write(".");
            }
            zapisTXT.Close();


--------------------
Microsoft Windows Visla ©
PM MAIL   Вверх
okaton
Дата 5.10.2007, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



FREEDEV, спасибо


Цитата

Если тебе нужно чтоб отступ не зависел от количества цифр в ячейке - используй string.Format

а где мне его использовать?


Цитата

все работает, значит где-то переносиш на новую строку

НАШЕЛ!!! smile , в конце цикла zapisTXT.WriteLine(""); , а разве перенос строки не "\n" или не только?
PM MAIL   Вверх
okaton
Дата 5.10.2007, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Если так, то изменений нет
Код

zapisTXT.Write(string.Format(mass1[m,e] + " "), 5));

Хотя, судя по всему должны быть
PM MAIL   Вверх
FREEDEV
Дата 5.10.2007, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Код

           StreamWriter zapisTXT = new StreamWriter("1.txt"); 
            for (int i=0;i<1001;i++)
            {
                zapisTXT.Write(string.Format("{0,-5}", i));
            }
            zapisTXT.Close();


выравнивание относительно левой стороны

Добавлено через 1 минуту и 34 секунды
Код

zapisTXT.Write(string.Format("{0,5}", i));


так правой

Это сообщение отредактировал(а) FREEDEV - 5.10.2007, 12:49
--------------------
Microsoft Windows Visla ©
PM MAIL   Вверх
okaton
Дата 5.10.2007, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



FREEDEV, Спасибо работает!

У меня по ходу возник еще один вопрос. У меня присутствуют отрицательные значения, а выравнивание сейчас идет по первому символу, т.е. число с минусом сдвигается. Можно ли каким-то образом сделать так что бы минус игнорировался, а выравнивание происходило по числам? Условие на отрицание поставить не получиться:(


И еще вот вопрос почему у меня целые числа (тип float) обрабатываются как 100.0 а в файл сохраняются 100 без 0, а он мне нужен?

Это сообщение отредактировал(а) okaton - 5.10.2007, 13:59
PM MAIL   Вверх
mr.DUDA
Дата 5.10.2007, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Модератор: Пожалуйста, один топик - один вопрос.


--------------------
user posted image
PM MAIL WWW   Вверх
okaton
Дата 5.10.2007, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



mr.DUDA, тему закрывать?
PM MAIL   Вверх
mr.DUDA
Дата 5.10.2007, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Не обязательно. Просто открыть новую с новым вопросом smile


--------------------
user posted image
PM MAIL WWW   Вверх
okaton
Дата 5.10.2007, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



OK
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

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


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

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


 




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


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

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