На форуме запрещена публикация любого незаконного материала, нарушающего авторские права создателей, а также просьбы выложить это! МЫ поможем ВАМ найти бесплатную альтернативу! О публикации ключей, креков, пиратского ПО, игр, музыки, фильмов и т.д. - сообщать СЮДА!
привет! слушайте можно к вам за консультацией.....
у нас есть нарисованная в делфи картинка.....все замечательно нужно чтобы она двигалась влево и вправо и отталкивалась от краёв форма....вверх-вниз и чтобы тоже отталкивалась.....самое ужасное это масштабирование - у меня не получается нужно чтобы она увеличилась до максимального и уменьшилась до исчезновения.....не могу довести программу до ума.....
а еще одна работа это совсем кошмар....там я даже и задание объяснить не могу(((
привет! слушайте можно к вам за консультацией.....
привет! Извени, что так долго, просто это сообщение только что заметил.
Цитата:
Сообщение от Хорошая
у нас есть нарисованная в делфи картинка.....все замечательно нужно чтобы она двигалась влево и вправо и отталкивалась от краёв форма....вверх-вниз и чтобы тоже отталкивалась.....
Просто заводит таймер, две глобальные переменные с направлением движения по X и Y. Направление меняем в зависимости он положения рисунка. Чтобы узнать размеры формы, есть свойства ClientWidth и ClientHeight.
Цитата:
Сообщение от Хорошая
самое ужасное это масштабирование - у меня не получается нужно чтобы она увеличилась до максимального и уменьшилась до исчезновения.....не могу довести программу до ума.....
Все зависит от того, как хранится рисунок (в HBITMAP, в TBitmap, в TImage, в каком-то другом компоненте).
Люди очень прошу помогите мне очень тупому первокурснику, завтра уже сдавать, а я так ничего путного сделать не смог... В общем нам в начале года дали задание и сказали если к зачетной неделе сделаете задание то вы будете здесь учится. И ни каких лекций не было((( В общем задание такое: Надо было сделать чтоб при запуске программы выводилась надпись введите кол-во учеников, потом после ввода появилось кол-во предметов, потом напишите название первого предмета, и т.д. дальше напишите имя первого ученика, второго и т.д. а потом напишите оценку первого учка по первому предмету второго ученика по первому предмету... и так дальше, оценку второго учка по второму предмету... и после ввода должна появится таблица с средним баллом учеников. Я пытался сделать но много чего не получилось: [Ссылки могут видеть только зарегистрированные пользователи. ]
Последний раз редактировалось Komarov; 14.12.2010 в 13:23..
Прошу помощи в вопросе по дельфям. Что может случиться, если я задам динамическое имя файлу, меняющееся по дате. Вроде как по мануалам, даже после закрытия файла, переменная сохраняется до закрытия программы. Чтобы можно было ей пользоваться. Как поведёт себя такой код:
...
if dateDD<>Date then
begin
puty1:='d:\temp\'+IncDay(Date,-1)+'.log'; //название файла минус 1 день
AssignFile(oldDD, puty1);
...
тело проги
...
CloseFile(oldDD);
end;
dateDD:=Date;
...
Он работает, но пока на сутки и больше не запускал. Не выдаст ли он ночью ошибку? Проге надо читать ежедневные логи и при этом не зависнуть.
Вроде как по мануалам, даже после закрытия файла, переменная сохраняется до закрытия программы.
Переменные имеют свою область видимости (не только для делфи, а для всех ЯП). Есть глобальные переменные, живущие до момента завершения программы, а есть локальные, живущие только в своей функции. Так что определите функцию, которая раз в сутки будет генерировать имя файла, что-то с ним делать и закрывать его.
Главное для каждого открытия файла не забывать его закрывать.
Прошу подсказки у знатоков. Несколько дней ковыряю, но пока не нашёл причины. В гугле тоже толком проблему не выяснил. А она такая. Существует серверная часть программы, которую желательно запускать в свёрнутом виде в трей, чтобы глаза не мозолила. Запускаться то она запускается, но к ней клиентская часть подключиться не может, пока по иконке не щёлкнешь и не развернёшь её. Потом можно сразу же сворачивать, прога начинает работать как положено. Если при запуске не сворачивать, работает нормально. Где поковырять?
Нет конечно, через сокеты. При запуске открываются порты и всё (по идее). Возможно не правильно сворачиваю. Делаю так:
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;
Порты открываются в событии .CreateForm, но пока форма не появится на экране, портов нет. Хотя приложение в диспетчере задач висит.
Nafany, такое впечатление, что хотя приложение и висит в диспетчере задач, оно не полностью выполнило все этапы запуска и чего-то ждет. Может где-то последовательность нарушена.
тут нет сворачивания приложения. Сворачиваете так?
Сворачиваю одной строчкой:
Цитата:
Сообщение от virtuOS
Application.MainFormOnTaskbar := True;
Если её убираю, всё работает как надо, если расскоментирую, падает в трей но не открывает порты.
Если добавить
Цитата:
Сообщение от virtuOS
Application.Minimize;
Она падает в панель задач, что не совсем то, что нужно. Гасить форму тоже пробовал, вроде выдавала ошибку (пробую на работе а сейчас пишу из дома). Ронять в трей из самой формы не получается. Ругается на недопустимую операцию.
Сворачиваю одной строчкой:
Application.MainFormOnTaskbar := True;
Это не сворачивание приложения. [Ссылки могут видеть только зарегистрированные пользователи. ]:
Цитата:
Свойство MainFormOnTaskBar контролирует, как кнопки в панели задач Windows обрабатываются VCL.
Если свойство установлено в True, то кнопка на панели задач ассоциирована с главным окном приложения и показывает его заголовок. Если же свойство установлено в False, то кнопка на панели задач ассоциирована со специальным невидимым окном Application и показывает заголовок объекта Аpplication.
MainFormOnTaskBar должна быть установлена в True для работы эффектов Аэро в Windows Vista и выше. Это включает в себя предпросмотр (live thumbnails), Dynamic Windows, Windows Flip и Windows Flip 3D.
Если вам нужно сменить поведение, то свойство MainFormOnTaskBar должно устанавливаться в .dpr файле сразу после Application.Initialize и до создания главной формы. Свойство MainFormOnTaskBar не следует менять после начальной установки. В противном случае вы получите неожиданное поведение программы.
MainFormOnTaskBar устанавливается в True для новых приложений и равно False для старых приложений по соображениям совместимости.
Вы можете менять это свойство и в старых приложениях. Заметьте, что это свойство может менять Z-порядок ваших окон.
Для обновления старых VCL-приложений, добавьте следующую строку в ваш файл .dpr сразу после Application.Initialize;:
То есть ставить Application.MainFormOnTaskbar := False; в любом случае плохая идея (для систем выше Vindows Wista). Для младших систем (Win XP) строку лучше вовсе убрать.
Также может имеет смысл воспользоваться готовыми компонентами?
Странно Может я чего не то скопировал...
Тогда только после праздников узнаю чего там написал. Просто вариантов уже много всяких перепробовал, возможно ошибся с листингом. Или это была не последняя версия проб. Извиняюсь за ненарочное введение в заблуждение.
Nafany, может, конечно, оно и работает у вас и даже скрывает приложение с панели задач. У меня нет возможности проверить. Но судя по документации, это неверный подход к решению задачи.