![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
-LOVE133- |
![]()
Сообщение
#1
|
Гость ![]() |
скачала несколько юнитов для работы с мышью, но при запуске программы требует файл типа TPU , а все юниты просто с расширение PAS. что в этих ситуациях обычно делают?
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Обычно - просто компилируют PAS файл модуля, и компилятор создает TPU файл...
Или загружают в Паскаль основную программу (НЕ модуль), и в меню выбирают Compile -> Build, тогда Паскаль сам откомпилирует все необходимые PAS файлы в TPU (желательно, чтобы PAS файлы модулей при этом находились в той же папке, что и основная программа)... |
Гость |
![]()
Сообщение
#3
|
Гость ![]() |
а еще хотела спросить в вашем юните в МИККИ что обозначается, первый раз встречаю это слово...
![]() |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Там же написано:
Цитата микки(шаг) - наименьшее расстояние, перемещение на которое мышь может зарегистрировать (т.е. расстояние регистрируемое датчиками мыши). Обычно 0.125 мм. |
LOVE133 |
![]()
Сообщение
#5
|
![]() Гарцующая лошадка ![]() ![]() Группа: Пользователи Сообщений: 107 Пол: Женский Реальное имя: Любовь Репутация: ![]() ![]() ![]() |
пытаюсь реализовать такой алгоритм :
1) есть сетка с координатами 2) если в каком-то окне щелкнуть мышью, то подсветить эту клетку 3) если щелкнуть повторно , то снять выделение не получается применить прцедуры, а так же в графическом режиме сделать отдельное выделение, типа процедуры window(x1,y1,x2,y2) в crt . Подскажите, как применять процедуры юнита mouse |
Бродяжник |
![]()
Сообщение
#6
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот примитивная заготовка, чтобы понять основные моменты.
program test; |
LOVE133 |
![]()
Сообщение
#7
|
![]() Гарцующая лошадка ![]() ![]() Группа: Пользователи Сообщений: 107 Пол: Женский Реальное имя: Любовь Репутация: ![]() ![]() ![]() |
а нет процедуры. которая определяет, в каком месте экрана находится курсор?
|
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Чем
Procedure GetMouseXY(VAR KoordX,KoordY:Word );не устраивает? Она же возвращает координаты мыши... |
LOVE133 |
![]()
Сообщение
#9
|
![]() Гарцующая лошадка ![]() ![]() Группа: Пользователи Сообщений: 107 Пол: Женский Реальное имя: Любовь Репутация: ![]() ![]() ![]() |
все.... перепутала просто один юнит с другим
![]() Сообщение отредактировано: LOVE133 - |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Если не хочешь получать после вывода графики и движения мышкой разные "артефакты" на экране - лучше отключать, тогда курсор мыши не мешает нормальному выводу графики.
А насчет окна - Window не получится однозначно - у тебя графический режим, а не текстовый. SetViewPort только устанавливает ViewPort, но никак не отчерчивает ничего... Объясни подробнее, что именно ты хочешь нарисовать и что выделять? Может, тебе подойдет простой Rectangle и функция MouseIn ? |
LOVE133 |
![]()
Сообщение
#11
|
![]() Гарцующая лошадка ![]() ![]() Группа: Пользователи Сообщений: 107 Пол: Женский Реальное имя: Любовь Репутация: ![]() ![]() ![]() |
у меня есть сетка (line(x1,y1,x2,y2)) которые делят экран на сетку , мне надо чтобы после щелчка мышью по полю, ячейка выделялась другим цветом, а после второго щелчка снималось выделение.. подскажите, как хоть выделение организовать.. да. там еще проблема будет с определением координат выделения, потому что на сколько делить экран задает пользователь )))) то есть , при 10*10 нужно будет определить , сколько заливать , какой размер )))
|
volvo |
![]()
Сообщение
#12
|
Гость ![]() |
Пишу прямо здесь, так что могут быть мелкие помарки... Идея такая:
const |
LOVE133 |
![]()
Сообщение
#13
|
![]() Гарцующая лошадка ![]() ![]() Группа: Пользователи Сообщений: 107 Пол: Женский Реальное имя: Любовь Репутация: ![]() ![]() ![]() |
Немного доработала.Теперь в процессе создаю матрицу, в которой если клетка выделена, то будет единица, если нет, то ноль.Вроде работает.Для кроссворда теперь нужно чтобы не было отдельно стоящих единиц, чтобы все были связаны между собой .Предложили алгоритм "киселя". Разливать, как кисель ))
Смысл такой : берем первую единицу, которая встречается, если у нее есть соседние по горизонтали и вертикали, то добавляем к ним по единице, дальше проверяем соседей у соседей (может рекурсия пройдет, не знаю ), и опять по единице добавляем. К концу прохода должна остаться всего одна единица. то есть если кроссворд был такой 0100 0100 1111 0100 то после прохода должно получиться что-то типа этого 0100 0200 4345 0400 и проверяем, есть ли еще единицы, если есть, то нужно вернуться и опять заполнять кроссворд, пока все не будет на месте. Пробовала через цикл, но что-то не то получается... |
LOVE133 |
![]()
Сообщение
#14
|
![]() Гарцующая лошадка ![]() ![]() Группа: Пользователи Сообщений: 107 Пол: Женский Реальное имя: Любовь Репутация: ![]() ![]() ![]() |
вчера вечером посидела, вот что получилось
Код procedure increm(i,j:integer;n:integer; var a:array [1..10,1..10] of byte); begin if a[i,j]=0 then begin if (i<n) and (j<n) then begin increm(i+1,j,n,a); increm(i,j+1,n,a); end; end else if a[i+1,j]=0 then begin if (i<n) and (j<n) then increm(i+1,j,n,a) ; end else begin a[i+1,j]:=a[i,j]+1; if (i<n) and (j<n) then increm(i+1,j,n,a); end; if a[i,j+1]=0 then begin if (i<n) and (j<n) then increm(i,j+1,n,a) ; end else begin a[i,j+1]:=a[i,j]+1; if (i<n) and (j<n) then increm(i,j+1,n,a); end; end; но почему-то работает только вправо и вниз, а мне нужно, чтоб она еще влево шла и вверх проверяла .. показательный пример в файле Прикрепленные файлы ![]() |
volvo |
![]()
Сообщение
#15
|
Гость ![]() |
program IncMassive; ? Так тебе нужно, чтобы было в результате? .. |
LOVE133 |
![]()
Сообщение
#16
|
![]() Гарцующая лошадка ![]() ![]() Группа: Пользователи Сообщений: 107 Пол: Женский Реальное имя: Любовь Репутация: ![]() ![]() ![]() |
в данном случае мне нужно, что б он проверил матрицу кроссворда. можно ли из заданной пользователем сетки составить кроссворд , нет ли там отдельно стоящих ячеек или не связанных между собой. Так удобне. то есть если есть более одной единицы в сетке , значит составить нельзя . А это тестовая прога была, посмотреть как работает.
все, работает классно, подпрыгиваю и пританцовываю... так может скоро запостю здесь программу полностью, для составления кроссвордов, интересная задача, кстати, странно, что никто до этого этим не занимался.А как название тему поменять, чтоб в поиске находил, как про кроссворд? Сообщение отредактировано: LOVE133 - |
LOVE133 |
![]()
Сообщение
#17
|
![]() Гарцующая лошадка ![]() ![]() Группа: Пользователи Сообщений: 107 Пол: Женский Реальное имя: Любовь Репутация: ![]() ![]() ![]() |
скачала словарь существительных, теперь его пытаюсь отсортировать по количеству буквБ самые маленькие слова вверху и чтоб оставил сортировку по алфавиту внутри.Должно вроде работать правильно, хотя не уверенаю Хотелось бы узнать, правильно она будет работать или нет?
Прикрепленные файлы ![]() ![]() |
Бродяжник |
![]()
Сообщение
#18
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: ![]() ![]() ![]() |
Словарь скачивать пока влом, поэтому маленький вопрос. Файл словаря это действительно файл из записей с фиксированной длиной 26 байт? Это именно file of slova? А не простой текстовый?
И второе: может быть, стоило бы все же явно задать условие сортировки по алфавиту? Так, на всякий случай... Сообщение отредактировано: Бродяжник - |
LOVE133 |
![]()
Сообщение
#19
|
![]() Гарцующая лошадка ![]() ![]() Группа: Пользователи Сообщений: 107 Пол: Женский Реальное имя: Любовь Репутация: ![]() ![]() ![]() |
да, я его специально переделывала из текстового в файл записей, вручную так сказать ))) только вот по времени он мне обещает сортировать всю базу примерно дней 5 , на моей машине... так что даже проверить не могу, ка кэто будет работать ..
|
Бродяжник |
![]()
Сообщение
#20
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: ![]() ![]() ![]() |
ладно, уговорили. Скачаю Ваш словарь, отсортирую, выложу отсортированный. Короткие в начало, одинаковые - по алфавиту. Но в виде простого текстового файла.
|
![]() ![]() |
![]() |
Текстовая версия | 8.03.2025 13:08 |