Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.31;
Скачать: CL | DM;

Вниз

Как встроить в свою програму переводчик Pragma   Найти похожие ветки 

 
integeri   (2006-11-10 10:31) [0]

Есть хороший переводчик Pragma , но нужно перевод делать через свою програму, тоесть єсть база даних, пользователь вносить текст, и моя програма в одну ячейку вставляеть текст как есть и сразу делает перевод во вторую ячейку. Может ктото  сталкивался с такой задачкой!!!


 
Орион ©   (2006-11-10 10:35) [1]

> [0] integeri   (10.11.06 10:31)

Есть ли на сайте производителя переводчика API к нему?
Может ли выступать переводчик в роли ActiveX объекта?
Есть ли консольная версия переводчика?


 
integeri   (2006-11-10 10:42) [2]


> Орион ©   (10.11.06 10:35) [1]

Вот именно на сайте никакой информации нет.

> Есть ли консольная версия переводчика?
-наверное нет

> Может ли выступать переводчик в роли ActiveX объекта?
 - установил програму , и прошолся по всех ActiveX которие установление , кажися нет там новых


 
Орион ©   (2006-11-10 10:44) [3]

> [2] integeri   (10.11.06 10:42)

тогда скорей всего никак :(


 
ЮЮ ©   (2006-11-10 10:44) [4]


> Может ктото  сталкивался с такой задачкой!!!


В базу данных - автоматический перевод? Ты наверное - первый. Переводом, да ещё хранящимся в БД, должны заниматься профессиональные переводчики.
З.Ы. А они тем временем проги в Дельфи клепают :)


 
integeri   (2006-11-10 10:45) [5]

знаю што програма добавляет свою менюшку в програмы:IE,notepad,MS Word


 
integeri   (2006-11-10 10:46) [6]


> ЮЮ ©   (10.11.06 10:44) [4]
например какие
> профессиональные переводчики


 
Elen ©   (2006-11-10 10:49) [7]


> integeri

Я делаю так : У меня Прагма 4 - Программно запускаю pragma.exe он свою иконку запуздыриват в часики. Далее в своей проге выделяю нужный для перевода текст и программно кликаю по запуздыренной иконке (можно и по другому конечно). В прагме предварительно выставляю настройки - сразу брать выделенный текст, сразу переводить и сразу копировать в буфер обмена. Далее закрываю прагму и беру текст из буфера. Трудность только в определении закончила ли прагма переводить, это сами...


 
integeri   (2006-11-10 10:50) [8]

От нашол код
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*   Trident Software, trident@kagi.com, original author
*/

var pragmgr = Components.classes["@trident.com.ua/pragma;1"].getService();
pragmgr = pragmgr.QueryInterface(Components.interfaces.ipPragma);

function toTranslate()
{
   var doc = document.commandDispatcher.focusedWindow.content.document;
   var pframes = document.commandDispatcher.focusedWindow.content.frames;

//    alert ("this object is:   " + pframes);
   var count = pframes.length;
//    alert ("frames count =   " + count);

   if ( count > 0 ) {
       for (var i=0; i<count; i++) {
//            alert (pframes.frames[i].document);
//            alert (pframes.frames[i].document.body.innerHTML);

           pragmgr.TranWindow(pframes.frames[i].document.body.innerHTML);
           pframes.frames[i].document.body.innerHTML = pragmgr.TranHtml;
       }
   } else {
       pragmgr.TranWindow(doc.body.innerHTML);
       doc.body.innerHTML = pragmgr.TranHtml;
   }
}

function toOptions()
{
   pragmgr.Options();
}

function toAbout()
{
   pragmgr.About();
}


 
Ketmar ©   (2006-11-10 11:00) [9]

>[7] Elen(c) 10-Nov-2006, 10:49
>Трудность только в определении закончила
>ли прагма переводить, это сами...
да? только в этом? поделись эксклюзивным универсальным методом определения координат любой иконки в области уведомлений, а? можешь даже статью написать. прославишься. без дураков прославишься.


 
integeri   (2006-11-10 11:10) [10]

код вище для интеграции в мозилу


 
Elen ©   (2006-11-10 11:35) [11]


> Ketmar

Так, Пардон, Немного не так было 8)
Запускался PragmaBar и висел на экране. Далее EnumchildWindow в этом баре находилась кнопка от блокнота. по ней давался клик WM_LBUTTONDOWN, далее запускался блокнот и там уже манипуляциями с менюшкой проводился перевод. Знаю это не совсем правильно так делать, но нужно было чето быстро решать - решили так...


 
Ketmar ©   (2006-11-10 11:45) [12]

>[11] Elen(c) 10-Nov-2006, 11:35
>Так, Пардон, Немного не так было 8)
понял. вопрос снят. %-)


 
integeri   (2006-11-10 11:53) [13]


