Главная страница
    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.47 MB
Время: 0.003 c
2-1324987441
Псарь
2011-12-27 16:04
2012.04.22
File not found


15-1324033056
И. Павел
2011-12-16 14:57
2012.04.22
Восстановление бекапа для SQL SERVER 2005


3-1274783943
Phoenix
2010-05-25 14:39
2012.04.22
Помогите составить запрос...


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


2-1324724185
igorium
2011-12-24 14:56
2012.04.22
ShellTreeView - мультивыбор и рефреш





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