Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Он-лайн перевод своей прогой, нужен совет 
:(
    Опции темы
timself
Дата 21.8.2009, 15:48 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Господа, вопрос следующий:
Моя прога шлет он-лайн переводчику текст в форме URL через shellExecute()
http://translate.google.ru/translate_t?text=#en|ru|text
Браузер открывает страницу с переводом. Но это не совсем то,  что мне нужно.
Вопрос: как отослать серверу текст и вернуть назад перевод средствами только своей программы?

ЗЫ: можт существуют какие компоненты, примеры, исходники на этот счет..?
PM MAIL   Вверх
CodeMonkey
Дата 21.8.2009, 16:32 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: нет
Всего: 89





--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Artemon
Дата 21.8.2009, 16:43 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: нет
Всего: 20



Для Delphi, сам Бог велел использовать Indy


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
Frees
Дата 21.8.2009, 18:28 (ссылка) |   (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: нет
Всего: 54



OFF
timself,  а тебе гугл дал разрешения использовать в своей программе его переводчик... ?


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
kami
Дата 21.8.2009, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 6
Всего: 72



Цитата(Frees @  21.8.2009,  18:28 Найти цитируемый пост)
OFF

имхо, это не офф.
А по сабжу - Indy, ICS (документации с примерами использования море).

Это сообщение отредактировал(а) kami - 21.8.2009, 22:02
PM MAIL WWW   Вверх
timself
Дата 22.8.2009, 01:21 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Идею я понял, буду пытаться заюзить idHTTP.

OFF
...какие разрешения еще от гугла...? ...что за ересь ешшо...? (насмешили, спсб)
PM MAIL   Вверх
Rohoss
Дата 22.8.2009, 11:39 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: нет
Всего: 18



Цитата(timself @  22.8.2009,  01:21 Найти цитируемый пост)
...какие разрешения еще от гугла...? ...что за ересь ешшо...? (насмешили, спсб)

А то, что он твою программу забанит и будь здоров!


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
mr_smit
  Дата 22.8.2009, 21:38 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 27.2.2008
Где: Самара

Репутация: 3
Всего: 4



Если напечатать слово translate и нажать перевод, то мы получим страницу с переводом в исходном коде которой можно найти: <div id=result_box dir="ltr">переводить</div>. Т.е. берем функции Pos() и PosEx() и вперед.

Код

procedure TForm1.Button1Click(Sender: TObject);
var txt, translate        :string;
    BlockStart, BlockEnd  :integer;
begin
txt:=Memo1.text;
while Pos(' ', txt) > 0 do
 begin
 txt[Pos(' ', txt)] := '+';
 end;
translate:=IdHTTP1.Get('http://translate.google.ru/translate_t?prev=hp&hl=ru&js=y&text='+txt+'&file=&sl=en&tl=ru&history_state0=');
BlockStart:=Pos('id=result_box dir="ltr">',LowerCase(translate));
if BlockStart > 0 then
  begin
    BlockEnd:=PosEx('</div>',LowerCase(translate),BlockStart);
  end;
memo2.text:=copy(translate,BlockStart+length('id=result_box dir="ltr">'),BlockEnd-BlockStart-length('id=result_box dir="ltr">'));
end;


P.S. Пробелы перед отправкой заменяем на "+".

Присоединённый файл ( Кол-во скачиваний: 21 )
Присоединённый файл  Google_Translate.rar 3,01 Kb
PM MAIL   Вверх
timself
  Дата 23.8.2009, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



О, спасибо тебе, мистер Смит, забрал твой аттач с примером, пошел пробовать и разбираться !!! 
PM MAIL   Вверх
kami
Дата 23.8.2009, 16:54 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 6
Всего: 72



Цитата(timself @  22.8.2009,  01:21 Найти цитируемый пост)
...какие разрешения еще от гугла...? ...что за ересь ешшо...? (насмешили, спсб)

А мне было бы не смешно.
пункт 5.3 и 5.5. Может и дальше. На сколько я понимаю, доступ к использованию Услуги Google " Переводчик" не было прямо (да и косвенно тоже) предоставлено тебе. выводы делай сам.
PM MAIL WWW   Вверх
mr_smit
Дата 23.8.2009, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 27.2.2008
Где: Самара

Репутация: 3
Всего: 4



Я просто представил пример для ознакомления. Как это можно сделать. Это не значит что его надо использовать в своих программах.
PM MAIL   Вверх
timself
Дата 24.8.2009, 11:28 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Я программу пишу исключительно для себя, а не на продажу, и меня мало волнуют все эти односторонние договоры от гугла... они могут там хоть стихи написать...
PM MAIL   Вверх
Razzor
Дата 26.8.2009, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 5.7.2009

Репутация: нет
Всего: нет



Побывал на Делфи9 приходят крякозяблики, и то переводит только одно слово, остальные на англ и отдает. Интересно было бы увидеть у кого что получилось)
PM MAIL   Вверх
Romikgy
Дата 26.8.2009, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Razzor, юникодные строки батенька  smile 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1365 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.