Trim — Удаляем все пробелы по краям строки
LeftStr и RightStr – получаем значение определённой длины слева и справа соответственно
MidStr – значение из центра строки (сам никогда не использовал, но может кому то и понадобится…)
Length – получение длины строки (очень удобно при использовании с другими функциями для парсинга и плюсовать или минусовать…)
Delete – удаляет часть символов из строки
SetLength – изменяет размер строки или массива (тоже в парсинге вроде не использовал, но мало ли…)
Copy – копирование части строки или массива
Insert вставить строку в строку
Move – копирует часть строки в другую строку (копирует байты данных)
В принципе это вроде как всё, из того, что должно потребоваться для парсинга либого документа, который может быть прочитан как файл.
Я подразумеваю, что будет обрабатываться какой то текстовый документ, например файл настроек программы, синхронизация каких либо программ, да и много чего ещё можно спарсить…
Сам парсер писать не буду, ибо для разных нужд нужно что то своё.
К примеру, мы храним настройки программы в простом текстовом файле.
Сохраняем их так:
Procedure SAVE_Settings;
VAR
STGFile: TextFile;
TMP: String;
Begin
AssignFile(STGFile, ‘Settings.NMT’);
Rewrite(STGFile);
TMP:=’Min: ‘+MainForm.EdtMin.Text;
WriteLn(STGFile, TMP); //—
TMP:=’Max: ‘+MainForm.EdtMax.Text;
WriteLn(STGFile, TMP); //—
TMP:=’FSearch: ‘+MainForm.Edit2.Text;
WriteLn(STGFile, TMP); //—
TMP:=’FParam: ‘+MainForm.Edit3.Text;
WriteLn(STGFile, TMP); //—
CloseFile(STGFile);
End;
А читать эти же настройки будем так
Procedure LOAD_Settings;
VAR
STGFile: TextFile;
TMP: String;
Begin
AssignFile(STGFile, ‘Settings.NMT’);
Reset(STGFile);
ReadLn(STGFile, TMP); //—
Delete(TMP, 1, 5);
MainForm.EdtMin.Text:=TMP;
ReadLn(STGFile, TMP); //—
Delete(TMP, 1, 5);
MainForm.EdtMax.Text:=TMP;
ReadLn(STGFile, TMP); //—
Delete(TMP, 1, 9);
MainForm.Edit2.Text:=TMP;
ReadLn(STGFile, TMP); //—
Delete(TMP, 1, 8);
MainForm.Edit3.Text:=TMP;
CloseFile(STGFile);
End;
Не ахти, какой пример, зато наглядно показывает как работать с файлами (запись и чтение) и как работает Delete
Вот как то так я парсил XML
…
var
StrX: string;
StrL, StrR: string;
StrLengthX: Integer;
Begin
…
StrLengthX:=Length(StrX); // получаем размер строки
StrR:= RightStr(StrX, StrLengthX-18); //берём справа весь текст -18 символов
StrLengthX:=Length(StrR); //а сколько теперь размер строки?
StrX:=LeftStr(StrR, StrLengthX-2); //берём текст слева -2 символа («>)
…
Вот как то оно так…
В следующей статье, я опишу по шагам как написать XML парсер на Delphi 7 используя только стандартные компоненты… Будет это в ближайшие дни ??