Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Разное > Ваши программы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.04.2011, 03:50
Аватар для kachkarvv
kachkarvv kachkarvv вне форума
Прохожий
 
Регистрация: 07.10.2010
Адрес: Украина Черкасская обл. с.Матусов
Сообщения: 23
Репутация: 16
По умолчанию Delphi Winapi Мини (10кб) цировые прозрачные часы

Delphi WinAPI Мини (10кб) цифровые прозрачные часы на рабочий стол.
Не отображаются на панели задач.
Отключаются двойным щелчком по любой цифре.
Расположены в правом верхнем углу экрана.

Екзешник (transparent_clock.zip) здесь
Исходник здесь

Усовершенствованный вариант с возможностью изменения цвета (включить меню - правой кнопкой мыши ),
взамен двойного щелчка - перетаскивание, при выключении цвет и координаты запоминаются в файле
clock.prm (в папке прграммы)
Екзешник ( KWClock_digit.zip ) здесь
__________________
Справочники Delphi HTML CSS
мелодии MP3 Топ100
Бесплатные объявления

Последний раз редактировалось kachkarvv, 08.08.2012 в 14:40.
Ответить с цитированием
  #2  
Старый 20.04.2011, 08:41
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Delphi 7 откомпилировала на 17920байт (17,5Кб)
Зачем не нормально завершать программу:
Код:
Halt(Msg.wParam);
?
И что с границами на светлых тонах:

?
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
kachkarvv (08.08.2012)
  #3  
Старый 30.04.2011, 00:27
Аватар для kachkarvv
kachkarvv kachkarvv вне форума
Прохожий
 
Регистрация: 07.10.2010
Адрес: Украина Черкасская обл. с.Матусов
Сообщения: 23
Репутация: 16
По умолчанию

Цитата:
Сообщение от NumLock
Delphi 7 откомпилировала на 17920байт (17,5Кб)
Спасибо. Это так. Забыл указать: все свои программы я сжимаю почти в 2 раза
с помощью upx.exe . Остальное подправлю.
__________________
Справочники Delphi HTML CSS
мелодии MP3 Топ100
Бесплатные объявления
Ответить с цитированием
  #4  
Старый 19.05.2011, 21:54
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Цитата:
Сообщение от NumLock
Зачем не нормально завершать программу:
Код:
Halt(Msg.wParam);
?
Для API, вполне нормальный (и правильный) код завершения.
Ответить с цитированием
  #5  
Старый 20.05.2011, 09:08
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Сообщение от angvelem
Для API, вполне нормальный (и правильный) код завершения.
в API нет Halt!!!
зато есть:
ExitProcess

Halt procedure
Initiates abnormal termination of a program.
Unit
System
Category
flow control routines
Delphi syntax:
procedure Halt [ ( Exitcode: Integer) ];
Description
Halt performs an abnormal termination of a program and returns to the operating system.

ну и на закуску:

Код:
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

procedure TForm1.FormCreate(Sender: TObject);
begin
// ExitProcess(0);
// Halt;
end;
угадай, что не понравиться VCL?

разговор дальше на эту тему считаю оффтопом...
__________________
Пишу программы за еду.
__________________

Последний раз редактировалось NumLock, 20.05.2011 в 09:16.
Ответить с цитированием
  #6  
Старый 20.05.2011, 21:40
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Ну конечно, когда не прав любое продолжение темы можно считать оффтопом. Не путайте программы написанные с использованием VCL и без оного. В API, естественно, нет Halt, но на "чистом" API, программу не написать. Программу пишут на каком-либо языке с использованием API. Для любителей С, ExitProcess подходит в самый раз для тех же кто пишет на Паскале вполне логично использовать Halt, не забудьте эта команда пришла в Дельфи из Паскаля и всегда предназначалась для окончательного завершение программы. В действительности она означает:

Цитата:
Halt (procedure)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Stops program execution and returns to the operating system.

Declaration:
procedure Halt [ ( Exitcode: Word ) ];
where:
Exitcode is an optional expression that specifies the exit code of your program.

И на будущее, прежде чем проявлять эмоции в виде кучи восклицательных знаков, не плохо почитать соответствующую литературу, а не только справку, чтобы не приводить неправомерные примеры не относящиеся к данной теме. Хотя..., если вы так сильно желаете, я отвечу: VCL абсолютно всё равно какая команда будет применена.
Ответить с цитированием
  #7  
Старый 20.05.2011, 23:02
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Цитата:
Для API, вполне нормальный (и правильный) код завершения.
Для API нет, для Паскаля - да.
API подразумевает использования функций, предоставляемых ОС (в данном случае). С точки зрения системы, верным решением является именно ExitProcess, а Halt есть решения от Паскаля. К слову, ExitProcess используется не только "Любителями С", но и многими другими, пишущими с использованием API.
Дальнейшие препирательства действительно являются оффтопом, так как никоем образом не относятся к обсуждения предложенной программы.
Ответить с цитированием
  #8  
Старый 21.05.2011, 11:41
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Пусть разработчик пишет как хочет.
Простите, не удержался от оффтопа. Можете удалить сообщение.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #9  
Старый 21.05.2011, 14:06
einstein einstein вне форума
Начинающий
 
Регистрация: 02.09.2010
Адрес: Город
Сообщения: 143
Репутация: -4653
По умолчанию

парни,вы сами запутали себя.естествено по теме (апи) ни о каком халт не может быть и речи. и о выходпроцесс также. ибо компилятор предполагает нормальный выход если не произошел ланг-дефайнед эксепшн. а сравнивать методы паскаля для дос и для 32-разрядных апп это коншюнствено. если очень хочется то используйте екзитпроцесс как это рекомендует майкрософт.
Ответить с цитированием
  #10  
Старый 21.05.2011, 20:09
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Может формально ExitProcess и более верный метод, но если сдизасить Halt, можно увидеть, что там идет освобождение всего и вся (ДЛЛ, объектов) и после чего вызов того самого ExitProcess. Вот конец процедуры Halt:
Код:
mov     eax, uExitCode
push    eax             ; uExitCode
call    ExitProcess
Так что разницы особо большой нету. Пусть человек юзает то, что привычнее.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #11  
Старый 22.05.2011, 08:58
einstein einstein вне форума
Начинающий
 
Регистрация: 02.09.2010
Адрес: Город
Сообщения: 143
Репутация: -4653
По умолчанию

www.delphisources.ru
Halt

Цитата:
Описание
Процедура Halt вынуждает резкое завершение текущего приложения. Предупреждение: не гарантируется, что ресурсы будут освобождены при вызове halt. Переменная ExitCode может быть произвольно установлена, передавая значение ExitValue. Этот код передается прерывателю приложения как код возврата от приложения. Если значение ErrorAddr уже было присвоено, перед тем как был вызван Halt, то диалог отображается, показывая значение ErrorAddr и ExitCode. После выполнения Halt, перед фактическим завершением программы, выполняется секция модуля finalization.
Примечания
Предупреждение: используйте только в исключительных случаях.
http://www.delphibasics.ru/Halt.php

Цитата:
Синтаксис
procedure Halt(ExitCode: Integer);
Описание
Процедура Halt сразу прерывает работу приложения, не давая ему возможности "убрать за собой". Windows NT автоматически освобождает все ресурсы, которые использовались приложением, но Windows 95 и Windows 98 не столь снисходительны. Применяйте эту процедуру Halt только в особых ситуациях, например, для обработки критических ошибок.
Halt не является настоящей процедурой.
Ошибки
Советы и приемы
Halt сохраняет свой аргумент в глобальной переменной ExitCode.
Если ErrorAddr не равна nil, Halt выдает сообщение об ошибке перед завершением программы.
Перед завершением программы исполняются процедура ExitProc и разделы завершения модулей.
Поцедура Halt, закрывая программу, не освобождает все объекты и формы. Для завершения графического приложение следует закрыть главную форму, а не вызывать процедуру Halt.
http://valera.asf.ru/delphi/help/name.php?name=Halt

и т.д.

Использование Halt считается ОЧЕНЬ плохим тоном.
Halt полезен только в Borland Pascal, но не в Delphi.

Последний раз редактировалось einstein, 22.05.2011 в 09:12.
Ответить с цитированием
  #12  
Старый 22.05.2011, 12:10
Аватар для AND_REY
AND_REY AND_REY вне форума
Активный
 
Регистрация: 31.03.2009
Адрес: Украина, г.Днепропетровск
Сообщения: 324
Версия Delphi: Delphi7
Репутация: 3877
По умолчанию

Извините за флуд, не сдержался:
Код:
Program Project1;
{$APPTYPE CONSOLE}
begin
 asm
  db $C3
 end;
end.
__________________
If end Then begin;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:17.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter