![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
Н |
![]()
Сообщение
#21
|
Гость ![]() |
Вот я исправил, на мемо больше не ругается, но когда нажимаю перевод, вылетает сообщение об ошибке:
"Project Projectl.exe raised exception class EAccessViolation with message 'Access violation at address 00414988 in module 'Projectl.exe'. Read of address 00000004' Process stopped. Use Step or Run to continue." "Access violation at address 00414988 in module 'Project1.exe'. Read of address 00000004." И в итоге ни чего не переводит ![]()
|
Н |
![]()
Сообщение
#22
|
Гость ![]() |
забыл добавить, что показывает при это на вот эту строку:
if next_word_rus='' then next_word_rus:=next_word; |
hiv |
![]()
Сообщение
#23
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Переменную ER :TStrings; нужно объявить как public в объекте TForm1, для того чтобы можно было к ней обращаться из разных процедур и функций твоей формы. А у тебя она объявлена дважды в разных процедурах - это тогда две разные переменные. Одну из них ты создал и выделил под нее память, а другую нет - но при этом от нее чего-то хочешь получить - вот тебе и ошибка! :yes:
А вообще-то ради двух строчек кода городить дополнительную процедуру (replace_word) не имеет смысла. -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
Н |
![]()
Сообщение
#24
|
Гость ![]() |
Спасибо, теперь ошибки не выдает :D
![]() Но перевод выводит как то непонятно: каждое слово и знак препинания в новой строке: Англ текст Цитата Hello, world! Перевод Цитата привет , мир ! Может это я вывод в мемо не правельно сделал? |
hiv |
![]()
Сообщение
#25
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
У тебя в коде:
Memo2.Lines.Add(s[i]);эта процедура как раз и добавляет новую строку с содержимым s[i] Тебе нужно вначале перевести всю строку, а только потом записывать ее в Memo2. ЗЫ: Только писать нужно Memo2.Lines.Add(s); т.к. s[i] - это всего-то i-тый символ в строке. Сообщение отредактировано: hiv - 6.09.2005 14:35 -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
Н |
![]()
Сообщение
#26
|
Гость ![]() |
Вот делал вывод в мемо так:
но выводится какая то чуш: Цитата Hello, world!!! перевод Цитата привет,привет мир!мир!мир! Как еще можно сделать вывод в мемо? |
volvo |
![]()
Сообщение
#27
|
Гость ![]() |
У меня вот так работает:
function TForm1.replace_word (var ER: tstrings; next_word: string): string; |
hiv |
![]()
Сообщение
#28
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Цитата но выводится какая то чуш: Как запрограммировал - так и выводит! Вот так надо: procedure TForm1.Button1Click(Sender: TObject); Сообщение отредактировано: hiv - 7.09.2005 8:41 -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
Н |
![]()
Сообщение
#29
|
Гость ![]() |
Как же я сам то не додумался ..... :D
hiv, volvo Огромное спасибо.... Очень выручили. |
![]() ![]() |
![]() |
Текстовая версия | 8.07.2025 19:48 |