Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];

Вниз

Как считать данные из файла и выдать их в окно?   Найти похожие ветки 

 
CyberWoman   (2006-07-27 22:31) [0]

Привет, всем!
Программа на Delphi.
Задача: Надо считать данные из существующего файла (к примеру, текстового) и отобразить их в окне.
Например:
(a)cодержание текст.файла (см. так, как написано):
P.S. [строка с пробелами] - это пустая строка и она присутствует в тексте.

[строка с пробелами]
Курс "Привет, тебе!"
[строка с пробелами]
1. Агафонов Иван   ГР-1123
2. Сидоренко Мария   ГР-1123
3. Носков Роман       ГР-1123
4. Ручкина Яна     ГР-1123
[строка с пробелами]
5. Наумов Леонид   ГР-7895
6. Красавина Вера   ГР-7895
[строка с пробелами]
7. Пасквалина Ляля   ГР-9401
[строка с пробелами]

(б) вид окна д.б. таким:
________________________________________
|_______ФИО_______|_________Номер гр_____|
Агафонов Иван     ГР-1123        
Сидоренко Мария   ГР-1123  и т.д.

Проблема состоит в том, как считать все данные из файла, минуя все пустые строки и пробелы, и отобразить их в окне. И,еще какой компонент надо использовать для отображения данных, к примеру, для ini подходит TValueListEditor, а в моем случае какое подойдет? Пробовала использовать TlistView, но не поняла, как вставить данные из файла...

Пожалуйста, помогите мне решить эту задачу. Было бы время, я бы постаралась разобраться, но это нужно срочно...
Заранее благодарю.


 
KilkennyCat ©   (2006-07-27 22:51) [1]

Элементарно.
Грузим это файл в TStringList.
В цикле от нуля до StringList.count - 1 разбираем строки.
Берем каждую строку, если ее размер равен нулю или первый символ - пробел, то пропускаем нафиг.
Делаем тримминг строки.
Далее копируем из строки с первого символа до точки номер, отображаем в чем выбрали, например в TStringGrid (таблица все-таки), позицию запоминаем.
Проверяем следующий символ, если равен пробелу - позицию увеличиваем на единицу. Копируем с позиции до позиции "ГР" ( с расчетом длины, разумеется), помещаем полученную фио в нашу таблицу, позицию запоминаем.
С позиции до конца строки копируем и помещаем номер группы в нашу таблицу.

Если алгоритм непонятен, могу и еще более просто объяснить.


 
KilkennyCat ©   (2006-07-27 22:53) [2]

виноват, надежнее будет тримминг и проверку на пустую строку поменять местами (а то вдруг перед нормальной строкой ошибочный пробел...)


 
KilkennyCat ©   (2006-07-27 22:55) [3]

И добавлю, с некоторых пор стандартное: код высылается после получения фотографии ;)


 
CyberWoman   (2006-07-27 23:05) [4]


> Элементарно.
> Грузим это файл в TStringList.
> В цикле от нуля до StringList.count - 1 разбираем строки.
>
> Берем каждую строку, если ее размер равен нулю или первый
> символ - пробел, то пропускаем нафиг.
> Делаем тримминг строки.
> Далее копируем из строки с первого символа до точки номер,
>  отображаем в чем выбрали, например в TStringGrid (таблица
> все-таки), позицию запоминаем.
> Проверяем следующий символ, если равен пробелу - позицию
> увеличиваем на единицу. Копируем с позиции до позиции "ГР"
> ( с расчетом длины, разумеется), помещаем полученную фио
> в нашу таблицу, позицию запоминаем.
> С позиции до конца строки копируем и помещаем номер группы
> в нашу таблицу.
>
> Если алгоритм непонятен, могу и еще более просто объяснить.
>


Спасибо за отклик :)
Хотя, не очень-то поняла...Примером можете показать? Буду очнь признательна.


 
KilkennyCat ©   (2006-07-27 23:09) [5]

Могу и примером. Признательность - лишнее, смотрите ответ номер 3


 
CyberWoman   (2006-07-27 23:22) [6]


> Могу и примером. Признательность - лишнее, смотрите ответ
> номер 3

"код высылается после получения фотографии" - ОГО?! Оригинальный метод - познакомиться.
Поясните, что такое "тримминг строки"?


 
Пусик ©   (2006-07-27 23:28) [7]

Kisa, Tigris, кибервумен (как точнее?), по-моему с трех разных форумов уже давно пора собрать работоспособный пример...


 
KilkennyCat ©   (2006-07-27 23:28) [8]

А с чего Вы взяли, что я хочу познакомится?
Самомнение, однако, у Вас...
Мне просто любопытно посмотреть на человека, который умудряется один и тот же, скажем так, не очень сложный вопрос опубликовать на трех форумах, на одном даже получить код, и все равно вырезано модератором


 
KilkennyCat ©   (2006-07-27 23:30) [9]

(Тс-с-с... Пусик ревнует!) ;)

Пусик, я просто из любопытства! Мои чувства к тебе - вечны, нетленны, неизменны, непреклонны, необхватны, неизъятны, неудалятны, неформататны и т.д. и т.п.


 
CyberWoman   (2006-07-27 23:39) [10]


> А с чего Вы взяли, что я хочу познакомится?
> Самомнение, однако, у Вас...
> Мне просто любопытно посмотреть на человека, который умудряется
> один и тот же, скажем так, не очень сложный вопрос опубликовать
> на трех форумах, на одном даже получить код, и все равно

И, что тут такого ужасного? Все начинают с глупых вопросов...


 
KilkennyCat ©   (2006-07-27 23:46) [11]

Вопросов глупых не так много, как Вам кажется.
А вот глупо спрашивать - это да, это многие могут.
Но в любом варианте, Вам уже ответили. Этого достаточно. Если Вы на основании полученных данных не можете решить проблему, значит - не Ваш уровень, вы перескочили, начните с нуля.


 
KilkennyCat ©   (2006-07-27 23:48) [12]

И еще:
> Все начинают с глупых вопросов...

не все. К счастью.


 
CyberWoman   (2006-07-28 00:37) [13]

Удалено модератором


 
Германн ©   (2006-07-28 00:42) [14]

Удалено модератором


 
KilkennyCat ©   (2006-07-28 00:43) [15]

Удалено модератором


 
KilkennyCat ©   (2006-07-28 00:44) [16]

Удалено модератором



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.046 c
1-1151772961
Yegorchic
2006-07-01 20:56
2006.08.20
Создание ProgressBar а в ListView


15-1153497844
Piter
2006-07-21 20:04
2006.08.20
Выбираю сотовый


2-1154092119
Ezorcist
2006-07-28 17:08
2006.08.20
про динамические массивы


15-1153560452
brother
2006-07-22 13:27
2006.08.20
Иконки рабочего стола


2-1154503740
aly
2006-08-02 11:29
2006.08.20
Как создавать объект при инитиализации только в run-time





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский