| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > c# посимвольное чтение из файла. И немного еще... |
| Автор: WantToProg 22.11.2009, 21:38 |
| Доброе время суток. Я уверен, что многие рано или поздно встречаются с такой задачей. вот и я прошу помочь натолкнув на мысль. К сожалению не понял как это сделать из примеров в сети. В распоряжении C# есть ReadLine, а как с ее помощь. это сделать, я не знаю Имеется файл с содержимым в несколько строк. Это одна из строк 100001;000001;Name;FullName;65,00;0;1;0,1,1,0,0,0, 0,1;;;;;; Разделителем является точка с запятой ";". Мне необходимо считать строку в массив для последующей обработки. Первые символы до ";" порядковый код, вторые после ";" управляющие. Т.о. Программа из вне будет обращаться с кодом управления(000001 в данной строке, в каждой строке он разный), и должна будет получить Name и FullName, остальные цифры не нужны. Заранее очистить файл от мусора не предоставляется возможности, да и думаю это не существенно. В идеале было бы лучшим добавление этих данный в DataGridView, но с ней пока не разобрался. PS: среда Visual Studio pro edition, С# |
| Автор: tol05 22.11.2009, 22:15 | ||
первый этап:
второй этап: Создаете тип данных Data, содержащий свойства ControlCode, Name, FullName и т.п. Накапливаете данные и создаете любую коллекцию объектов Data Биндите коллекцию к DataGridView |
| Автор: Heinzz 22.11.2009, 22:19 |
| те надо считывать первые четыре значения каждой строки? Используйте Regex |
| Автор: WantToProg 22.11.2009, 22:50 |
| tol05, Благодарю, хороший намек. сейчас буду пробовать. Не понял только фразу Биндите колекцию, это как я понимаю через binding source? Heinzz, Да, вы совершенно правы. И размещать их в таблицу, чтоб по приходящему запросу на управляющий код (вторые после ";" символы) выдавалось значение Name и FullName |
| Автор: tol05 22.11.2009, 23:33 |
| это метод String.Split (ни о каком потоке нигде было не сказано ни слова. я оперировал только той информацией, которую мне показал браузер) в случае потока - ищите метод ReadLine, ReadToEnd и т.д. и т.п. В конце концов - из массива байт получите строку через класс Encoding |
| Автор: tol05 23.11.2009, 00:15 |
| Понимаете, WantToProg, для каждой конкретной .Net-based технологии биндинг данных к контролу делается по-разному. Вы создаете тему в общем (будем выражаться безпредметном) разделе. Не указываете какой вид приложения Вы разрабатываете. Winforms, ASP.NET, WPF Если Вы упоминаете DataGridView - значит это все-таки Winforms ? (я просмотрел это вначале.... не догадался т.е. )) ) Кроме того, вопрос действительно задан в таком общем виде, что конкретно на него ответить трудно... А теперь конкретно ) Да, BindingSource. Ппосле создания коллекции объектов (например List<NeededData>) используйте ее как источник данных. Пример показан в msdn (см. DataGridView.DataSource property) |
| Автор: WantToProg 23.11.2009, 01:11 | ||
Я сделал следующее. Предоставлю немного кода сюда.
Делаю действительно в windows forms. На рабочей панели разместил объект DataGridView, думал легко разберусь как туда добавлять данные, оказалось, что не легко :( Я немного выхожу за пределы моей темы, но раз уж не отказали в ответе, буду признателен если поможете дальше. Так вот, мне надо куда нибудь сохранить полученные программой данные из файла, чтоб к ним можно было делать запросы по TabN. А вот куда сохранить и как это сделать, я пытаюсь разобраться сейчас, пока что ни туда ни сюда. Сейчас читаю информацию из msdn, но по примеру сделать не получается (http://msdn.microsoft.com/ru-ru/library/system.data.datatable.aspx) |
| Автор: Zakonnic 23.11.2009, 09:54 |
| http://msdn.microsoft.com/ru-ru/library/ms171600(loband).aspx |
| Автор: tol05 23.11.2009, 11:59 | ||
пример http://dotnetperls.com/datagridview-tips (см пункт 3. Using objects) |