LibKing » Книги » comp-programming » Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001

Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001

Тут можно читать онлайн Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001 - бесплатно полную версию книги (целиком). Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте LibKing.Ru (ЛибКинг) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
libking
  • Название:
    Советы по Delphi. Версия 1.4.3 от 1.1.2001
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Ваша оценка:

Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001 краткое содержание

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - описание и краткое содержание, автор Валентин Озеров, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

…начиная с 1001. Смотрите другие файлы…

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - читать онлайн бесплатно полную версию (весь текст целиком)

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - читать книгу онлайн бесплатно, автор Валентин Озеров
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

functionSmallFonts:Boolean;

{! проверить} proceduresetWallPaper( constfileName: string; tile:boolean);

{***************************МОНИТОР********************************************}

procedureRunCurrentScreenSaver;

//use application:TApplication object

proceduremonitorState(state:boolean);

{***************************КЛАВИАТУРА*****************************************}

procedureRussianKbdLayout;

procedureEnglishKbdLayout;

procedureUkrainianKbdLayout;

{***************************МЫШЬ***********************************************}

//относительные координаты в абсолютные - function ClientToScreen(Pt:TPoint):TPoint;

proceduremouseEmul(absPoint:TPoint; up,down:boolean);

proceduremouseCursor(visi:boolean);

//просимулировать нажатие клавиши мыши

{! Не проверено} procedureSendMouseClick(x,y:integer;wHandle:THandle);

{**8*************************ДИСКОВЫЕ ФУНКЦИИ**********************************}

//8FAT,FAT32,CDFS,NWCOMPA

//0-"A",1-"B",2-"C"

functionGetFileSysName(Drive : Byte) : String;

functionGetVolumeName(Drive : Byte) : String;

functionDriveExists(Drive : Byte) : Boolean;

//'?';'Path2 does not exists';'Removable';'Fixed';'Remote';'CD-ROM';'RAMDISK'

functionCheckDriveType(Drive : Byte) : String;

//Определение готовности дисковода к работе

functionDiskInDrive( constDrive: char): Boolean;

functionHDDSerialNum( constdrivePath: string{'C:\'}):integer;

{***************************CD-ROM*********************************************}

functiongetCdromPath: string;

procedureCDROMOpen;

procedureCDROMClose;

{***************************REGISTRY*******************************************}

procedureStartFromRegistry(appName,appPath: string);

//запускается до WindowsLogon

procedureStartServiceFromRegistry(appName,appPath: string);

procedureStartFromWinIni(appPath: string);

functionIsInstalled (FileExe: String): Boolean;

IMPLEMENTATION

(*

Вопрос:

Можно ли как-то уменьшить мерцание при перерисовке компонента?

Ответ:

Если добавить флаг csOpaque (непрозрачный) к свойству ControlStyle компонента - то фон компонента перерисовываться не будет.

Пример:

constructor TMyControl.Create;

begin

inherited;

//проверка "if not inIDE" должна быть вставлена в том случае, когда TMyControl - компонент

//чтобы среда IDE Delphi не глючила на этапе разработки

if not inIDE then ControlStyle := ControlStyle + [csOpaque];

end;

...

procedure Register;

begin

RegisterComponents('MyGraphics', [TMyControl]);

inIDE:=True;

end;

*)

proceduremouseCursor(visi:boolean);

VarCState:Integer;

Begin

CState:= ShowCursor(True);

ifvisi then begin

//Включение курсора

whileCState<0 doCState:=ShowCursor(True);

end else begin

//Выключение курсора

whileCstate >= 0 doCstate := ShowCursor(False);

end;

End;

//Cache,Cookies,Desktop,Favorites,Fonts,Personal,Programs,SendTo,Start Menu,Startup

functionShellFolder( constfolderType: string): string;

varregistry:TRegistry;

begin

result:='';

Registry := TRegistry.Create;

try

Registry.RootKey := HKey_Current_User;

Registry.OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders', False);

result:= Registry.ReadString(folderType);

finally

Registry.Free;

end;

end;

procedureSetWallpaper( constfileName: string;tile:boolean);

varReg: TRegIniFile;

begin

Reg:=TRegIniFile.Create('Control Panel');

Reg.WriteString('desktop', 'Wallpaper', fileName);

iftile thenReg.WriteString('desktop', 'TileWallpaper', '1')

elseReg.WriteString('desktop', 'TileWallpaper', '0');

Reg.Free;

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);

end;

{procedure setWallPaper(fileName:string);

begin

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, pChar(fileNAme), 0);

end;}

procedurerefreshWindowsDesktop;

begin

SendMessage(FindWindow('Progman', 'Program Manager'), WM_COMMAND, $A065, 0);

end;

proceduremouseEmul(absPoint:TPoint; up,down:boolean);

begin

//Положение курсора мыши задается в "абсолютных" координатах ("Mickeys"),

//где 65535 "Mickeys" равно ширине экрана.

absPoint.x := Round(absPoint.x * (65535 / Screen.Width));

absPoint.y := Round(absPoint.y * (65535 / Screen.Height));

{Переместим курсор мыши}

Mouse_Event(MOUSEEVENTF_ABSOLUTE orMOUSEEVENTF_MOVE, absPoint.x, absPoint.y, 0, 0);

ifdown thenMouse_Event(MOUSEEVENTF_ABSOLUTE orMOUSEEVENTF_LEFTDOWN, absPoint.x, absPoint.y, 0, 0);

ifup thenMouse_Event(MOUSEEVENTF_ABSOLUTE orMOUSEEVENTF_LEFTUP, absPoint.x, absPoint.y, 0, 0);

end;

//просимулировать нажатие клавиши мыши

procedureSendMouseClick(x,y:integer;wHandle:THandle);

begin

sendmessage(wHandle, WM_LBUTTONDOWN, MK_LBUTTON, x+(y shl16));

sendmessage(wHandle, WM_LBUTTONUP, MK_LBUTTON, x+(y shl16));

application.processMessages;

end;

proceduremonitorState(state:boolean);

begin

ifstate thenSendMessage(Application.Handle, wm_SysCommand, SC_MonitorPower, -1)

elseSendMessage(Application.Handle, wm_SysCommand, SC_MonitorPower, 0);

end;

procedureexecWait( constcomLine: string);

var

si:Tstartupinfo;

p:Tprocessinformation;

begin

fillChar(Si, SizeOf(Si), 0);

withSi do begin

cb := SizeOf(Si);

dwFlags := startf_UseShowWindow;

wShowWindow := 4;

end;

Createprocess( nil, pChar(comLine), nil, nil, false, Create_default_error_mode, nil, nil, si, p);

Waitforsingleobject(p.hProcess, infinite);

end;

procedureshellExec( constfileName: string);

begin

shellExecute(0, Nil, pChar(fileName), Nil, Nil, SW_NORMAL);

end;

procedureDelay(msecs : DWORD);

var

FirstTick : DWORD;

begin

FirstTick:=GetTickCount;

repeat

Application.ProcessMessages;

untilGetTickCount-FirstTick >= msecs;

end;

functionHDDSerialNum( constdrivePath: string{'C:\'}):integer;

var

SerialNum:Pdword;

a,b:Dword;

buffer: array[0..255] ofchar;

begin

result:=0;

new(SerialNum);

ifgetVolumeInformation(pChar(drivePath), buffer, sizeof(buffer), SerialNum, a, b, nil, 0) thenresult:=SerialNum^;

Dispose(SerialNum);

end;

//фактически определяется запущена ли сейчас среда Delphi

functionisDelphiRunning:boolean;

varH1, H2, H3, H4 : Hwnd;

const

A1 : array[0..12] ofchar = 'TApplication'#0;

Читать дальше
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать


Валентин Озеров читать все книги автора по порядку

Валентин Озеров - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Советы по Delphi. Версия 1.4.3 от 1.1.2001 отзывы


Отзывы читателей о книге Советы по Delphi. Версия 1.4.3 от 1.1.2001, автор: Валентин Озеров. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
Большинство книг на сайте опубликовано легально на правах партнёрской программы ЛитРес. Если Ваша книга была опубликована с нарушениями авторских прав, пожалуйста, направьте Вашу жалобу на PGEgaHJlZj0ibWFpbHRvOmFidXNlQGxpYmtpbmcucnUiIHJlbD0ibm9mb2xsb3ciPmFidXNlQGxpYmtpbmcucnU8L2E+ или заполните форму обратной связи.
img img img img img