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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2010, 16:35   #1
Linore
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 95
По умолчанию Как сохранить и распечатать текст из listbox

Подскажите пожалуйста, как мне в С# сохранить текст из Listbox в текстовый файл и сразу распечать его.

Последний раз редактировалось Linore; 16.02.2010 в 16:41.
Linore вне форума Ответить с цитированием
Старый 16.02.2010, 16:57   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Сохранение:
http://dotnetperls.com/streamwriter
Печать:
http://www.c-sharpcorner.com/UploadF...printfile.aspx
http://msdn.microsoft.com/en-us/libr...30(VS.71).aspx
Hollander вне форума Ответить с цитированием
Старый 16.02.2010, 17:08   #3
Linore
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 95
По умолчанию

Что-то я ничего не понимаю
Linore вне форума Ответить с цитированием
Старый 16.02.2010, 17:26   #4
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Я рад )
Код не буду писать, подумай, разберись сама.
1 задача: чтобы сохранить в текстовый файл, то что у тебя записано в ListBox надо:
1. Создать объект StreamWriter.
2. Пройти (можно при помощи foreach) по элементам ListBox(myLisBox.Items) и записать их в объект StreamWriter(myStreamWriter.WriteLi ne(element))

Пиши что получилось
Hollander вне форума Ответить с цитированием
Старый 16.02.2010, 17:48   #5
Daim
 
Регистрация: 16.02.2010
Сообщений: 9
По умолчанию

Пример кривого, но простого варианта. Можно более правильно печатать рисуя строки как написал выше товарищ Hollander

Цитата:
string path = Application.StartupPath + "/file.txt";

StreamWriter sw = new StreamWriter(path);
for (int i = 0; i < listBox1.Items.Count; i++)
{
sw.WriteLine(listBox1.Items[i].ToString());
}
sw.Close();
var printer = new Process();
printer.StartInfo.FileName = path;
printer.StartInfo.UseShellExecute = true;
printer.StartInfo.Verb = "print";
printer.StartInfo.WindowStyle = ProcessWindowStyle.Minimized;
printer.Start();

Последний раз редактировалось Daim; 16.02.2010 в 17:58.
Daim вне форума Ответить с цитированием
Старый 17.02.2010, 10:38   #6
Linore
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 95
По умолчанию

спасибо
Я пыталась сделать это с помощью saveFiledialog
вот у меня такой код

// SaveFileDialog DialogSave = new SaveFileDialog();


// DialogSave.DefaultExt = "txt";


// DialogSave.Filter = "Text file (*.txt)|*.txt|XML file (*.xml)|*.xml|All files (*.*)|*.*";


// DialogSave.AddExtension = true;


// DialogSave.RestoreDirectory = true;


// DialogSave.Title = "Where do you want to save the file?";


// DialogSave.InitialDirectory = @"C:/";


// if (DialogSave.ShowDialog() == DialogResult.OK)
// {
// MessageBox.Show("You selected the file: " + DialogSave.FileName);
// }
// else
// {
// MessageBox.Show("You hit cancel or closed the dialog.");
// }

// DialogSave.Dispose();
// DialogSave = null;

Только у меня не работает не содает в дирректории файл и куда в этот код вставить лист бокс я тоже не понимаю
Linore вне форума Ответить с цитированием
Старый 17.02.2010, 11:11   #7
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Этим кодом вы только выбираете файл для сохранения. Самой записи нету. Вам надо вставить код, который написал Diam вот сюда:
Код:
if (DialogSave.ShowDialog() == DialogResult.OK)
{
string path = DialogSave.FileName;

StreamWriter sw = new StreamWriter(path);
for (int i = 0; i < listBox1.Items.Count; i++)
{
sw.WriteLine(listBox1.Items[i].ToString());
}
sw.Close();
var printer = new Process();
printer.StartInfo.FileName = path;
printer.StartInfo.UseShellExecute = true;
printer.StartInfo.Verb = "print";
printer.StartInfo.WindowStyle = ProcessWindowStyle.Minimized;
printer.Start();
}
P.S. пользуйтесь тегом CODE(выделяете кусок кода и нажимаете кнопочку с решеткой #), когда вылаживаете код.
Hollander вне форума Ответить с цитированием
Старый 17.02.2010, 15:20   #8
Linore
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 95
По умолчанию

Большое спасибо.
А как связать имя сохраняемого документа с временем показываемым на часах в Windows, тесть вместо frm1.path = Application.StartupPath +"/file.txt"; чтобы было "/11.01.2010 (11:00).txt" и каждый раз чтобы не затиралось а сохранялось?
там наверное есть какая-то функция которая связывает с Windows
Linore вне форума Ответить с цитированием
Старый 17.02.2010, 15:37   #9
Daim
 
Регистрация: 16.02.2010
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Linore Посмотреть сообщение
Большое спасибо.
А как связать имя сохраняемого документа с временем показываемым на часах в Windows, тесть вместо frm1.path = Application.StartupPath +"/file.txt"; чтобы было "/11.01.2010 (11:00).txt" и каждый раз чтобы не затиралось а сохранялось?
там наверное есть какая-то функция которая связывает с Windows
Уберите SaveDialog и создавайте файл вручную и пишите в него, пример на скорую руку:
Код:
                     string path = Application.StartupPath + "/" + DateTime.Now.Date.Day.ToString() + "." +
                    DateTime.Now.Month.ToString() + "." + DateTime.Now.Year.ToString() + " (" + DateTime.Now.TimeOfDay.Hours.ToString() +
                    ":" + DateTime.Now.TimeOfDay.Minutes.ToString() + ").txt";
                if (!File.Exists(path))
                {
                    var f = File.Create(path);
                    f.Close();
                }
Этот код создаст файл с текущей датой и временем в формате который Вы написали выше в папке запущенной программы
Код:
                FileStream file = File.OpenWrite(path);
                file.Seek(0, SeekOrigin.End);
                StreamWriter sw = new StreamWriter(file);
Этот код позволит дописывать в конец файла
Цитата:
P.S. пользуйтесь тегом CODE(выделяете кусок кода и нажимаете кнопочку с решеткой #), когда вылаживаете код.
Спасибо за совет, простите всего второй день на форуме

Последний раз редактировалось Daim; 17.02.2010 в 15:45.
Daim вне форума Ответить с цитированием
Старый 17.02.2010, 16:54   #10
Linore
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 95
По умолчанию

Пасибо написала код как у тебя написано,только ошибка вылетает
Данный формат пути не поддерживается.
Linore вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сохранить текст? blackstersl Общие вопросы Delphi 6 17.06.2009 21:06
сохранить ланные в файл и распечатать одновременно. CaHeK Общие вопросы Delphi 5 07.04.2008 21:41
Как сохранить текст из мемо в блакнот? BETONOMESHALKA Общие вопросы Delphi 2 22.12.2007 02:16
Как сохранить текст в DOS кодировке? oleg kutkov Общие вопросы Delphi 9 06.08.2007 09:32