![]() |
|
|
#1
|
||||
|
||||
|
Код:
begin
IdHTTP1:=TIdHTTP.Create(nil);
IdHTTP1.HandleRedirects:=true;
znak:=copy(msg,9,length(msg));
znak:=trim(znak);
result:='Знак зодиака не верный! Пишутся маленькими буквами: Пример "гороскоп близнецы".';
if znak ='овен' then znak:='ОВЕН (21 марта - 20 апреля)'
else if znak ='телец' then znak:='ТЕЛЕЦ (21 апреля - 21 мая)'
else if znak ='близнецы' then znak:='БЛИЗНЕЦЫ (22 мая - 21 июня)'
else if znak ='рак' then znak:='РАК (22 июня - 23 июля)'
else if znak ='лев' then znak:='ЛЕВ (24 июля - 23 августа)'
else if znak ='дева' then znak:='ДЕВА (24 августа - 23 сентября)'
else if znak ='весы' then znak:='ВЕСЫ (24 сентября - 23 октября)'
else if znak ='скорпион' then znak:='СКОРПИОН (24 октября - 22 ноября)'
else if znak ='стрелец' then znak:='СТРЕЛЕЦ (23 ноября - 21 декабря)'
else if znak ='козерог' then znak:='КОЗЕРОГ (22 декабря - 20 января)'
else if znak ='водолей' then znak:='ВОДОЛЕЙ (21 января - 19 февраля)'
else if znak ='рыбы' then znak:='РЫБЫ (20 февраля - 20 марта)'
else exit;
html:=UTF8Decode(IdHTTP1.Get('http://rssportal.ru/feed/12480.xml'));
n1:=pos('<description><![CDATA[',html)+22;
n2:=pos(']></description>',html)-1;
dob:=copy(html,n1,n2-n1);
n1:=pos(znak,html)+7;
n2:=pos('</rss>',html);
html:=copy(html,n1,n2-n1);
n1:=pos('<description><![CDATA[',html)+22;
n2:=pos(']]></description>',html);
html:=copy(html,n1,n2-n1);
html:=dob+#13#10+#13#10+znak+#13#10+html;
result:=PChar(html);
IdHTTP1.Free;
endв плагине почемуто не работает следующий код, если совпадения нет то все выдает верно, если есть то вылазиет ошибка чтото с процессом. |
|
#2
|
|||
|
|||
|
шо за индусский код? почему CASE не использовал?
|
|
#3
|
|||
|
|||
|
Цитата:
|
|
#4
|
||||
|
||||
|
Assistant разница? я пока не оптимизирую, ошибка все равно не там
![]() вот ошибка, ошибка возникает какбы в вызове функции из плагина. притом как я уже писал если znak не совпадает ни с одним словом, то все нормально выдает |
|
#5
|
|||
|
|||
|
Цитата:
|
|
#6
|
||||
|
||||
|
он действительно для сравнения чисел...
|
|
#8
|
||||
|
||||
|
по идее у меня выполнение функции, подгрузка и выгрузка плагинов верная, косяк в самом плгине не пойми какой
|
|
#9
|
||||
|
||||
|
Код:
var PlugExec : function(Uin,Msg:String; index: integer): PChar; Result: string; begin Result:=PlugExec(PPluginInfo(listKomand.Items[n1])^.Index); TestLog.Lines.Add(Result); |
|
#10
|
|||
|
|||
|
в плагине:
Код:
...... var res: ^PChar; begin ...... GetMem(res,Length(html)); res^ := PChar(html); result := res^; ...... end; P.S.: проверял, работает на твоём плагине, ошибок не дает. |
|
#11
|
||||
|
||||
|
вынес для осмотра плагин и программку может кто еще что предложет
Последний раз редактировалось ALexandr555, 08.04.2011 в 17:57. |
|
#12
|
||||
|
||||
|
и
...... var res: ^PChar; begin ...... GetMem(res,Length(html)); res^ := PChar(html); result := res^; ...... end; так он подсовывает лишние символы в конец которых даже нет в нем |
|
#13
|
||||
|
||||
|
Цитата:
|
|
#14
|
|||
|
|||
|
метод научного тыка решения проблемы в отсутствии времени и хотения спать
|
|
#15
|
||||
|
||||
|
хм, но кое как работает пока)
|