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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Из файла в структуру 
:(
    Опции темы
kurzon
Дата 27.10.2007, 18:03 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Массив записей структура которого автор, год издания,  упорядочить по  году издания.
Как занести из RichEdit в структуру и что изменить в структури? 

Код

"Название книги: {0},Год: {1}", Author, Year


Код

using System;
using System.Collections.Generic;
using System.Text;

namespace Sorted
{
     
    struct Book
    {
        
        public Book(string author, int year)
        {
            this._year = year;
            this._author = author;
        }

        private int _year;

        public int Year
        {
            get { return this._year; }
            set { this._year = value; }
        }

        private string _author;

        public string Author
        {
            get { return this._author; }
            set { this._author = value; }
        }

        public override string ToString()
        {
            return String.Format("Название книги: {0},Год: {1}", Author, Year);
        }

       
    }
  
        
        class Teenager
        {
            private static Random random = new Random();
            private static readonly string[] messages = new string[6]
            { 
                "Троесент!", 
                "Ватсон!", 
                "Фаронов!", 
                "Шилд!", 
                "Агуров!", 
                "Глинський!" 
            };

            public static string Complain()
            {
                return messages[random.Next(messages.Length)];
            }
        }
   

    
}



Это сообщение отредактировал(а) kurzon - 28.10.2007, 12:18
PM MAIL   Вверх
Bogdan1024
Дата 27.10.2007, 18:17 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1436
Регистрация: 28.9.2005
Где: Киев

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



Код

            //Допустим, у нас есть структура.
            Book b = new Book();
            b.Author = "Аффтар";
            b.Year = 2007;
            //Записываем.
            System.IO.StreamWriter sw = new System.IO.StreamWriter("файл.txt");
            sw.WriteLine(b);
            sw.Close();//Обязательно закрываем поток.


Добавлено через 59 секунд
А, перепутал, думал из структуры в файл. Один сек.

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

            //Допустим, у нас есть структура.
            Book b = new Book();
            b.Author = "Аффтар";
            b.Year = 2007;
            //Записываем.            
            const string FileName = "файл.txt";
            System.IO.StreamWriter sw = new System.IO.StreamWriter(FileName);
            sw.WriteLine(b.Author);
            sw.WriteLine(b.Year);
            sw.Close();//Обязательно закрываем поток.

            //Теперь пример того как можно загрузить.
            Book b2 = new Book();
            System.IO.StreamReader sr = new System.IO.StreamReader(FileName);
            b2.Author = sr.ReadLine();
            b2.Year = System.Convert.ToInt32(sr.ReadLine());
            sr.Close();//Обязательно закрываем поток.
            
            System.Console.WriteLine(b2);//Видим то шо надо.
            System.Console.ReadKey();



--------------------
user posted image
PM MAIL   Вверх
kurzon
Дата 27.10.2007, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Там надо занести из RichEdit в структуру в визуальном режиме ?


Это сообщение отредактировал(а) kurzon - 28.10.2007, 11:58

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  Sorted.rar 43,88 Kb
PM MAIL   Вверх
kurzon
Дата 27.10.2007, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Там надо занести из RichEdit в структуру в визуальном режиме ?
У меня реализовано генерация, а самого чтенее из RichEdit и занесение в структуры нету.

http://forumid.ho.com.ua/Sorted.rar 

PM MAIL   Вверх
Xenon
Дата 27.10.2007, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Господи, а не проще ли сериализацию сделать?


--------------------
user posted image  
PM MAIL   Вверх
kurzon
Дата 27.10.2007, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



С меня 10+
PM MAIL   Вверх
kurzon
Дата 28.10.2007, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Надо после первого пробела занести в структуру " Автора ", а после 3-тього пробела в "  год  "?

Добавлено через 12 минут и 23 секунды
Это основная чать программы :
Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace Sorted
{
    public partial class Form1 : Form
    {
        Book[] books = new Book[10];
        Random random = new Random();
        public Form1()
        {
            InitializeComponent();
        }
        void PrintBookTitles(Book[] books)
        {
            rRead.Clear();
            foreach (Book book in books)
            {
                rRead.Text += book + "\r\n";
            }
        }
        void PrintBookTitlesSort(Book[] books)
        {
            rSort.Clear();
            foreach (Book book in books)
            {
                rSort.Text += book + "\r\n";
            }
        }

      


        private void b_Sort_Click_1(object sender, EventArgs e)
        {
            if (radioButton1.Checked)
            {
                Array.Sort(books, delegate(Book a, Book b)
                               {
                                   return a.Year.CompareTo(b.Year);
                               });
            }
            else if (radioButton2.Checked)
            {
                BubbleSort.Sort(books, delegate(Book a, Book b)
                               {
                                   return a.Year.CompareTo(b.Year);
                               });
            }
            else if (radioButton3.Checked)
            {
                VstavSort.Sort(books, delegate(Book a, Book b)
                               {
                                   return a.Year.CompareTo(b.Year);
                               });
            }


            PrintBookTitlesSort(books);
        }

        private void b_Random_Click_1(object sender, EventArgs e)
        {
            for (int i = 0; i < books.Length; i++)
            {
                books[i] = new Book(Teenager.Complain(), random.Next(2007));
            }
            PrintBookTitles(books);
        }

        private void gExit_Click_1(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            rRead.Clear();
            rSort.Clear();
        }

        private void b_Save_Click_1(object sender, EventArgs e)
        {
            if (rSort.Text.Length==0) MessageBox.Show(" Не збереженно");
            else
            {
                SaveFileDialog svd = new SaveFileDialog();
                svd.Filter = "Any files *.*|*.*|Zodiakfiles *.zod|*.zod";
                if (svd.ShowDialog() == DialogResult.OK)
                {
                    StreamWriter streamwriter =
                        new StreamWriter(svd.FileName, false, Encoding.Default);
                    streamwriter.Write(this.rRead.Text);
                    streamwriter.Close();
                }
            }
        }

      
        

     }
}



Это сообщение отредактировал(а) kurzon - 28.10.2007, 11:55
PM MAIL   Вверх
Bogdan1024
Дата 28.10.2007, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1436
Регистрация: 28.9.2005
Где: Киев

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



Зачем возиться с ричэдитом? Используй DataGrid и не имей проблем.


--------------------
user posted image
PM MAIL   Вверх
kurzon
Дата 28.10.2007, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Bogdan1024 @ 28.10.2007,  12:55)
Зачем возиться с ричэдитом? Используй DataGrid и не имей проблем.

Тогда помоги с DataGridViev ?
Пожалуста?
С меня 11+

Добавлено @ 13:12
Вот работоспособная программа, в ней реализовано ввод данных с генератора, а не з RichEdit(a).
Либо заменить RichEdit на DataGridViev, либо работать с RichEdit(ом)..
Вот работоспособная программа, но не доделаная http://forumid.ho.com.ua/Sorted.rar 

Это сообщение отредактировал(а) kurzon - 28.10.2007, 13:33
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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