> Elen ©   (10.11.06 11:35) [11]

можна кусочек кода


 
Elen ©   (2006-11-10 12:17) [14]


> integeri

Можна : Запуск блокнота с прагмой в миню :
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   ListBox1: TListBox;
   procedure Button1Click(Sender: TObject);
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public  ChildElements:string;
   { Public declarations }
 end;
  function enumChildWindow_Crtfox_Enum(h:THandle;l:integer):boolean; stdcall;

var         win:hwnd;
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin

end;

//********** FUNCTION **********
function enumChildWindow_Crtfox_Enum;
begin
form1.ChildElements:=form1.ChildElements+inttostr(h)+" ";
result:=true;
end;
//********** END FUNCTION ******

procedure TForm1.FormCreate(Sender: TObject);
var w:hwnd; s:string;
begin
w:=FindWindow("PragmaBarClass","");
EnumchildWindows(w,@enumChildWindow_Crtfox_Enum,0);
ListBox1.Items.CommaText :=ChildElements;

w:=strtoint(ListBox1.Items[2]);
  SendMessage(w, WM_LBUTTONDOWN,MK_LBUTTON,5);
  SendMessage(w, WM_LBUTTONUP,MK_LBUTTON,5);
  {}
w:=FindWindow("Notepad","&#193;&#229;&#231;&#251;&#236;&#255;&#237;&#237;&#251;& #233; - &#193;&#235;&#238;&#234;&#237;&#238;&#242;");
w:=FindWindowEx(w,0,"Edit","");

end;

end.


 
Elen ©   (2006-11-10 12:19) [15]


> integeri

Дальше на твое усмотрение открывать файл или вставлять из клипбоарда


 
integeri   (2006-11-10 12:41) [16]

я запустил но чото мне в ListBox1 загнало какието циферки, чо с ними то делать


 
Elen ©   (2006-11-10 12:46) [17]


> integeri

Тем примером Я тебе наводку даю как можно сделать.
w:=strtoint(ListBox1.Items[2]);
 SendMessage(w, WM_LBUTTONDOWN,MK_LBUTTON,5);
 SendMessage(w, WM_LBUTTONUP,MK_LBUTTON,5);

Цыферки те - хендели. второй хендель это копка нотепада, а этот код должен ей послать клик


 
Anatoly Podgoretsky ©   (2006-11-10 13:10) [18]

> integeri  (10.11.2006 10:31:00)  [0]

К авторам обращались (обращался)?


 
Anatoly Podgoretsky ©   (2006-11-10 13:11) [19]

> Орион  (10.11.2006 10:44:03)  [3]

Почему, что все пути проверены, включая покупку фирты изготовителя?


 
Anatoly Podgoretsky ©   (2006-11-10 13:12) [20]

> integeri  (10.11.2006 10:45:05)  [5]

Значит возможно и здесь сильно пахнет СОМ.
Надо обращаться к авторам.


 
Anatoly Podgoretsky ©   (2006-11-10 13:13) [21]

> integeri  (10.11.2006 10:50:08)  [8]

Вот это видишь

> Copyright (C) 1998 Netscape Communications Corporation. All Rights Reserved.


 
Орион ©   (2006-11-10 14:26) [22]

> [19] Anatoly Podgoretsky ©   (10.11.06 13:11)

Все прямые пути прорверены. Дальше - извращения :)


 
integeri   (2006-11-13 10:25) [23]

Автор сказал што ито будет стоить, но несказал сколько , жду ответ на сколько потянит???


 
Anatoly Podgoretsky ©   (2006-11-13 10:35) [24]

> integeri  (13.11.2006 10:25:23)  [23]

Если у него массовое распространение, то вряд ли свыше 200 зеленых, или может зависить от количество экземпляров программы.


 
Наиль ©   (2006-11-13 16:10) [25]

> Значит возможно и здесь сильно пахнет СОМ.

Судя по Notepad, COM"ом здесь и не пахнет.
Просто программа избирательно втыкает свой пункт в чужое меню.
А вот для получения текста из IE и Word, Pragma вполне может воспользоваться предоставленым COM"ом.



Страницы: 1 вся ветка

Текущий архив: 2006.12.31;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.045 c
15-1165413940
Иксик
2006-12-06 17:05
2006.12.31
Посоветуйте принтер/сканнер/копир 3 в 1


15-1165593519
wl
2006-12-08 18:58
2006.12.31
вот, ищу работу програмистом. в москве...


2-1165837189
YuMB
2006-12-11 14:39
2006.12.31
Как программно выключить компьютер?


3-1161186750
Shopot
2006-10-18 19:52
2006.12.31
InterBase. Не могу найти WISQL!!!


4-1155900236
Rentgen
2006-08-18 15:23
2006.12.31
как работать с реестром(ТРегистри) под другими правами?