Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.04.22;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.007 c
2-1324738361
Евгений07
2011-12-24 18:52
2012.04.22
ADODataSet узнать тип поля


2-1325109344
TThread
2011-12-29 01:55
2012.04.22
TPotok_Com.Terminate


2-1325099067
ghjtyu21
2011-12-28 23:04
2012.04.22
змейка


15-1324363262
oxffff
2011-12-20 10:41
2012.04.22
Может кто поделиться БД(продуктов и их иерархии) с фото


15-1324457180
Mysql_error
2011-12-21 12:46
2012.04.22
Настроить коннет к mysql с разных компьютеров