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

Вниз

вывод некоторых строк из файла   Найти похожие ветки 

 
gvozdkoff   (2011-12-29 16:19) [0]

Всем привет, ребята, чего то туплю
Есть текстовый файл, вот его содержание

ИМЯ,РАЗМЕР,ДАТА,ВРЕМЯ
ИМЯ,РАЗМЕР,ДАТА,ВРЕМЯ

после того как разбил строки над подстроки (разделяющим символом является запятая)

 sl1:= TStringList.Create;
 sl1.LoadFromFile("log.txt");
 sl2:= TStringList.Create;
 sl2.Delimiter:= ",";
 sl2.DelimitedText:=sl1.Text;
 sl2.SaveToFile("log.txt");

Получилось следующее

ИМЯ
РАЗМЕР
ДАТА
ВРЕМЯ
ИМЯ
РАЗМЕР
ДАТА
ВРЕМЯ

Мне нужно вывести определенные строки, например, только ИМЕНА
то есть
номер_строки=номер_строки + 4
Как это реализовать то ? Подскажите пожалуйста


 
KilkennyCat ©   (2011-12-29 16:39) [1]


> sl1:= TStringList.Create;
>  sl1.LoadFromFile("log.txt");
>  sl2:= TStringList.Create;
>  sl2.Delimiter:= ",";
>  sl2.DelimitedText:=sl1.Text;
>  sl2.SaveToFile("log.txt")

два стринглиста ненужно.

sl1:= TStringList.Create;
sl1.LoadFromFile("log.txt");
sl1.Delimiter:= ",";
sl1.DelimitedText:=sl1.Text;
result := "";
n := 0; // селектор, выбирает, что выводить
for i := n to sl1.count - (n + 1) do result := result + sl1[n] + " ";


 
KilkennyCat ©   (2011-12-29 16:44) [2]


> for i := n to sl1.count - (n + 1) do result := result +
> sl1[n] + " ";

не , че та я напутал.

while n < sl1.count do begin
result := result + sl1[n] + " ";
n := n + 4;
end;


 
Юрий Зотов ©   (2011-12-29 16:48) [3]


j := 0; // j - номер нужной строки внутри группы из 4-х строк (j = 0,1,2,3)
for i := 0 to sl.Count div 4 - 1 do // i - номер группы
 WriteLn(sl[4 * i + j]); // Выводит только нужные строки

И два стринглиста, конечно, ни к чему - достаточно одного. Да и стоит ли перезаписывать файл - тоже вопрос (зависит от задачи).


 
gvozdkoff   (2011-12-30 07:36) [4]

спасибо огромное господа, сейчас буду пробовать реализовать это


 
gvozdkoff   (2011-12-30 07:39) [5]

насчет перезаписи файла, в дальнейшем планируется выборка данных по дате либо диапазону дат, так что на этот случай решил пока перезаписывать


 
Dennis I. Komarov ©   (2011-12-30 08:45) [6]

array of TRec


 
sniknik ©   (2011-12-30 09:28) [7]

обычный csv формат, разделение запятыми... открывается excel-ем, + некоторыми движками/рекордсетами (даже BDE). непонятно зачем велосипед изобретать.

> в дальнейшем планируется выборка данных по дате либо диапазону дат, так что на этот случай решил пока перезаписывать
вот вот уже начинается... а лучше бы решил изучить что нибудь DB-шное.


 
gvozdkoff   (2011-12-30 09:49) [8]


> sniknik ©   (30.12.11 09:28) [7]
> обычный csv формат, разделение запятыми... открывается excel-
> ем, + некоторыми движками/рекордсетами (даже BDE). непонятно
> зачем велосипед изобретать.
>
> > в дальнейшем планируется выборка данных по дате либо диапазону
> дат, так что на этот случай решил пока перезаписывать
> вот вот уже начинается... а лучше бы решил изучить что нибудь
> DB-шное.


впредь будьте повнимательнее, файл текстовый,
sl1.LoadFromFile("log.txt");


 
Jeer ©   (2011-12-30 10:00) [9]


> gvozdkoff   (30.12.11 09:49) [8]
> впредь будьте повнимательнее, файл текстовый,
> sl1.LoadFromFile("log.txt");


Ты слушай, что тебе говорят, а не фантаризуй чего не знаешь.


 
RWolf ©   (2011-12-30 10:23) [10]

// вспомнился анекдот про рацию на бронетранспортёре.


 
gvozdkoff   (2011-12-30 10:58) [11]

мужики, я извиняю если кого обидел, сейчас нашел процедуру , которая позволяет работать с  таким типом файла, как  с базой данных, загнал все в StringGrid. Ну так то вообще замечательно,  в плане визуального отображения данных ))спасибо большое за подсказку


 
gvozdkoff   (2011-12-30 10:59) [12]


> RWolf ©   (30.12.11 10:23) [10]
> // вспомнился анекдот про рацию на бронетранспортёре.


))))

Построил прапор роту и говорит:
- Кто может починить рацию на бронетранспортёре?
Из строя:
- Товарищь прапорщик, а рация на лампах или на транзисторах?
- Для тупых повторяю - НА БРОНЕТРАНСПОРТЁРЕ!!!


 
sniknik ©   (2011-12-30 13:34) [13]

> загнал все в StringGrid
> спасибо большое за подсказку
тогда не за что... реально не за что.



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

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

Наверх





Память: 0.47 MB
Время: 0.003 c
15-1324153802
Юрий
2011-12-18 00:30
2012.04.22
С днем рождения ! 18 декабря 2011 воскресенье


2-1324817661
Евгений07
2011-12-25 16:54
2012.04.22
Ошибка Length(s);


2-1324922178
upc
2011-12-26 21:56
2012.04.22
Строковая константа больше 255 символов


2-1325062111
OW
2011-12-28 12:48
2012.04.22
IdTCPServer1Execute(AThread: TIdPeerThread); Какой тут AThread?


15-1324302501
aka
2011-12-19 17:48
2012.04.22
поиск по списку слов.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский