Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.11.2006, 23:09
Andrew_J вне форума Посмотреть профиль Отправить личное сообщение для Andrew_J Найти все сообщения от Andrew_J
  № 1  
Ответить с цитированием
Andrew_J

Регистрация: Aug 2004
Сообщений: 110
Отправить сообщение для Andrew_J с помощью ICQ
Question Проверка на грамотность

Есть предложение, состоящее из слов, абсолютно любое предложение.
Надо сделать так, чтобы показалось это предложение с пропущенным определенным словом, и чтобы пользователь мог взть кликнуть на пропущенном слове и ввести туда слово, которое как он считает там должно быть, затем по нажатию на Enter должна всплыть окошко сообщающее правильно ли он ввел или нет.

Каким способом это можно сделать?

Пример: "Оператор delete уничтожает объектную ссылку указанную параметром reference и возвращает true если ссылка успешно удалена."

Должно отобразиться:
"Оператор ... уничтожает объектную ссылку указанную параметром reference и возвращает true если ссылка успешно удалена."

И надо дать возможность ввести слово на место ...

Причем надо, чтобы код работал для любых предложений и пропущенных слов. Т.е. есть исходное предложение и пропущенное слово, а дальше дело прогаи.

Старый 13.11.2006, 06:08
mr.N вне форума Посмотреть профиль Отправить личное сообщение для mr.N Найти все сообщения от mr.N
  № 2  
Ответить с цитированием
mr.N
 
Аватар для mr.N

Регистрация: Sep 2005
Адрес: SPb
Сообщений: 852
Я думаю здесь поможет самое простое определение "слова".
Слово - это текст между двумя пробелами, так что и отталкивайся от этого определения, единственное за что здесь можно зацепиться, так это за пробелы. Нужно парсить всё предложение, и определять сколько в нём пробелов, затем записывать в массив данные, какие по счёту пробелы ограничивают слова, а дальше дело техники.
Было бы время, написал, честное слово, но на это нужно достаточно времени..

Старый 13.11.2006, 11:23
Double вне форума Посмотреть профиль Отправить личное сообщение для Double Найти все сообщения от Double
  № 3  
Ответить с цитированием
Double
 
Аватар для Double

Регистрация: Mar 2001
Сообщений: 1,147
только не надо всё усложнять для начала надо определиться, откуда берутся данные (предложения). затем имеет смысл продумать формат этих данных. я бы сделал примерно такой:
Оператор delete уничожает трам-пам-пам|1
Модератор testin' пиво и возвращает true на запрос пользователя|2
Т.е. сначала предложение, а затем номер слова, которое должны пропускать. Загрузил бы этот txt и воспользовался String.split сначала по "/r/n" (чтобы разбить на отдельные вопросы), затем по "|", ну а предложение естественно по " ". Ну и показывал бы вопросы, состоящие из динамических текстовых полей, одно из которых есть input. При нажатии на кнопочку "проверка" сверял бы с "эталоном" (все слова-то в массиве, номер "неизвестного" известен ).
__________________
Кто говорит, тот не знает. Кто знает, тот не говорит.

Старый 13.11.2006, 11:30
AlexSol вне форума Посмотреть профиль Отправить личное сообщение для AlexSol Найти все сообщения от AlexSol
  № 4  
Ответить с цитированием
AlexSol

Регистрация: Dec 2005
Сообщений: 316
у меня есть похожий проект.
http://puzzlepak.com/cp/scripts/new/show.php?id=64
за небольшую сумму его можно адаптировать под ваши требования.
если интересно, пишите на email (в профиле)


Последний раз редактировалось AlexSol; 13.11.2006 в 11:42.
Старый 13.11.2006, 13:37
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ммм, почему бы не заюзать asfunction? Только, придётся показывать окошко для ввода слова…

Старый 13.11.2006, 20:06
Andrew_J вне форума Посмотреть профиль Отправить личное сообщение для Andrew_J Найти все сообщения от Andrew_J
  № 6  
Ответить с цитированием
Andrew_J

Регистрация: Aug 2004
Сообщений: 110
Отправить сообщение для Andrew_J с помощью ICQ
Я дошел до того, что у меня есть массив левых частей предложения, массив пропущенных слов и массив правых частей предложения.
Пр: "Мама "+"мыла"+" раму."
Теперь надо вывести это предложение так чтобы вместо пропущенной части была строка для ввода. И вот с этим пока проблема, может надо разбить предложения на буквы и выводить по одной, если буква не влезает, то переход на новую строку, если доходим до пропущенного слова, то вставляем пустой TEXTFIELD. Но думается это очень сложновато.

Цитата:
Сообщение от __etc
Ммм, почему бы не заюзать asfunction? Только, придётся показывать окошко для ввода слова…
Тоже вариант, и может самый простой, однако хотелось бы без окошек, а вводить слово непосредственно в предложение.

2AlexSol спасибо, но хочется самому разобраться.

Старый 13.11.2006, 21:44
AlexSol вне форума Посмотреть профиль Отправить личное сообщение для AlexSol Найти все сообщения от AlexSol
  № 7  
Ответить с цитированием
AlexSol

Регистрация: Dec 2005
Сообщений: 316
я бы выложил исходник, тока он писался "для себя", тоесть ничего в нем не понять... (а за небольшую сумму я бы его привел в порядок) ну да ладно...

условия: используется "Courier New" - чтобы зная ширину буквы рассчитать необходимые места переносов на новую строку, и потом определить координаты точек для текстовых полей; если идет два одинаковых слова, то прячется только первое.
1. слова храняться в массиве
2. слова находяться и заменяются некой условленной последовательностью (слово_один #1######## слово2 #2####) - количество символов в слове == количество символов в последовательности
3. разбиваем впедложение на слова и составляем новые строки.
4. ищем последовательности #1######## ... #2#### и рисуем на их месте текстовые поля.

Старый 14.11.2006, 09:37
Double вне форума Посмотреть профиль Отправить личное сообщение для Double Найти все сообщения от Double
  № 8  
Ответить с цитированием
Double
 
Аватар для Double

Регистрация: Mar 2001
Сообщений: 1,147
да ну вас, ребята. работы на 5 минут. исходник "причёсывать" лень, но основная мысль д.б. понятна.
Вложения
Тип файла: rar exmpl.rar (5.8 Кб, 115 просмотров)
__________________
Кто говорит, тот не знает. Кто знает, тот не говорит.

Старый 14.11.2006, 10:55
AlexSol вне форума Посмотреть профиль Отправить личное сообщение для AlexSol Найти все сообщения от AlexSol
  № 9  
Ответить с цитированием
AlexSol

Регистрация: Dec 2005
Сообщений: 316
вы сильно упростили задачу. попробуйте изменить так, чтобы отображалось несколько строк текста и заранее не было известно в какой строке расположено слово,которе нужно прятать.

Старый 14.11.2006, 11:17
Double вне форума Посмотреть профиль Отправить личное сообщение для Double Найти все сообщения от Double
  № 10  
Ответить с цитированием
Double
 
Аватар для Double

Регистрация: Mar 2001
Сообщений: 1,147
украшательств можно придумать массу. именно это реализовать - ещё 5 минут работы. На каждое слово из массива аттачить новый TextField и "приклеивать" его к предыдущему. Если правая сторона очередного TextField-а "вылезает" за допустимую границу, то позиционировать его по иксу к левой границе, по игреку - под предыдущим tf. Вместо искомого слова ставить input. В чём проблема-то? Зачем надо курьер жёстко ставить и буквы считать. К чему лишние проблемы?
Я бы вообще заменил искомое слово на "???" и ниже вопроса оставил поле для ввода ответа. Тут функционал важен, а не великолепие.
__________________
Кто говорит, тот не знает. Кто знает, тот не говорит.

Создать новую тему Ответ Часовой пояс GMT +4, время: 09:41.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 09:41.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.