Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2012, 17:52   #1
Droniwe
Пользователь
 
Регистрация: 30.10.2008
Сообщений: 41
По умолчанию copy

Заранее изменяюсь но есть небольшая проблем ка а именно выдергивание из текста помогите выдернуть
кусок исходного текста



Код:
E..(....:...MX.......P.U.D...1.....b.............C..~3z.'/.~..n`X......1....Ya......E....f.]w?\.....y....E.q..C`.."T.6.I.........O?e....Y0..9../.[.6......W_:...V1#.H.......K1...re.E...i%...>.z;.......Y.S.."...y..&ck_.^..-1.L..P.!.1..FC1t.B]"@/....ig..2.......N_.(....W.h..f..+#..r.$FZr....}?....z..a.*..&...36..j...0.`t..1..Q.....G.}.`....m.J.u..V...F..........1.#......#c_W8....U.....^Suw...+.VJM.....i...5.t...t...2.:bWWP.j.6..2.hR.:.X.8=.O..{...........[.7d....1%M..:.......e.W.?.....cb.........GG.w..SS.|7....:D...BV.EevW


E...e.@...k.....N....+.P..[....zP..#...GET /player/logo/282042142003775.png HTTP/1.1..Accept: */*..Accept-Language: ru-RU..Referer: http://tvbest.com.ua/player/uppod.swf..x-flash-version: 10,2,153,1..Accept-Encoding: gzip, deflate..If-Modified-Since: Thu, 17 Feb 2011 18:39:56 GMT..User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRSPUTNIK 2, 4, 0, 270; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)..Host: uppod.ru..Connection: Keep-Alive....


E...e.@....N....^...-.P.G....Q{..............C...4GET /6d003ca4de24eac1b289a9d87e4b0166/film/s/1992/snayper.flv HTTP/1.1..Accept: */*..Accept-Language: ru-RU..Referer: http://tvbest.com.ua/player/uppod.swf..x-flash-version: 10,2,153,1..Accept-Encoding: gzip, deflate..User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRSPUTNIK 2, 4, 0, 270; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)..Host: s3.tvbest.net..Connection: Keep-Alive....


E...(|@.7...N........P.+...z..]dP..?n...HTTP/1.1 304 Not Modified..Server: nginx..Date: Sat, 04 Feb 2012 20:47:29 GMT..Last-Modified: Thu, 17 Feb 2011 18:39:56 GMT..Connection: keep-alive....


E....$@.7...^.......P.-..Q{.G.}....R..............CHTTP/1.1 200 OK..Server: nginx..Date: Sat, 04 Feb 2012 20:35:21 GMT..Content-Type: text/html..Connection: keep-alive..X-Powered-By: PHP/5.2.17..Content-Length: 51....File 'film/s/1992/snayper.flv' can not be read.<br>

А нужно вытянуть



Код:
/6d003ca4de24eac1b289a9d87e4b0166/film/s/1992/snayper.flv
Droniwe вне форума Ответить с цитированием
Старый 05.02.2012, 18:19   #2
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Код:
s:=ваш код;
s:=copy(s,pos('Q{..............C...4GET ',s)+length('Q{..............C...4GET '),pos(' HTTP/1.1..Accept: *',s)-1);
помог нажмите на весы нет на треугольник

Последний раз редактировалось Кольша; 05.02.2012 в 18:20. Причина: _
Кольша вне форума Ответить с цитированием
Старый 05.02.2012, 18:27   #3
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

а лучше вот функция парс
Код:
function pars(a,b,s:string):string;////a-откуда начинаем    b-где заканчиваем       s- сама строка где парсить
var
t:string;
begin
t:=copy(s,pos(a,s)+length(a),length(s));
result:=copy(t,1,pos(b,t)-1);
end;
Кольша вне форума Ответить с цитированием
Старый 05.02.2012, 19:07   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Регулярные выражения лучше всего..
Человек_Борща вне форума Ответить с цитированием
Старый 05.02.2012, 23:23   #5
Droniwe
Пользователь
 
Регистрация: 30.10.2008
Сообщений: 41
По умолчанию

Цитата:
Сообщение от Кольша Посмотреть сообщение
а лучше вот функция парс
Код:
function pars(a,b,s:string):string;////a-откуда начинаем    b-где заканчиваем       s- сама строка где парсить
var
t:string;
begin
t:=copy(s,pos(a,s)+length(a),length(s));
result:=copy(t,1,pos(b,t)-1);
end;
Функция супер только
Код:
E...e.@....N....^...-.P.G....Q{..............C...4GET /6d003ca4de24eac1b289a9d87e4b0166/film/s/1992/snayper.flv HTTP/1.1..Accept: */*..Ac
строка может меняться на
Код:
 E...e.@....N....^...-.3.G....о{..............C...7GET /6d003ca4de24eac1b289a9d87e4b0166/film/s/1992/snayper.flv HTTP/1.1..Accept: */*..Ac
То есть постоянны в этой строке только GET / и .flv но GET / не уникален и встречается и до этой строки и после
Droniwe вне форума Ответить с цитированием
Старый 06.02.2012, 00:15   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

1. ищем 'GET /'
2. ищем следующий за ним '.flv'
3. ищем следующий за найденным в 1 'GET /'
4. если он между найденным в 1 и 2 то переход от него на 2
5. иначе нашли
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.02.2012, 00:56   #7
Droniwe
Пользователь
 
Регистрация: 30.10.2008
Сообщений: 41
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
1. ищем 'GET /'
2. ищем следующий за ним '.flv'
3. ищем следующий за найденным в 1 'GET /'
4. если он между найденным в 1 и 2 то переход от него на 2
5. иначе нашли
спс так и сделал

Код:
function parsflv(a,b,s:string):string;////a-откуда начинаем    b-где заканчиваем       s- сама строка где парсить
var
t:string;
begin

t:=copy(s,pos(a,s)+length(a),length(s));
t:=copy(t,1,pos(b,t)+length(b));
if  pos(a,t) >0   then begin
  while pos(a,t)>0 do
    begin

t:=copy(t,pos(a,t)+length(a),length(t));
     end;
result:=t;
end
  else
  result:=t;
end;
Droniwe вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Copy и pos Zloy_Doomer Общие вопросы Delphi 8 03.07.2011 06:13
Selection.Copy ermura Microsoft Office Excel 4 13.05.2010 08:33
pos и copy zotox Помощь студентам 1 23.10.2008 21:13
Copy File Witaliy Общие вопросы Delphi 4 26.07.2008 13:20