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

СообЧА. Программирование на Delphi


Служба Рассылок Subscribe.Ru
Subscribe.Ru :СообЧа программирование на дельфи !
—Сообча : программирование на дельфи

Пора делать ремонт?
Не беда!!! Заходите сюда!!!

В новый год с новыми обоями!
***Дом обоев***


Troubleshooting:Огонь на поражение!!!

 

 В этом выпуске:

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

 

Рассылки Subscribe.Ru это стильно удобно, и информативно!
СообЧа (СООБщество ЧАйников). Обмен опытом, вопросы, ответы.


подпишись и подпиши друга!!!!

 Contact (Связь с Нами):

Pixel@novgorod.net + Subject: (см ниже)

 

Vcl Haunting

"Золотой Чайник"

Вопрос по дельфи N (N номер версии)

Help!

Реклама

Полезный линк

 

 

Новости СЕТИ

К заголовку

****CD котый вам пригодится!!!****
Конструктор 3D игр: Этот, по сути уникальный CD , нечто среднее между языком программирования, 3д движком и лего конструктором(в том плане что можно соорудить что-либо стоящее из уже готовых "деталей"). Сам я пока обдумываю покупку данного диска, но тем, кто мечтает написать свою игру, с минимумом программирования просто обязан это купить.

Здесь можно купить диск и посмотреть пару скриншотов

Книги по Дельфи которые ВЫ ОБЯЗАНЫ ПРОЧИТАТЬ...

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

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

Новый сайт в новом году, с таким девизом я переделал наш сайт, и добавил туда 3 новых компонента, ктати о новых сайтах совсем недавно обнаружил ЗДЕСЬ ОГРОМНЫЙ СКЛЛАД VCL как бесплатных, так и коммерческих.

 

 

Хитрости с файлами

К заголовку

Некоторым стало интересно: как проверить запущена ли уже копия програмы или нет. Для данной проверки сущестцет юнит названный Previnst, где взял не помню, но вот вам его код:

unit PrevInst;

interface

uses
WinTypes, WinProcs, SysUtils;

type
PHWND = ^HWND;
function EnumFunc(Wnd:HWND; TargetWindow:PHWND): bool; export;
procedure GotoPreviousInstance;

implementation

function EnumFunc(Wnd:HWND; TargetWindow:PHWND): bool;
var
ClassName : array[0..30] of char;
begin
Result := true;
if GetWindowWord(Wnd,GWW_HINSTANCE) = hPrevInst then
begin
GetClassName(Wnd,ClassName,30);
if StrIComp(ClassName,'TApplication') = 0 then
begin
TargetWindow^ := Wnd;
Result := false;
end;
end;
end;

procedure GotoPreviousInstance;
var
PrevInstWnd : HWND;
begin
PrevInstWnd := 0;
EnumWindows(@EnumFunc,longint(@PrevInstWnd));
if PrevInstWnd < 0 then
if IsIconic(PrevInstWnd) then
ShowWindow(PrevInstWnd, SW_RESTORE)
else
BringWindowToTop(PrevInstWnd);
end;

end.

{And then make the main block of your *.DPR file look
something like this}

begin
if hPrevInst < 0 then
GotoPreviousInstance
else
begin
Application.CreateForm(MyForm, MyForm);
Application.Run;
end;
end.


Вот тоже довольно часто задаваемый вопрос: Как проверить запускается ли приложение или компонент в IDE или отдельно из компилированного файла?

Ответ в виде кода смотрите сами:

function DelphiLoaded : boolean;

function WindowExists(ClassName, WindowName: string): boolean

var
PClassName, PWindowName: PChar;
AClassName, AWindowName: array[0..63] of char;
begin
if ClassName = ''
then PClassName := nil
else PClassName := StrPCopy(@AClassName[0], ClassName);
if WindowName = ''
then PWindowName := nil
else PWindowName := StrPCopy(@AWindowName[0], WindowName);
if FindWindow(PClassName, PWindowName) <> 0
then WindowExists := true
else WindowExists := false;
end; {WindowExists}

begin {DelphiLoaded}
DelphiLoaded := false;
if WindowExists('TPropertyInspector', 'Object Inspector') then
if WindowExists('TMenuBuilder', 'Menu Designer') then
if WindowExists('TApplication', 'Delphi') then
if WindowExists('TAlignPalette','Align') then
if WindowExists('TAppBuilder','') then
DelphiLoaded := true;
end; {DelphiLoaded}

{The following routine will return TRUE when running in the Delphi IDE
(NOTE: this does _not_ work if this routine is in a DLL).}

function InIDE: Boolean;
begin
Result := Bool(PrefixSeg) and
Bool(PWordArray(MemL[DSeg:36])^[8]));
end; { InIDE }


 

 

 

Истина где-то там...

К заголовку

Reboot

var
hToken : THandle;
tkp, ptkp : TTokenPrivileges;
i : dword;

begin
{ Get a token for this process. }
OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken);
{ Get the LUID for the shutdown privilege. }
LookupPrivilegeValue(NiL, 'SE_SHUTDOWN_NAME', tkp.Privileges[0].Luid);
tkp.PrivilegeCount := 1; { one privilege to set }
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
{ Get the shutdown privilege for this process. }
AdjustTokenPrivileges(hToken,FALSE,tkp,0,ptkp,i);
{ Cannot test the return value of AdjustTokenPrivileges. }
GetLastError;
{ Shut down the system and force all applications to close. }
ExitWindowsEx(EWX_SHUTDOWN or EWX_FORCE, 0);
end.

Прозрачный Trichedit

implementation

uses richedit;
{$R *.DFM}

procedure TForm1.Button2Click(Sender: TObject);
var
imagecanvas: TCanvas;
fmt: TFormatRange;
begin
RichEdit1.lines.LoadFromFile('text.rtf');
imagecanvas := image1.canvas;

with fmt do begin
hdc:= imagecanvas.handle;
hdcTarget:= hdc;
{ rect needs to be specified in twips (1/1440 inch) as unit }
rc:= Rect(0, 0,
imagecanvas.cliprect.right * 1440 div pixelsperinch,
imagecanvas.cliprect.bottom * 1440 div pixelsperinch
);
rcPage:= rc;
chrg.cpMin := 0;
chrg.cpMax := richedit1.GetTextLen;
end;

SetBkMode( imagecanvas.Handle, TRANSPARENT );
richedit1.perform( EM_FORMATRANGE, 1, integer( @fmt ));
{ next call frees some cached data }
richedit1.perform( EM_FORMATRANGE, 0, 0 );
image1.refresh;
{ refresh is necessary since the control only refreshes automatically }
{ if a canvas method is used to change its content. }
end;

Работа с аттрибутами каталогов

Function DirectoryHide(Const FileString : String): Boolean;
Var
Attributes : Integer;
Begin
Result := False;
Try
If Not DirectoryExists(FileString) Then Exit;
Attributes := faDirectory + faHidden + faSysFile;{чтобы снова была обычная директория оставьте лишь FaDirectory}
FileSetAttr(FileString,Attributes);
Result := True;
Except
End;
End;



 

Zaluskiy Anton(COOLer)  и Khrapunov Kirill(Pixel)  - ведущие проекта    "Мир Delphi" (C) Pixelsoftware(Pixel)& Delphi 2000-2002(COOLer)


Озон! TopList SpyLOG RLE Banner Network
http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу
Рейтингуется SpyLog

 

Another Banner Network



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное