[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Программирование|Delphi|Pascal » Общие вопросы Delphi » Чтение из плагина
Чтение из плагина
Эго Дата: Пятница, 15.04.2011, 23:44 | Сообщение # 1 | Добавить в цитатник [ ? ]
Мастер
Группа: Заблокированные
Сообщений: 31
Награды: 2
Репутация: 1
Замечания: 0%
Статус: Offline
Я собственно с форума Царя, Alexandr555 есть у меня проблемка одна скорее не знаю сможешь помочь или нет но все же,
прикрепляю файл с исходником программы и плагина,
в программе в нижнее поле нужно писать
"гороскоп (знак)"
гороскоп лев к примеру

и он в плагине обрабатывает, из плагина почемуто не тянет полученную информацию ошибку выдает

Прикрепления: test.rar (109.9 Kb)
 

Гром Дата: Суббота, 16.04.2011, 02:17 | Сообщение # 2 | Добавить в цитатник [ ? ]
Всевидящее око
Группа: Владелец сайта
Сообщений: 792
Награды: 12
Статус: Offline
А, привет! Узнал вас. Не ожидал вас здесь увидетть. Сейчас посмотрю ваш парсинг, помогу чем могу!
 

Гром Дата: Суббота, 16.04.2011, 02:44 | Сообщение # 3 | Добавить в цитатник [ ? ]
Всевидящее око
Группа: Владелец сайта
Сообщений: 792
Награды: 12
Статус: Offline
Ваша программа в функции PluginExec передаёт аж три параметра, котррые сама функция не испльзоует. Вы для чего их указали?

Code
function PluginExec(Uin,Msg:String; index: integer):  PChar;
var
n1,n2: integer;
znak,dob,html: string;
begin
with form1 do
     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:=UTF8ToAnsi(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+#10#13+#10#13+znak+#10#13+html;
      result:=PChar(html);
IdHTTP1.Free;
end;
end;

Не работает вызов самой фунции. Я попробоавл:

showmessage(PluginExec('', 'ДЕВА', 6));

Однако ме могу понять, какие нужно передавать параметры, так как ни один из них в данной функции не исользуется!

 

Гром Дата: Суббота, 16.04.2011, 06:11 | Сообщение # 4 | Добавить в цитатник [ ? ]
Всевидящее око
Группа: Владелец сайта
Сообщений: 792
Награды: 12
Статус: Offline
Для парсинга гороскопа я изпользую другой сервис, однако этот гороскоп только на всю неделю. Но исходником могу поделится
 

Гром Дата: Суббота, 16.04.2011, 06:45 | Сообщение # 5 | Добавить в цитатник [ ? ]
Всевидящее око
Группа: Владелец сайта
Сообщений: 792
Награды: 12
Статус: Offline
P.s. Ошибки ниакой в программе нет, тлько сама фунция в dll не работает.
 

Эго Дата: Суббота, 16.04.2011, 12:28 | Сообщение # 6 | Добавить в цитатник [ ? ]
Мастер
Группа: Заблокированные
Сообщений: 31
Награды: 2
Репутация: 1
Замечания: 0%
Статус: Offline
Одну переменную Msg плагин использует

Code
znak:=copy(msg,9,length(msg));  
  znak:=trim(znak);

если передавать то вот так showmessage(PluginExec('', 'гороскоп дева', 6));,
а вобще в программе же можно в нижнее поле написать (гороскоп "знак"), если знак не верный он все как надо выдет, а если верный ошибка. Менять сервис не вариант просто у меня еще несколько плагинов из по этой непонятной причине не работают
 

Эго Дата: Суббота, 16.04.2011, 13:58 | Сообщение # 7 | Добавить в цитатник [ ? ]
Мастер
Группа: Заблокированные
Сообщений: 31
Награды: 2
Репутация: 1
Замечания: 0%
Статус: Offline

вот скрин ошибки к примеру, кстати дизайн сайта хороший, ответы удобные функциональные, все кнопки/иконки красившие, единственное мне не нравится при на ведении на ссылки черный фон с огоньком


Сообщение отредактировал Эго - Суббота, 16.04.2011, 13:59
 

Эго Дата: Суббота, 16.04.2011, 17:58 | Сообщение # 8 | Добавить в цитатник [ ? ]
Мастер
Группа: Заблокированные
Сообщений: 31
Награды: 2
Репутация: 1
Замечания: 0%
Статус: Offline
проблема решена я вместо Char использую WideString
 

Гром Дата: Суббота, 16.04.2011, 18:49 | Сообщение # 9 | Добавить в цитатник [ ? ]
Всевидящее око
Группа: Владелец сайта
Сообщений: 792
Награды: 12
Статус: Offline
Странно, абсолютно не вижу связи
 

Гром Дата: Суббота, 16.04.2011, 18:51 | Сообщение # 10 | Добавить в цитатник [ ? ]
Всевидящее око
Группа: Владелец сайта
Сообщений: 792
Награды: 12
Статус: Offline
Quote (Эго)
кстати дизайн сайта хороший, ответы удобные функциональные, все кнопки/иконки красившие

Спасибо!

Quote (Эго)
единственное мне не нравится при на ведении на ссылки черный фон с огоньком

Исправлю, как выздоровею
 

Эго Дата: Суббота, 16.04.2011, 20:57 | Сообщение # 11 | Добавить в цитатник [ ? ]
Мастер
Группа: Заблокированные
Сообщений: 31
Награды: 2
Репутация: 1
Замечания: 0%
Статус: Offline
Quote
У вас проблемы с передачей строк. Если хотите по-быстрому, то замените в параметрах экспортируемых функций String и PChar на WideString. Если же вы хотите разобраться, то вот хорошая статья: http://www.transl-gunsmoker.ru/2009/09/pchars.html

вот как мне ответили на форуме по программированию, в принципе это ясно что со строками проблема, скорее всего там какието символы другой кодировки мешали.
Quote
Исправлю, как выздоровею

возможно это только мне не симпатизирует
 

Форум » Программирование|Delphi|Pascal » Общие вопросы Delphi » Чтение из плагина
  • Страница 1 из 1
  • 1
Поиск:

 
Ваш логин: Ваш пароль: