Главная страница
    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
3-1099574728
DelphiN!
2004-11-04 16:25
2004.12.05
Глюки фильтра TClientDataSet


14-1100507542
Гайцы-Газазад
2004-11-15 11:32
2004.12.05
Украина - Турция. 17 ноября 2004 года.


3-1099281236
Explorer
2004-11-01 06:53
2004.12.05
Работа с серверной БД


14-1100766555
VID
2004-11-18 11:29
2004.12.05
Что за AcsProxyStub.exe...


6-1096615076
AlexA
2004-10-01 11:17
2004.12.05
TIdSMTP в теле письма "заменяются" русские буквы





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