С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.75/51: Рейтинг темы: голосов - 51, средняя оценка - 4.75
149 / 139 / 57
Регистрация: 05.06.2009
Сообщений: 310

Автоматический перевод с английского языка

15.07.2009, 18:04. Показов 9917. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые, подскажите, пожалуйста, каким способом возможно решить данную задачу.
Дан текстовый файл содержащий слова на английском языке.
Содержание данного файла("слова.doc"):
gagging
whip
peasant
scramble
grease
panties
crawl
swipe
слова записанны в столбик.
Дан еще один текстовый файл.
Содержание данного файла("словарь.doc"):
gagging выпрямление
whip сечь, хлестать
peasant крестьянин, сельский житель
scramble пробираться; протискиваться с трудом, карабкаться
grease топлёное сало; жир
panties трусики, шорты
crawl ползать, медленно, с трудом продвигаться
swipe сильный удар
содержит перевод слов или просто словарь английского языка.
Вопрос: Каким образом можно сделать так, чтобы при наведение курсора мышки на английское слово из файла "слова.doc" у меня появлялось небольшое окошко с переводом этого слова из файла "словарь.doc"? Суть в том, как сделать программно,чтобы перевод появлялся при наведение курсора на английское слово.
Жду предложений или ссылок на нужную мне информацию.
Заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.07.2009, 18:04
Ответы с готовыми решениями:

Автоматический перевод плагинов с английского на русский
Всем привет! Каким образом можно перевести плагины с английского на русский язык автоматически?) Спасибо.

Перевод задачи с английского языка
Прошу помощи при переводе задачи по прологу. Почему здесь? Смысл я понял, а при художественном переводе что-то "проложное" может...

Точный перевод одного предложения с английского языка
1 - containing information about single carriageway roads in the area 2 - dual\3 containing information dual carriageway roads in the...

35
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
15.07.2009, 18:12
Начнём с того как вы делаете наведение курсора, просто есть мысль держать строки в массиве (их всего на экране помещается не так уж то и много), но это догадки, начнём с того как Вы делаете курсор в программе.
0
149 / 139 / 57
Регистрация: 05.06.2009
Сообщений: 310
15.07.2009, 18:29  [ТС]
lexus_ilia,знаете как работает словарь ABBYY Lingvo 12, в ней есть функция, при наведении курсора мышки на слово появляется его перевод. Надеюсь Вы меня поняли, что курсор я не делаю, он уже есть стандартный или так невозможно сделать?

Добавлено через 4 минуты 26 секунд
и еще дополнение, я привел лишь небольшой отрывок, файл "словарь.doc" может содержать несколько тысяч или возможно более 10.000 слов.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
15.07.2009, 18:34
А для чего курсор, это же сложно в Паскале. Обычно в словарях нужное слово просто вводят, а программа из файла выдает перевод и прочее. Это просто сделать. А если так, то лучше в Делфи делать.
0
149 / 139 / 57
Регистрация: 05.06.2009
Сообщений: 310
15.07.2009, 18:39  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Обычно в словарях нужное слово просто вводят, а программа из файла выдает перевод и прочее. Это просто сделать.
Да, это я понимаю, как сделать.

Цитата Сообщение от Puporev Посмотреть сообщение
А для чего курсор, это же сложно в Паскале.
С курсором быстрее(мне так кажется), навел на слово и получил перевод и никаких лишних движений и следущее, мне интересно, как это можно сделать, если это возможно.

В Делфи я не умею программировать.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
15.07.2009, 18:43
В Делфи есть процедура MouseMove и не надо ничего изобретать, а в текстовом режиме Паскаля делать курсор, управляемый мышкой лично я не видел. Это надо искать где-то готовый модуль.
1
149 / 139 / 57
Регистрация: 05.06.2009
Сообщений: 310
15.07.2009, 18:49  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
В Делфи есть процедура MouseMove и не надо ничего изобретать...
Вот только для меня это небольшая проблема. Я совершенно не умею программировать в Делфи.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
15.07.2009, 18:57
А если все же отказаться от мыши и выделять слова обычно, стрелками вверх и вниз, как на меню? Выводить список слов из файла порциями по 20 штук з задержкой, искать глазами нужное слово, наводить на него стрелками курсор, и выполнять действие.

Добавлено через 1 минуту 9 секунд
Недостаток в том что если пропустил больше 20, то назад не вернуться.
0
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,893
15.07.2009, 19:07
У меня есть библиотека для мышки, там есть пример использования, но Puporev прав - в Delphi будет проще реализовать данный проект.

Delphi не такая сложная IDE, особенно, когда умеешь уже на чем-нибудь программировать.

Могу даже помочь, в порировании исходников
Вложения
Тип файла: zip MOUSLIB8.zip (20.3 Кб, 24 просмотров)
0
149 / 139 / 57
Регистрация: 05.06.2009
Сообщений: 310
15.07.2009, 19:11  [ТС]
Моя ошибка, я плохо объяснил задание.
Выше я приводил в пример программу ABBYY Lingvo 12, я хочу понять, как можно так сделать в Паскале. Попробую описать понятнее. Мы имеет документ текстовый с неизвестными нам английскими словами(эти слова мы записали туда во время чтения книги на английском языке), открываем данный документ, наводим на английское слово курсор и получаем в отдельном окошке данное слово и его перевод, а перевод ищит наша программа, в файле под названием словарь.doc и выводит его в отдельном окошке.

Это написанно для Puporevа.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
15.07.2009, 19:23
Да понял я задание, просто в Делфи это проще, да и интерфейс намного приятнее.
0
149 / 139 / 57
Регистрация: 05.06.2009
Сообщений: 310
15.07.2009, 19:28  [ТС]
xitNightMare, спасибо за архив, но библиотеки для работы с мышью в текстовом и графическом режимах я нашел.
0
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
16.07.2009, 00:22
EvgeniiSp я предлагаю когда есть текст сделать возможности просмотра всего текста (движение текста стрелочками вверх вниз) и + сделать также как сделано в нашем с вами Хелпере по Турбо паскалю, вводишь букву, он отфильтровывает слова и переводит на первое с таким значением.

Добавлено через 3 минуты 24 секунды
Я готов поучавстовать в реализации, задумка мне понравилась.
0
149 / 139 / 57
Регистрация: 05.06.2009
Сообщений: 310
16.07.2009, 09:12  [ТС]
lexus_ilia, буду рад помощь, а насчет реализации задумки я настаиваю решить задачу в том виде в котором она была поставлена первоначально. Возможно я покажусь упертым глупцом, но мне не нужно решить задачу перевода любым удобным способом, мне ее нужно решить ИМЕННО ТАК, как я ее задумал.

Добавлено через 9 минут 5 секунд
Я вчера поискал в инете и вот что нашел http://www.borlpasc.narod.ru/Boris/mouse_01.htm, я в правильном направлении двигаюсь? сам проверить действие программ не написаных в первом и втором листингах не смог. В первой программе у меня выдает ошибку нехватка памяти, а во второй выдает ошибку, что идентификатор не находит "mem" и "SegB800". Компилятор у меня Free Pascal.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
16.07.2009, 10:18
В Турбо Паскале оба кода работают нормально. Переходите на Турбо Паскаль. В Free посмотрел, там вроде есть встроенный модуль мыши, только не понял в каком режиме, у меня этот компилятор какой-то глючный.
0
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
16.07.2009, 15:54
Ну так впринципе всё олсталось дело за малым, полчаем символ на котором нажата была клавиша, идём в две стороны по оси Х считываем символы (проходим до появления ненужных символов) получаем наше слово, делаем поиск по текстовому файлу, если есть такое слово, то запоминаем участок на пару строках ниже, вырисовываем под курсором прямоугольник (ширина зависит от длинны символов в слове-переводе) в прямоугольник вписываем перевод (теперь осталось решить как будем проверять изменения курсора, можно по движению проводить операцию по восстановлению текста, короче как решим) и впрнципе всё, задание решено.
0
149 / 139 / 57
Регистрация: 05.06.2009
Сообщений: 310
16.07.2009, 15:55  [ТС]
lexus_ilia, я в принципе так и делаю.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
16.07.2009, 16:05
(теперь осталось решить как будем проверять изменения курсора,
WhereX, WhereY. координаты курсора.
0
149 / 139 / 57
Регистрация: 05.06.2009
Сообщений: 310
16.07.2009, 19:34  [ТС]
С помощью этой программы возможно производить перевод только тех английских слов, которые находятся в окне программы. Подскажите, каким образом можно переводить слова из обычного открытого текстового файла?
Жду предложений.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
program Translator;
uses DOS, CRT;
var
 f: text;
 ch: char;
 r: registers;
 word_eng: string;
//--------------------------------
 procedure InitMouse;
  begin
   r.ax:=0;
   intr($33,r);
   if r.ax <> $FFFF
    then
     begin
      writeln('The mouse did not find.');
      Halt(1);
     end;
   writeln('The mouse found.');
   r.ax:=1;
   intr($33,r);
  end;
//--------------------------------
 procedure AssignDictionary;
  begin
   Assign(f,'D:\Turbo Pascal 7.1\tp7\slovar.doc');
  end;
//--------------------------------
 procedure SetExampleString;
  begin
   writeln('wrestler thrift plaid rap.');
  end;
//--------------------------------
 procedure GetWordEng;
  var
   x,y: word;
   symb: char;
   marks_punct: set of char;
  begin
   r.ax:=3;
   intr($33,r);
   word_eng:='';
   marks_punct:=[' ',',','.','!','?','-','(',')'];
   if r.bx and 1 <> 0 then
    begin
     x:=r.cx div 8;
     y:=r.cx div 8;
     r.ax:=2;
     intr($33,r);
     symb:='1';
     while not (symb in marks_punct) do
      begin
       Dec(x);
       symb:=chr(Mem[SegB800:y*160+x*2]);
      end;
 
     Inc(x);
     symb:='1';
     while not (symb in marks_punct) do
      begin
       symb:=chr(Mem[SegB800:y*160+x*2]);
       word_eng:=word_eng+symb;
       Inc(x);
      end;
    end;
  end;
//--------------------------------
 procedure SearchTranslation;
  var
   i: byte;
   symb: char;
   flag: boolean;
   word,str: string;
  begin
   Reset(f);
   flag:=false;
   while not Eof(f) do
    begin
     i:=0;
     word:='';
     readln(f,str);
     while str[i] <> ' ' do
      begin
       word:=word+str[i];
       Inc(i);
      end;
     if word = word_eng
      then
       begin
        writeln(str);
        flag:=true;
        Close(f);
        Break;
       end;
    end;
   if flag = false
    then
     begin
      Close(f);
      writeln('The word did not find in the dictionary.');
     end;
  end;
 
begin
 ClrScr;
 InitMouse;
 SetExampleString;
 AssignDictionary;
 writeln('Press <Esc> to exit.');
 repeat
  GetWordEng;
  SearchTranslation;
  writeln('Please, press <Enter> to continue.');
  ch:=ReadKey;
 until ch = #27;
end.
Почему в данной программе возникает ошибка "Путь не найден."? Никак не пойму..
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
16.07.2009, 20:27
Почему в данной программе возникает ошибка "Путь не найден."?
Значит либо нет этого файла в данной директории, либо имя файла другое.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.07.2009, 20:27
Помогаю со студенческими работами здесь

Автоматический перевод с одного языка на другой
Возможно ли при переходе с одного сайта на другой переводить выделенное? Необходимо с русского/английского на испанский осуществлять...

Тренажёр английского языка
Здравствуйте. С помощью этой программы пользователь может создать свой словарь английских слов и проверить свои знания. Нужна помощь: в...

Изучение английского языка
Здравствуйте! По-тихоньку изучаю С++ и насколько я знаю, нужен будет англ. язык, допустим, если буду работать в данной сфере, да и так не...

Времена глаголов английского языка
According to the manner in which they occur, error may be classed into systematic and random. Как определить время выделенного глагола?

Дешифратор с английского языка на русский
Помогите с написанием программы. Нужен дешифратор. Есть 3 textbox и 2 button. В первый textbox1 вводим текст на русском, по клику...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru