Вниз
Скачать: CL | DM;

Чтение из текстового файла   Найти похожие ветки 

← →
#Master#   (2004-11-22 13:48) [0]

Помогите мастера!!! У меня есть текстовой файл, в который я записал все действия мышки в течение определённого времени(Я не знаю сколько строк в этом файле). Информация в файле имеет определённую структуру.
Например:
WM_MOUSEMOVE 868 638
WM_MOUSEMOVE 866 638
WM_MOUSEMOVE 865 638

Т.е. сначала записывается действие, затем координата X, затем координата Y
Вопрос:
Каким образом мне получить всю информацию в файле, чтобы действие мыши записывалось в одну переменную, её X координата в другую переменную и координата Y соответственно в третью переменную.
Спасибо!!!


← →
Warlock ©   (2004-11-22 14:02) [1]

Массив записей


← →
#Master#   (2004-11-22 14:13) [2]

Перефразирую вопрос(специально для Warlock"а): мне нужно распределить данные, находящиеся на одной строчке в текстовом файле и разделённые только пробелом, по разным переменным. И вообще можно поподробнее. Пожалуйста!!!


← →
clickmaker ©   (2004-11-22 14:48) [3]

StringList.LoadFromFile
потом парсинг каждой строчки


← →
#Master#   (2004-11-22 15:02) [4]

clickmaker, а можно поподробнее...


← →
Ega23 ©   (2004-11-22 15:04) [5]

А куда подробнее?


← →
#Master#   (2004-11-22 15:25) [6]

ЧТО ЭТО ЕСТЬ ПАРСИНГ????


← →
TUser ©   (2004-11-22 15:30) [7]


> ЧТО ЭТО ЕСТЬ ПАРСИНГ????

Преобразование в удобную для работы форму. Например, в твоем случае - в массив записей, каждая из которых содержит 3 поля - сообщение, и 2 числа


← →
Anatoly Podgoretsky ©   (2004-11-22 15:34) [8]

Parse = разбор(ка)


← →
Anatoly Podgoretsky ©   (2004-11-22 15:35) [9]

Ты мастер в какой области?


← →
clickmaker ©   (2004-11-22 15:41) [10]


> [4] #Master#   (22.11.04 15:02)
> clickmaker, а можно поподробнее...

парсинг строки - разбор на отдельные лексемы, разделенные каким-либо символом, в данном случае пробелом
Чешешь по строке в цикле, дошел до первого разделителя - записал часть строки до него в первую лексему и т.д.


← →
cae ©   (2004-11-22 15:45) [11]

Вот самый простой вариант :

var
i : Integer ;
LSource,LParse : TStringList ;
Command,XPos,YPos : String ;
begin
LSource := TStringList.Create ;
LParse := TStringList.Create ;
LParse.Delimiter := " " ;
try
LSource.LoadFromFile("MyFile.txt");
  for i := 0 to LSource.Count - 1 do
  begin
   try
    LParse.DelimitedText := LSource[i] ;

    Command := LParse[0] ;
    XPos    := LParse[1] ;
    YPos    := LParse[2] ;
   except
    raise Exception.Create("Ошибка разбора");
   end ;
  end ; //for i
finally
 LSource.Free ;
 LParse.Free;
end ;
end;


← →
#Master#   (2004-11-22 18:56) [12]

Спасибо всем!!! Парсинг я усвоил(тоже спасибо), а за код от cae ОГРОМНОЕ СПАСИБО!!! Ведь на примерах понимать новичку в этой области легче.:)))



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.021 c
9-1088730453
Xerx
2004-07-02 05:07
2004.12.05
Источники света


1-1100622476
Gear
2004-11-16 19:27
2004.12.05
Как запретить перерисовку отдельному компоненту?


1-1101111571
Alex@work
2004-11-22 11:19
2004.12.05
Диаграммы Ганта


4-1098449860
Shiza
2004-10-22 16:57
2004.12.05
Некоторые программы умеют форматировать дискеты под размер 1,72 М


8-1094316563
Sfinks
2004-09-04 20:49
2004.12.05
Анимированый *.jif




   Наверх