Статьи по программированию
примеры программного кода
Delphi, Kylix, C, C++, SQL, Visual Basic, Bash, Assembler, 1С
Qt, KOL, MFC, Rx Library, Windows, Linux, Mac OS
Delphi/Kylix (1262)
-->Эффект воды
Опубликовано codeLocker в 11.09.2008 в 15:10.
ОС: Windows, Linux Язык: Delphi/Kylix Раздел: Алгоритмы • Матрицы и векторы
Модуль в котором реализован алгоритм эффекта воды WaveEng.pas:
//Эффект воды
unit WaveEng;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls;
Type
//Эффект воды
TWave = class
private
FBitmap: TBitmap;
FZ: array[0..1] of array of array of Integer;
FStep: Byte;
FDestBitmap: TBitmap;
function GetHeight: Integer;
function GetWidth: Integer;
function GetZ(x, y: Integer): Integer;
procedure SetZ(x, y: Integer; const Value: Integer);
unit WaveEng;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls;
Type
//Эффект воды
TWave = class
private
FBitmap: TBitmap;
FZ: array[0..1] of array of array of Integer;
FStep: Byte;
FDestBitmap: TBitmap;
function GetHeight: Integer;
function GetWidth: Integer;
function GetZ(x, y: Integer): Integer;
procedure SetZ(x, y: Integer; const Value: Integer);
Список пользователей 1С
Опубликовано codeLocker в 03.09.2008 в 08:23.
ОС: Windows Язык: Delphi/Kylix Раздел: Форматы файлов и данных
Вот всего одна функция возвращающая список пользователей 1С:
//Список пользователей 1С
function LoadUsers(OneSPath: String): TStringList;
type
TChar = array of Char;
var FN: String;
SL: TStringList;
MS: TMemoryStream;
S: String;
i, j: Integer;
LogOld: String;
begin
Result := TStringList.Create;
FN := OneSPath + '\usrdef\users.usr';
if not FileExists(FN) then Exit;
MS := TMemoryStream.Create;
try
MS.LoadFromFile(FN);
S := '';
function LoadUsers(OneSPath: String): TStringList;
type
TChar = array of Char;
var FN: String;
SL: TStringList;
MS: TMemoryStream;
S: String;
i, j: Integer;
LogOld: String;
begin
Result := TStringList.Create;
FN := OneSPath + '\usrdef\users.usr';
if not FileExists(FN) then Exit;
MS := TMemoryStream.Create;
try
MS.LoadFromFile(FN);
S := '';
Методы сжатия
Опубликовано codeLocker в 03.09.2008 в 08:17.
ОС: Windows Язык: Delphi/Kylix Раздел: Алгоритмы • Шифрование и контрольные суммы
//Методы сжатия
unit Compact;
interface
uses ZLib, Classes, SysUtils, Windows;
function CompressFile(Src: String; Dst: String; Level: TCompressionLevel): boolean;
function DecompressFile(Src: String; Dst: String): boolean;
function GetTempDir: String;
function CompressStream(Src, Dst: TStream; Level: TCompressionLevel): boolean;
function DecompressStream(Src, Dst: TStream): boolean;
implementation
//Методы сжатия
function CompressFile(Src: String; Dst: String; Level: TCompressionLevel): boolean;
var S, D: TFileStream;
unit Compact;
interface
uses ZLib, Classes, SysUtils, Windows;
function CompressFile(Src: String; Dst: String; Level: TCompressionLevel): boolean;
function DecompressFile(Src: String; Dst: String): boolean;
function GetTempDir: String;
function CompressStream(Src, Dst: TStream; Level: TCompressionLevel): boolean;
function DecompressStream(Src, Dst: TStream): boolean;
implementation
//Методы сжатия
function CompressFile(Src: String; Dst: String; Level: TCompressionLevel): boolean;
var S, D: TFileStream;
Настройка служб Windows
Опубликовано codeLocker в 03.09.2008 в 08:10.
ОС: Windows Язык: Delphi/Kylix Раздел: Системное • Windows • Сервисы NT
Для примера ниже представлена процедура, которая изменяет настройки служб Windows, меняет только флаг автозапуска.
//Настройка служб Windows
procedure ChangeService(ServiceID: String; Autostart: Boolean);
var Svc, SvcMgr: Integer;
ServiceConfig: PQueryServiceConfigA;
NeededBytes: dword;
R: boolean;
begin
SvcMgr := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
Svc := OpenService(SvcMgr, PAnsiChar(ServiceID), SERVICE_ALL_ACCESS);
procedure ChangeService(ServiceID: String; Autostart: Boolean);
var Svc, SvcMgr: Integer;
ServiceConfig: PQueryServiceConfigA;
NeededBytes: dword;
R: boolean;
begin
SvcMgr := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
Svc := OpenService(SvcMgr, PAnsiChar(ServiceID), SERVICE_ALL_ACCESS);
Как проверить что запущено приложение как служба
Опубликовано codeLocker в 03.09.2008 в 08:02.
ОС: Windows Язык: Delphi/Kylix Раздел: Системное • Windows • Сервисы NT
Что бы проверить что запущено приложение как служба нужно проверить кто породил процесс. Если процесс породил services.exe, то запущено как служба.
Вот пример такой функции:
//Как проверить что запущено приложение как служба
const
ProcessBasicInformation = 0;
CSIDL_PROGRAM_FILES = $0026;
type
PROCESS_BASIC_INFORMATION = packed record
ExitStatus: DWORD;
const
ProcessBasicInformation = 0;
CSIDL_PROGRAM_FILES = $0026;
type
PROCESS_BASIC_INFORMATION = packed record
ExitStatus: DWORD;
Спонсоры проекта:
- Скачать самый безопасный интернет обозреватель Opera 13 rus
Навигация
Интересные сайты
Сейчас на сайте
Сейчас на сайте 0 пользователей и 2 гостя.
Статистика
Всего материалов: 1387