| 
| 
 | Вопрос # 2 944/ вопрос открыт / | 
 |  Здравствуйте, эксперты!помогите составить условие с помощью операторов
 1. http://127.0.0.1/takelogin.php
 2. Referer: http://127.0.0.1/login.php?returnto=%2Fbrowse.php
 3. Data:
 4. login
 
 необходимо оставить в результате 1. и 4. строки
 
 пишу XOr Referer: and xor http: and xor login - остается только строка 3. как сформулировать, чтобы осталась и строка 1.?
 
|  |   Вопрос задал: fedora (статус: Посетитель)Вопрос отправлен: 24 июня 2009, 11:04
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 12; последнее сообщение — 24 июня 2009, 23:51; участников в обсуждении: 2. 
|   | fedora (статус: Посетитель), 24 июня 2009, 11:14 [#1]:и строка 4. |  
|   | Вадим К (статус: Академик), 24 июня 2009, 11:16 [#2]:а что такое and xor я такого оператора не знаю.
 Плюс, не понятно, что  с чего соединять, переформулируйте вопрос.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | fedora (статус: Посетитель), 24 июня 2009, 11:43 [#3]:попутал. правильно будет not Referer: and not http: and not login
 мне нужно оставить из 4-х строк первую и четвертую.
 |  
|   | Вадим К (статус: Академик), 24 июня 2009, 11:58 [#4]:а строки где? в Memo/StringList? тогда просто memo1.lines[0] и memo1.lines[3]
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | fedora (статус: Посетитель), 24 июня 2009, 12:33 [#5]:в TStringList 
 for Index:= 0 to FList.Count - 1 do
 if not (Pos('Referer:', FList[Index]) <> 0) and not (Pos('http:', FList[Index]) <> 0) and not (Pos('login', FList[Index]) <> 0) and (Temp.IndexOf(FList[Index]) = -1)
 then Temp.Add(FList[Index]);
 |  
|   | Вадим К (статус: Академик), 24 июня 2009, 12:47 [#6]:это if not (Pos('Referer:', FList[Index]) <> 0) and not (Pos('http:', FList[Index]) <> 0) and not (Pos('login', FList[Index]) <> 0) and (Temp.IndexOf(FList[Index]) = -1)
 переписывается как
 if (Pos('Referer:', FList[Index]) = 0) and (Pos('http:', FList[Index]) = 0) and (Pos('login', FList[Index]) = 0) and (Temp.IndexOf(FList[Index]) = -1)
 и это следует читать так
 добавить текущую строку в список, если она не содрежит ни 'Referer:', ни 'http:', ни 'login'. Странный запрос.
 
 Вопрос всё равно пока смутный и не понятный.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | fedora (статус: Посетитель), 24 июня 2009, 13:07 [#7]:мне просто нужно так составить запрос, чтобы оставить из 4-х строк первую и четвертую. |  
|   | Вадим К (статус: Академик), 24 июня 2009, 13:15 [#8]:зачем составлять запрос, если можно просто взять первую и четвертую строку. Плюс, какой запрос? условие! пишем разборчивым русским (украинским, английским...)
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | fedora (статус: Посетитель), 24 июня 2009, 17:24 [#9]:ладно с условиями я разобрался. подскажите лучше, как можно задать в
 if (Pos('лицензия', FList[Index]) = 0)  and (Temp.IndexOf(FList[Index]) = -1)
 только слово 'лицензия', чтобы добавляла в список не
 ывфаывалицензия
 лицензияываываыва
 лицензия_лицензия
 а только строку, где одно слово 'лицензия'?
 |  
|   | Вадим К (статус: Академик), 24 июня 2009, 17:47 [#10]:добавить проверку с пробелами на конце и в начале, а также на проверку, что pos = 1 и пробел в конце. Хотя лучше использовать регулярные выражения
   Галочка "подтверждения прочтения" - вселенское зло. |  
|   | fedora (статус: Посетитель), 24 июня 2009, 22:02 [#11]:а можно в примере, что-то не понятно/не получается. |  
|   | Вадим К (статус: Академик), 24 июня 2009, 23:51 [#12]:м? ну наверное так 
 if (pos('лицензия ', s) = 1) or (pos(' лицензия ',s) <> 0) or (pos(' лицензия',s) = length(s)-9) then
ShowMessage('входит!');Галочка "подтверждения прочтения" - вселенское зло. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |