IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Подключение мыши, (программа Кроссворд)
сообщение
Сообщение #1


Гость






скачала несколько юнитов для работы с мышью, но при запуске программы требует файл типа TPU , а все юниты просто с расширение PAS. что в этих ситуациях обычно делают?
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 206
Пол: Мужской

Репутация: -  3  +


if horizontal then
begin
okgor:=true;
i:=0;
while okgor and ( i <len) do
begin
if (bukv[x,y+i]=' ') then
begin
okgor:=true;
ok:=true;
inc(i);
end
else if (bukv[x,y+i]<>s[i])
then
begin
okgor:=false
end
else inc(i);
end;
В этом фрагменте
          if (bukv[x,y+i]=' ') then
begin
okgor:=true; { ВОТ ЭТО ЛИШНЕЕ }
ok:=true;
inc(i);
end
Лишнее, потому что okgor перед входом в цикл уже true, а как только оно станет не трю, цикл завершается, поэтому внутри цикла делать его трю не имеет смысла.
По поводу репитов-антилов Вы разобрались? Как только Вы заполнили сетку и нажали клавишу, автоматически выполняется проверка, и если все ОК, тогда с:=5, и тут же происходит выход из всех циклов и завершение программы. Так и должно быть по Вашей программе.
Я посмотрел выложенный код... если Вы не против, я бы немного изменил подход к работе с мышью. Если Вам интересно, я выложу подправленный вариант. В текущем варианте мне не всегда удавалось сбросить помеченную клетку.
По поводу рекурсии... можно ли оформить поиск слова в словаре и проверку по гнезду в отдельные функции такого вида:
function NewWord(dlina: integer): string;
begin
{возвращает слово заданной длины.
при этом надо как-то учитывать те слова,
что уже были выбраны ранее.}
end;

function GoodWord(s: string; i: integer): boolean;
begin
{возвращает true, если слово, заданное строкой s,
можно вписать в гнездо с номером i}
end;

Тогда рекурсивная функция могла бы выглядеть как-то так:
function CheckNext(i: integer): boolean;
var s: string;
begin
if i > числа_гнезд then {все гнезда проверены}
begin
CheckNext := true; {шабаш}
exit;
end;

repeat

s := NewWord(Gnezdo[i].len); {выбираем слово из словаря}

if GoodWord(s,i) {слово хорошее}
then
begin
if CheckNext(i+1) then {вызываем рекурсию}
begin
CheckNext := true;
exit;
end;
end;
until больше_нет_слов_такой_длины;

CheckNext := false; {заполнить гнездо так и не удалось}
end;

Сложность будет с проверкой условия больше_нет_слов_такой_длины и организацией работы с функцией NewWord. Добрые у вас преподаватели...

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
-LOVE133-   Подключение мыши   19.04.2006 15:12
volvo   Обычно - просто компилируют PAS файл модуля, и ком…   19.04.2006 15:16
Гость   а еще хотела спросить в вашем юните в МИККИ что об…   19.04.2006 17:43
volvo   Там же написано:   19.04.2006 17:49
LOVE133   пытаюсь реализовать такой алгоритм : 1) есть сетка…   19.04.2006 18:31
Бродяжник   Вот примитивная заготовка, чтобы понять основные м…   19.04.2006 20:40
LOVE133   а нет процедуры. которая определяет, в каком месте…   20.04.2006 1:25
volvo   Чем Procedure GetMouseXY(VAR KoordX,KoordY:Word );…   20.04.2006 1:34
LOVE133   все.... перепутала просто один юнит с другим :) …   20.04.2006 1:38
volvo   Если не хочешь получать после вывода графики и дви…   20.04.2006 1:41
LOVE133   у меня есть сетка (line(x1,y1,x2,y2)) которые деля…   20.04.2006 1:47
volvo   Пишу прямо здесь, так что могут быть мелкие помарк…   20.04.2006 2:07
LOVE133   Немного доработала.Теперь в процессе создаю матри…   21.04.2006 1:35
LOVE133   вчера вечером посидела, вот что получилось proce…   23.04.2006 21:11
volvo   program IncMassive; type setArray = array[1..10,…   23.04.2006 22:36
LOVE133   в данном случае мне нужно, что б он проверил матри…   23.04.2006 22:51
LOVE133   скачала словарь существительных, теперь его пытаюс…   27.04.2006 2:05
Бродяжник   Словарь скачивать пока влом, поэтому маленький воп…   27.04.2006 12:23
LOVE133   да, я его специально переделывала из текстового в …   27.04.2006 16:45
Бродяжник   ладно, уговорили. Скачаю Ваш словарь, отсортирую, …   27.04.2006 16:49
LOVE133   так это и надо было, просто для того чтобы это сде…   27.04.2006 17:04
Бродяжник   Это типа словарь   27.04.2006 17:25
LOVE133   пасибки )) то что нужно и даже больше )) я где-то …   27.04.2006 17:33
Бродяжник   Ох... Это очень сильно зависит от того, какой буде…   27.04.2006 19:20
LOVE133   смысл понятен, только как проверять подходит слов…   3.05.2006 19:47
Бродяжник   Структура самого гнезда очень простая - координаты…   3.05.2006 20:22
LOVE133   Setka[Gnezdo[1].x][Gnezdo[1].y+i] := Slovo[i+1]; …   3.05.2006 20:31
Бродяжник   Slovo - это слово из словаря, которое мы сейчас пр…   3.05.2006 20:39
LOVE133   понятно, теперь сижу втыкаюсь ... вот еще косяк …   3.05.2006 20:47
volvo   Какой именно? У тебя их 3...   3.05.2006 21:00
LOVE133   они по моему все не работают, один общий, то есть …   3.05.2006 21:11
LOVE133   Вот что у меня получилось . структура данных Tg…   4.05.2006 12:45
Бродяжник   if horizontal then begin okgor:=true; …   4.05.2006 14:20
LOVE133   конечно, интересно мне все.С мышью я тоже мучалась…   4.05.2006 19:13
Бродяжник   Я позволил себе 1) сделать так, чтобы клетки меня…   4.05.2006 21:28
LOVE133   циклы должны работать так 1) New- создать новую …   4.05.2006 22:07
LOVE133   Уважаемый Бродяжник , посидели вчера , покумекали,…   5.05.2006 15:09
Бродяжник   Уважаемая Love (можно без 133?), я тем временем не…   5.05.2006 18:37
Бродяжник   Хотя бы в какой-то степени оно работает! (Я со…   5.05.2006 20:03
LOVE133   Вчера посидела с реализацией своей рекурсивной мод…   6.05.2006 11:38
Бродяжник   Когда сдавать-то? :)   6.05.2006 12:06
LOVE133   сдавать демо-версию завтра, а у меня кроме веселог…   6.05.2006 14:37
Бродяжник   Сочувствую... В том файле, который Вы прикрепили п…   6.05.2006 17:30
LOVE133   а так , если пользоваться вашей программой. как е …   6.05.2006 17:33
Бродяжник   ща посмотрим... Правка: Жаль, но чтобы привести эт…   6.05.2006 18:08
LOVE133   завтра как-нибудь еще отверчусь, скажу, что все в …   6.05.2006 18:33
LOVE133   вот... только теперь выясняется, что память в паск…   7.05.2006 18:52
Бродяжник   Привет! В последнем выложенном файле есть как …   10.05.2006 13:41
LOVE133   Доброго времени суток )) все координально передела…   13.05.2006 0:09
Бродяжник   Вот, сыскал в сети... русские фонты для BGI.   15.05.2006 14:57
Бродяжник   И еще есть замечания по рекурсии. Во-первых, что д…   15.05.2006 16:05
LOVE133   после многочисленных тестов пришла к выводу что ре…   15.05.2006 20:24
Бродяжник   Я уже почти заставил его работать, хотя тут, конеч…   16.05.2006 14:14
Бродяжник   Оно работает! Это еще актуально?   16.05.2006 15:17
LOVE133   Конечно актуально ))) допуск до экзамена )) тут не…   16.05.2006 16:45
Бродяжник   Ладно, кладу то, что пока есть. Те несколько кросс…   16.05.2006 17:30
LOVE133   пасибо вам огроменно , не знаю, что б я делала ))…   16.05.2006 17:41
Бродяжник   Хорошо! С интерфейсом Вы справитесь, Вы жутко …   16.05.2006 21:18
LOVE133   Вчера докрутила, перестала мышь работать... не раб…   17.05.2006 19:49
Бродяжник   :unsure: У мя все работает... и причин ему не рабо…   18.05.2006 19:13
LOVE133   надеюсь - это окончательный вариант... Только есть…   19.05.2006 17:51
Бродяжник   Read this.   19.05.2006 20:16
LOVE133   Volvo , очень прошу вас прокомментировать код... …   22.05.2006 2:01
pascal65536   Извините, что вмешиваюсь. Просто Вы затронули инте…   23.05.2006 10:07
LOVE133   Я с удовольчствием рассмотрю все предложения ))) К…   23.05.2006 11:33
Бродяжник   Love133 Если потерпите, завтра выложу версию с про…   24.05.2006 14:28
GoodWind   тут вот какая мысль возникла... а ведь большинство…   24.05.2006 15:50
LOVE133   а потому словарь отсортирован по алфавиту и длине…   24.05.2006 16:50
pascal65536   GoodWind Это поначалу так, что слова начинаются на…   24.05.2006 19:47
LOVE133   Paskal , как там насчет наработок ? мне было бы и…   24.05.2006 20:30
pascal65536   LOVE133 Думаете, быстрее? Нифига подобного. СтОит …   24.05.2006 20:35
Бродяжник   Oops... Зашился я с работой, так что не до кроссво…   25.05.2006 20:43
LOVE133   давайте хоть черновик )))как-нибудь доковыряю, смы…   25.05.2006 23:22
pascal65536   Выкладываю исходник, для общего ознакомления. Толь…   26.05.2006 1:19
Бродяжник   Вот. Читайте ReadMe.txt Может, стоит подумать над …   26.05.2006 13:31
LOVE133   Пасибки огромное ))) потихоньку разбераюсь, все ра…   27.05.2006 14:06
Бродяжник   Удачи!   29.05.2006 13:07


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 5.11.2025 9:11
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name