forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=124)
-   -   Lib_parse - Разбиение строки (http://forum.boolean.name/showthread.php?t=7445)

odd 15.12.2008 00:01

Lib_parse - Разбиение строки
 
Вложений: 1
Вот, накалякал небольшую библиотечку для облегчения такой задачи как разбиение строк. Список функций пока такой:
PHP код:

get(iinteger) - Получить строку под номером i из массива

put
(sstringiinteger) - Записать строку s в массив в элемент с индексом i

len 
Возвращает длину массива

clear 
Очистить массив

line
(sstringpstring) - Разбить строкуразделяемую символом p
    К примеру
у вас есть строка "С:/windows/system32"тогда функция parse.line("С:/windows/system32""/")
    
разобьет строку и получится следующий массив:
        
C:
        
windows
        system32
        
html
(sstring) - Разбивает html страницу.
    
К примеруу вас есть примерно такая html страница:
    <
html>
    <
head>
          <
title>This is my site</title>
    </
head>
    <
body>
          <
b>First page</b>
    </
body>
    </
html>
    
После разбиения получим массив из двух элементов:
    
This is my site
    First page 

Короче, всё просто. Функции line и html разбивают строку и помещают обрезки в массив, а с помощью put и get можно оперировать с полученным массивом.
Вот пример программки:
PHP код:

Program ParseTest;
Uses parse;
Begin
    parse
.html('<html><head><title>This is my site</title></head><body><b>First page</b></body></html>');
    
DrawText('Строк получено: ' parse.len00);
    
DrawText(parse.get(0), 020);
    
DrawText(parse.get(1), 040);
    
Repaint;    
    
Delay(5000);
End


m1kc. 24.12.2008 15:21

Lib_parse - Разбиение строки
 
odd, полезная вещь! А можешь сделать так, чтобы тэг <style> удалялся вместе со всем содержимым?

odd 25.12.2008 21:31

Ответ: Lib_parse - Разбиение строки
 
Цитата:

Сообщение от m1kc. (Сообщение 92690)
odd, полезная вещь! А можешь сделать так, чтобы тэг <style> удалялся вместе со всем содержимым?

Я щас работаю над XML реализацией. Как закончу - выложу.

jkeks 29.12.2008 09:04

Ответ: Lib_parse - Разбиение строки
 
Хочу найти все ссылки тэга img ;)

jkeks 22.02.2009 11:00

Ответ: Lib_parse - Разбиение строки
 
чесное слово.. ну не работает код, в чем я не прав, голову сломал ужо:
Код:

for i:=1 to parse.len do // запомним все
begin           
ss[i]:=parse.get(i);
 l:=formAddString(ss[i]);// на форму выводятся все данные как надо
end;
 l:=formAddString(ss[1]); // НЕ ПОКАЗЫВАЕТ НИЧЕГО, проверяю в MidpX самом последнем


odd 23.02.2009 16:18

Ответ: Lib_parse - Разбиение строки
 
Ты смотри, в библиотеке отсчёт идёт с нуля, а в твоём массиве с 1.
Может в этом проблема? Ты же не делаешь parse.get(0). Один элемент теряется.

DIMMON4IK 19.11.2009 19:48

Ответ: Lib_parse - Разбиение строки
 
ПОМОГИТЕ :mad:

PHP код:

repeat
a
:=formAddString(parse.get(i));
i:=i+1;
until i>parse.len

Всё нормально, а:
PHP код:

repeat
drawtext
(parse.get(i),0,15*i);
i:=i+1;
repaint;
until i>parse.len

На эмуле не работает ( просто drawtext(parse.get(i),0,0); без циклов работает, но мне нужно всё вывести)

VM 19.11.2009 21:28

Re: Lib_parse - Разбиение строки
 
PHP код:

repeat
:= parse.get(i);
:= 0,15*i;
drawtext(s0y);
:= 1;
repaint;
until  iparse.len


GRAY_WOLF 19.11.2009 22:10

Ответ: Re: Lib_parse - Разбиение строки
 
Цитата:

Сообщение от VM (Сообщение 125610)
PHP код:

repeat
:= parse.get(i);
:= 0,15*i;
drawtext(s0y);
:= 1;
repaint;
until  iparse.len


при y := 0,15*i; будет сильное наложение текста, может так y := 15*i;

DIMMON4IK 19.11.2009 23:02

Ответ: Lib_parse - Разбиение строки
 
Не раб :(

VM 20.11.2009 09:24

Re: Lib_parse - Разбиение строки
 
Может после repaint; delay(100)?

odd 22.11.2009 12:56

Ответ: Lib_parse - Разбиение строки
 
Переменную "y" нужно приводить к integer.

DIMMON4IK 22.11.2009 13:14

Ответ: Lib_parse - Разбиение строки
 
У меня она integer. И не работает :(

odd 22.11.2009 13:18

Ответ: Lib_parse - Разбиение строки
 
Если это KEmulator, то проблема в нем.
На самом деле всё на экран выводится, просто эмулятор глючит.
Обычно для нормального отображения помогает перезапуск приложения (Alt+R).

DIMMON4IK 22.11.2009 18:37

Ответ: Lib_parse - Разбиение строки
 
KEmulator


Часовой пояс GMT +4, время: 23:53.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot