Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 1132
от 27.04.2008, 08:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 459, Экспертов: 55
В номере:Вопросов: 3, Ответов: 3

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 133384: Уважаемые программисты, памагите плз у миня такая ситуация: хачу сделать таг, чтоб на Edit1 отображалось время, делаю таг: var data: TDateTime; begin Edit1.Text := TimeToStr(Now); end; Но у меня время стоит, а что нада ...
Вопрос № 133388: добрый день. необходимо выполнить поиск(обход) в ширину. имеется "лабиринт". лабиринт допустим нарисовать можно на draw- или stringgrid'e. интерисует сам алгорим решения в таком случае. Может у кого есть исходники похожие... ...
Вопрос № 133402: Здрасти, подскажите, как программно завершить один из запущенных процессов и удалить этот файл, зная только имя файла-процесса?...

Вопрос № 133.384
Уважаемые программисты, памагите плз у миня такая ситуация: хачу сделать таг, чтоб на Edit1 отображалось время, делаю таг:
var
data: TDateTime;
begin
Edit1.Text := TimeToStr(Now);
end;

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

пожалуста, срочна нада
Отправлен: 21.04.2008, 16:13
Вопрос задал: Koffi (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Drbear
Здравствуйте, Koffi!

Попробуйте использовать TTimer с вкладки System, установив Interval, к примеру, на 1000 мс (1 сек). И повесить Ваш код на событие OnTimer. Например:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Edit1.Text := TimeToStr(Now);
end;

Время в Edit будет обновляться с периодичностью, установленной в свойстве Interval.
Запускать Timer можно или при проектировании, установив Enabled в True, или во время работы, например при открытии формы:

procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Enabled := True;
end;

в этом случае желательно при проектированиии установить Enabled таймера в False.
Ответ отправил: Drbear (статус: 9-ый класс)
Ответ отправлен: 21.04.2008, 16:24
Оценка за ответ: 5


Вопрос № 133.388
добрый день.
необходимо выполнить поиск(обход) в ширину. имеется "лабиринт".
лабиринт допустим нарисовать можно на draw- или stringgrid'e.
интерисует сам алгорим решения в таком случае. Может у кого есть исходники похожие...

картинка с видом лабиринта http://i.piccy.kiev.ua/i2/18/3b/2299e92df281995ca47a61a77ccd.jpeg
Отправлен: 21.04.2008, 16:39
Вопрос задал: Gotaproblem (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: LanK
Здравствуйте, Gotaproblem!

Исходников у меня увы нет. Но есть алгоритм :).

Точнее, известно, что любой лабиринт проходится по часовой стрелке. Вот и весь алгоритм.

Поясню, как же это реализовать.

Возьмем матрицу 5*5.
Вы находитесь в ячейке 1.1.
Вы указываете направление скажем по ряду 1 сдвигаете влево в ячейку 1.2 - проверяете она "занята"(синяя) или "нет"(белая) если нет, идете дальше на 1.3 - занята смотрите 2.3.
----
За один шаг Вы смещаетесь только на одну ячейку причем не диагональную. т.е. +1 к любой из координат.
----
Если 2.3. свободна то следующий будет 2.4 потом 2.5 потом 3.5 и обратно до 3.1.

Если "уперлись" т.е. в матрице ходов по этой ячейке Вы уже ходили и "вокруг" стены - возвращаетесь и проверяете "ходы" влево вправо вверх вниз на каждой ступеньке "возврата". А все те ячейки с которых хода нет помещаете в матрицу "мертвые"(синии).

Примерно так. Но Вы не получите оптимальный вариант. Вы получите гарантированный "проход".

На самом деле лабиринт решается с помощью рекурсивной программы и построения деревьев решения.

ФУХ, как то запутанно я написал :(.

Попробую еще вариант пояснения - может он будет понятнее?

Вариант тот же с обходом по часовой стрелке.

1] Находите 1ое решение (при этом заполняете матрицу "мёртвых" ячеек - т.е. тупиков.

Вариант тот же с обходом против часовой стрелки.

2] Находите 2ое решение (при этом заполняете матрицу "мёртвых" (черных) ячеек 2 - т.е. тупиков.

У Вас получится ДВА решения из которых Вы сможете выбрать какое из них лучше (по количеству шагов).

ПОСЛЕ этого Вы можете программно "закрыть" какую нибудь из клеток и попробовать пропустить 1] и 2] алгоритм, при этом у Вас будет матрица "синих" и матрица "черных". И матрица "пробных" - т.е. те которые условно "мертвые".
Это не универсальный алгоритм, но решение найдете :).

P.S. На практике "движение" по часовой это увелечение Х до (макс), затем Y+1 и возврат Х (макс) к Х (мин).
---------
Пусть все будет хорошо! Давайте жить дружно! :) И будет жить еще лучше!
Ответ отправил: LanK (статус: Практикант)
Ответ отправлен: 23.04.2008, 16:35


Вопрос № 133.402
Здрасти, подскажите, как программно завершить один из запущенных процессов и удалить этот файл, зная только имя файла-процесса?
Отправлен: 21.04.2008, 18:13
Вопрос задал: Чеботок Алексей Андреевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Denisss

Здравствуйте, Чеботок Алексей Андреевич!

Пример с комментариями приведен в приложении. Имя процесса берется из поля ввода Edit1.

Не забудьте добавить в uses модули TLHELP32, PsAPI.

Прим.:
Если будет запущено два процесса с одинаковыми именами файлов, но разными путями, то удален, в итоге, будет только один из них, но завершены будут оба.

Удачи!

Приложение:

---------
Будь осторожен, когда молишься ради чего-то, потому что можешь это получить...

Ответ отправил: Denisss (статус: Профессионал)
Россия, Москва
ICQ: 281599577
----
Ответ отправлен: 21.04.2008, 20:28
Оценка за ответ: 5
Комментарий оценки:
пасиба!!


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 4.91 pre 5.0 RC1 от 13.04.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное