Главная страница
    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.037 c
1-1100701652
Zloy
2004-11-17 17:27
2004.12.05
Как создать цикл, который изменит настройки нескольких компонент


1-1101231493
Siniy
2004-11-23 20:38
2004.12.05
Вопрос по многопоточным приложениям.


11-1083082807
Delphi5.01
2004-04-27 20:20
2004.12.05
Что является аналогом inhereted в KOL?


1-1100968318
Ivolg
2004-11-20 19:31
2004.12.05
ListView


1-1101107330
LOL
2004-11-22 10:08
2004.12.05
Печать





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