|
Парсить функцией Pars - Вопросы и ответы, обсуждения - Ваши вопросы по Pascal/Delphi только в данном разделе |
20.06.2012, 19:11
|
#1
|
|
|
|
Разведчик
|
Регистрация: 05.02.2012
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Парсить функцией Pars
delete/
Последний раз редактировалось ncdos; 07.04.2013 в 18:20.
|
|
|
20.06.2012, 19:29
|
#2
|
|
|
|
Фельдмаршал
|
Регистрация: 13.08.2009
Сообщений: 1,004
Популярность: 25098
Золото Zhyk.Ru: 350
Сказал(а) спасибо: 110
Поблагодарили 830 раз(а) в 395 сообщениях
|
Re: Парсить функцией Pars
|
Цитата: |
|
|
|
|
|
|
|
|
|
Не выходит циклом. Только первое слово.
|
|
|
|
|
|
Код:
function Pars(T_ : string; var ForS: string; _T: string): string;
var
a, b: Integer;
begin
if (T_ <> '') and (ForS <> '') and (_T <> '') then
begin
a := Pos(T_, ForS);
Result := Copy(ForS, a + Length(T_), Length(ForS));
b := Pos(_T, Result);
Result := Copy(Result, 1, b - 1);
if (a>0) or (b>0) then
Delete(ForS,a,b+length(_T)+length(T_)-1)
else
Result := '';
end
else
Result := '';
end;
procedure TForm1.Button1Click(Sender: TObject);
var
t,q:string;
begin
t:='-Привет- agagajgklajw -zhyk.ru- -ffg';
q:='';
while pos('-', t) > 0 do
q:=q+pars('-', t, '-');
caption :=q;
end;
У меня выходит, что я делаю не так?
________________
Ни одно доброе дело не остается безнаказанным.
Программы:
PW: Флудобот, Девизхак, OutFocusBot, OutFocusBot ver 3 (freepvp), PWMultiHack ver 3, AutoRespawn.
JD: JDMultiHack, JDFlooder, JDBot.
Статьи: Отключаем UAC, Ищем базовый адрес Perfect World, "Патчер памяти" или "Пишем флайхак", "Патчер памяти 2" или "Пишем Джампхак", "Поиск инжектов" или "Наш код в чужом процессе"
|
|
|
20.06.2012, 20:26
|
#3
|
|
|
|
Фельдмаршал
|
Регистрация: 13.08.2009
Сообщений: 1,004
Популярность: 25098
Золото Zhyk.Ru: 350
Сказал(а) спасибо: 110
Поблагодарили 830 раз(а) в 395 сообщениях
|
Re: Парсить функцией Pars
Можно, изменяй свою функцию парсинга.
Таким образом, чтобы в случае " -text " не проводился парсинг.
________________
Ни одно доброе дело не остается безнаказанным.
Программы:
PW: Флудобот, Девизхак, OutFocusBot, OutFocusBot ver 3 (freepvp), PWMultiHack ver 3, AutoRespawn.
JD: JDMultiHack, JDFlooder, JDBot.
Статьи: Отключаем UAC, Ищем базовый адрес Perfect World, "Патчер памяти" или "Пишем флайхак", "Патчер памяти 2" или "Пишем Джампхак", "Поиск инжектов" или "Наш код в чужом процессе"
|
|
|
20.06.2012, 20:59
|
#4
|
|
|
|
Сержант
|
Регистрация: 20.07.2010
Сообщений: 137
Популярность: 26409
Сказал(а) спасибо: 52
Поблагодарили 566 раз(а) в 197 сообщениях
|
Re: Парсить функцией Pars
Модуль StrUtils
Не хочешь его использовать - твое дело, но зачем копипастить этот безумный код, когда можно написать свой - уж 4 строки самому осилить можно:
Код:
function Pars(const source, left, right: string): string;
var
r, l: integer;
begin
l := pos(left, source);
r := pos(right, (Copy(source, l + length(left), length(source) - l - length(left)))) + l;
if l = r then exit('');
Result := Copy(source, l + length(left), r - l - 1);
end;
Последний раз редактировалось Рэйзор; 21.06.2012 в 10:19.
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 06:50.
|
|