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

Вниз

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

 
#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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.036 c
14-1100711514
Mihey_temporary
2004-11-17 20:11
2004.12.05
Опечатка в google


1-1101032114
Zif
2004-11-21 13:15
2004.12.05
Преобразование 267 минут в 4:45


1-1100324580
Макс
2004-11-13 08:43
2004.12.05
определитель матрицы комплексных чисел


4-1098633252
_Дельфин_
2004-10-24 19:54
2004.12.05
Параметры монитора


6-1095857699
Lomaster
2004-09-22 16:54
2004.12.05
Как послать файл на e-mail посредством delphi?





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