Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

чтение файла, с#

319
01 июля 2004 года
xelos
577 / / 27.02.2003
нужно прочитать из текстового файла значения, разделенные запятой.
в VB.NET это выглядит:
Код:
Dim fs As Integer = FreeFile()
        FileOpen(fs, path + "bottles.ang", OpenMode.Input, OpenAccess.Read)
        Dim qte, pr As Integer
        Dim vol As Single

        Dim index As Integer
        index = 0
        While Not EOF(fs)
            Input(fs, qte)
            Input(fs, pr)
            Input(fs, vol)
            lv_BottleSel.Items.Add("")
            lv_BottleSel.Items.Item(index).SubItems.Add(qte.ToString)
            lv_BottleSel.Items.Item(index).SubItems.Add(pr.ToString)
            lv_BottleSel.Items.Item(index).SubItems.Add(vol.ToString)
            index = index + 1
        End While
        FileClose(fs)

как сделать аналогичное в c#?
319
01 июля 2004 года
xelos
577 / / 27.02.2003
Цитата:
Originally posted by elan
TextReader.ReadLine

+Environment.NewLine = ';'


Environment.NewLine - только для чтения...

6.2K
04 июля 2004 года
freeloader
27 / / 12.06.2004
Цитата:
Originally posted by xelos
нужно прочитать из текстового файла значения, разделенные запятой.
в VB.NET это выглядит:
Код:
Dim fs As Integer = FreeFile()
        FileOpen(fs, path + "bottles.ang", OpenMode.Input, OpenAccess.Read)
        Dim qte, pr As Integer
        Dim vol As Single

        Dim index As Integer
        index = 0
        While Not EOF(fs)
            Input(fs, qte)
            Input(fs, pr)
            Input(fs, vol)
            lv_BottleSel.Items.Add("")
            lv_BottleSel.Items.Item(index).SubItems.Add(qte.ToString)
            lv_BottleSel.Items.Item(index).SubItems.Add(pr.ToString)
            lv_BottleSel.Items.Item(index).SubItems.Add(vol.ToString)
            index = index + 1
        End While
        FileClose(fs)

как сделать аналогичное в c#?



Можно по другому сделать но суть будет таже, насколько я понимаю тут уже голимая .NETFW идет, так что во держи!

' StreamReader read = new System.IO.streamreader ("c:\test.txt",System.Text.Encoding.GetEncoding(1251));
' string mes;
' mes =read.readtoend() или read.readln - до конца читать и построчно
' TextBox1.Text = mes;
' read.close();
' MessageBox.Show("File READ")

В твоем случае надо я так понимаю читать построчно, поэтому используй рид лн, остальное уже сделаеш под свой вкус, удачи!

6.2K
04 июля 2004 года
freeloader
27 / / 12.06.2004
Цитата:
Originally posted by xelos
нужно прочитать из текстового файла значения, разделенные запятой.
в VB.NET это выглядит:
Код:
Dim fs As Integer = FreeFile()
        FileOpen(fs, path + "bottles.ang", OpenMode.Input, OpenAccess.Read)
        Dim qte, pr As Integer
        Dim vol As Single

        Dim index As Integer
        index = 0
        While Not EOF(fs)
            Input(fs, qte)
            Input(fs, pr)
            Input(fs, vol)
            lv_BottleSel.Items.Add("")
            lv_BottleSel.Items.Item(index).SubItems.Add(qte.ToString)
            lv_BottleSel.Items.Item(index).SubItems.Add(pr.ToString)
            lv_BottleSel.Items.Item(index).SubItems.Add(vol.ToString)
            index = index + 1
        End While
        FileClose(fs)

как сделать аналогичное в c#?




да и вот еще чуть не забыл, для того что бы получить массив разграниченный запятыми то необходимо пользоваться Split, а точнее
StringVar.Split(",");

6.2K
04 июля 2004 года
freeloader
27 / / 12.06.2004
Цитата:
Originally posted by freeloader



да и вот еще чуть не забыл, для того что бы получить массив разграниченный запятыми то необходимо пользоваться Split, а точнее
StringVar.Split(",");



PSSS:))))
За вопросами по C#, просим на gotdotnet.ru :)

319
04 июля 2004 года
xelos
577 / / 27.02.2003
Цитата:
Originally posted by elan

Мда. Билл Гейтс как раз здесь был ни причем. :D
Более элегантное решение, чем было бы с возможностью изменять переменную Environment.NewLine


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

Код:
st=reader.ReadLine();
                    index=0;
                    if (st.Length>1)
                    {
                        itemp=st.IndexOf(',',index);
                        sttemp=st.Substring(index,itemp-index);
                        sttemp1=sttemp.Replace('.',',');
                        ftemp=System.Convert.ToSingle(sttemp1);
                        item.SubItems.Add(ftemp.ToString());
                   
                        index=itemp+1;
                        itemp=st.IndexOf(',',index);
                        sttemp=st.Substring(index,itemp-index);
                        sttemp1=sttemp.Replace('.',',');
                        ftemp=System.Convert.ToSingle(sttemp1);
                        item.SubItems.Add(ftemp.ToString());
                   
                        index=itemp+1;
                        sttemp=st.Substring(index,st.Length-index);
                        sttemp1=sttemp.Replace('.',',');
                        ftemp=System.Convert.ToSingle(sttemp1);
                        item.SubItems.Add(ftemp.ToString());

                        lv_BottleSel.Items.Add(item);
                       
                    };

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог