📄 dws2mflibmodule.pas
字号:
Info['Result'] := string(Dir);
end;
procedure Tdws2MFLib.dws2UnitInfoFunctionsGetTempDirectoryEval(
Info: TProgramInfo);
var
Dir: array[0..MAX_PATH] of Char;
begin
if GetEnvironmentVariable('TEMP', Dir, MAX_PATH) > 0 then
Info['Result'] := string(Dir)
else if GetEnvironmentVariable('TMP', Dir, MAX_PATH) > 0 then
Info['Result'] := string(Dir)
else
Info['Result'] := '';
end;
procedure Tdws2MFLib.dws2UnitInfoFunctionsGetTemplatesDirectoryEval(
Info: TProgramInfo);
begin
Info['Result'] := _GetRegistryString(HKEY_CURRENT_USER, EKey, 'Templates');
end;
procedure Tdws2MFLib.dws2UnitInfoFunctionsGetUserNameEval(
Info: TProgramInfo);
var
UN: array[0..MAX_COMPUTERNAME_LENGTH] of Char;
L: DWORD;
begin
L := MAX_COMPUTERNAME_LENGTH;
if GetUserName(UN, L) then
Info['Result'] := string(UN)
else
Info['Result'] := '';
end;
procedure Tdws2MFLib.dws2UnitInfoFunctionsGetVersionEval(
Info: TProgramInfo);
begin
{$WARNINGS OFF}
Info['Result'] := GetVersion;
{$WARNINGS ON}
end;
procedure Tdws2MFLib.dws2UnitInfoFunctionsGetWallpaperDirectoryEval(
Info: TProgramInfo);
begin
Info['Result'] := _GetRegistryString(HKEY_LOCAL_MACHINE, WKey, 'WallPaperDir');
end;
procedure Tdws2MFLib.dws2UnitInfoFunctionsGetWindowsDirectoryEval(
Info: TProgramInfo);
var
Dir: array[0..MAX_PATH] of Char;
begin
GetWindowsDirectory(Dir, MAX_PATH);
Info['Result'] := string(Dir);
end;
procedure Tdws2MFLib.dws2UnitInfoFunctionsGetWindowsVersionEval(
Info: TProgramInfo);
begin
Info['Result'] := GetWindowsVersion;
end;
procedure Tdws2MFLib.dws2UnitInfoFunctionsIsWin2000Eval(
Info: TProgramInfo);
begin
Info['Result'] := IsWin2000;
end;
procedure Tdws2MFLib.dws2UnitInfoFunctionsIsWin9xEval(Info: TProgramInfo);
begin
Info['Result'] := IsWin9x;
end;
procedure Tdws2MFLib.dws2UnitInfoFunctionsIsWinNTEval(Info: TProgramInfo);
begin
Info['Result'] := IsWinNT;
end;
procedure Tdws2MFLib.dws2UnitInfoFunctionsIsWinNT4Eval(Info: TProgramInfo);
begin
Info['Result'] := IsWinNT4;
end;
procedure Tdws2MFLib.dws2UnitInfoFunctionsSetComputerNameEval(
Info: TProgramInfo);
var
CN: array[0..MAX_COMPUTERNAME_LENGTH] of Char;
begin
StrPCopy(CN, Info['Name']);
Info['Result'] := SetComputerName(CN);
end;
procedure Tdws2MFLib.dws2UnitInfoFunctionsSetConsoleTitleEval(
Info: TProgramInfo);
var
CT: array[0..MAX_PATH] of Char;
begin
StrPCopy(CT, Info['Title']);
Info['Result'] := SetConsoleTitle(CT);
end;
// ****************************************************************************
// *** TIniFile Functions *****************************************************
// ****************************************************************************
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileConstructorsCreateAssignExternalObject(
Info: TProgramInfo; var ExtObject: TObject);
begin
ExtObject := TIniFile.Create(Info['FileName']);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsDestroyEval(
Info: TProgramInfo; ExtObject: TObject);
begin
TIniFile(ExtObject).Free;
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsDeleteKeyEval(
Info: TProgramInfo; ExtObject: TObject);
begin
TIniFile(ExtObject).DeleteKey(Info['Section'], Info['Ident']);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsEraseSectionEval(
Info: TProgramInfo; ExtObject: TObject);
begin
TIniFile(ExtObject).EraseSection(Info['Section']);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsReadBoolEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := TIniFile(ExtObject).ReadBool(Info['Section'], Info['Ident'],
Info['Default']);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsReadDateEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := TIniFile(ExtObject).ReadDate(Info['Section'], Info['Ident'],
Info['Default']);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsReadDateTimeEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := TIniFile(ExtObject).ReadDateTime(Info['Section'], Info['Ident'],
Info['Default']);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsReadFileNameEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := TIniFile(ExtObject).Filename;
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsReadFloatEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := TIniFile(ExtObject).ReadFloat(Info['Section'], Info['Ident'],
Info['Default']);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsReadIntegerEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := TIniFile(ExtObject).ReadInteger(Info['Section'], Info['Ident'],
Info['Default']);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsReadSectionEval(
Info: TProgramInfo; ExtObject: TObject);
var
ScriptObj: IScriptObj;
StringsObj: TStringList;
begin
ScriptObj := IScriptObj(IUnknown(Info['Strings']));
if ScriptObj = nil then
StringsObj := nil
else
StringsObj := TStringList(ScriptObj.ExternalObject);
TIniFile(ExtObject).ReadSection(Info['Section'], StringsObj);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsReadSectionsEval(
Info: TProgramInfo; ExtObject: TObject);
var
ScriptObj: IScriptObj;
StringsObj: TStringList;
begin
ScriptObj := IScriptObj(IUnknown(Info['Strings']));
if ScriptObj = nil then
StringsObj := nil
else
StringsObj := TStringList(ScriptObj.ExternalObject);
TIniFile(ExtObject).ReadSections(StringsObj);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsReadSectionValuesEval(
Info: TProgramInfo; ExtObject: TObject);
var
ScriptObj: IScriptObj;
StringsObj: TStringList;
begin
ScriptObj := IScriptObj(IUnknown(Info['Strings']));
if ScriptObj = nil then
StringsObj := nil
else
StringsObj := TStringList(ScriptObj.ExternalObject);
TIniFile(ExtObject).ReadSectionValues(Info['Section'], StringsObj);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsReadStringEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := TIniFile(ExtObject).ReadString(Info['Section'], Info['Ident'],
Info['Default']);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsReadTimeEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := TIniFile(ExtObject).ReadTime(Info['Section'], Info['Ident'],
Info['Default']);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsSectionExistsEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := TIniFile(ExtObject).SectionExists(Info['Section']);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsUpdateFileEval(
Info: TProgramInfo; ExtObject: TObject);
begin
TIniFile(ExtObject).UpdateFile;
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsWriteBoolEval(
Info: TProgramInfo; ExtObject: TObject);
begin
TIniFile(ExtObject).WriteBool(Info['Section'], Info['Ident'], Info['Value']);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsWriteDateEval(
Info: TProgramInfo; ExtObject: TObject);
begin
TIniFile(ExtObject).WriteDate(Info['Section'], Info['Ident'], Info['Value']);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsWriteDateTimeEval(
Info: TProgramInfo; ExtObject: TObject);
begin
TIniFile(ExtObject).WriteDate(Info['Section'], Info['Ident'], Info['Value']);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsWriteFloatEval(
Info: TProgramInfo; ExtObject: TObject);
begin
TIniFile(ExtObject).WriteFloat(Info['Section'], Info['Ident'], Info['Value']);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsWriteIntegerEval(
Info: TProgramInfo; ExtObject: TObject);
begin
TIniFile(ExtObject).WriteInteger(Info['Section'], Info['Ident'], Info['Value']);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsWriteStringEval(
Info: TProgramInfo; ExtObject: TObject);
begin
TIniFile(ExtObject).WriteString(Info['Section'], Info['Ident'], Info['Value']);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsWriteTimeEval(
Info: TProgramInfo; ExtObject: TObject);
begin
TIniFile(ExtObject).WriteTime(Info['Section'], Info['Ident'], Info['Value']);
end;
procedure Tdws2MFLib.dws2UnitIniFilesClassesTIniFileMethodsValueExistsEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := TIniFile(ExtObject).ValueExists(Info['Section'], Info['Ident']);
end;
// ****************************************************************************
// *** Registry Functions *****************************************************
// ****************************************************************************
procedure Tdws2MFLib.dws2UnitRegistryFunctionsRegCreateKeyEval(
Info: TProgramInfo);
var
Key: HKey;
begin
RegCreateKeyEx(HKey(Info['MainKey']), PChar(string(Info['SubKey'])), 0, nil,
REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, nil, Key, nil);
RegCloseKey(Key);
end;
procedure Tdws2MFLib.dws2UnitRegistryFunctionsRegDeleteKeyEval(
Info: TProgramInfo);
begin
RegDeleteKey(HKey(Info['MainKey']), PChar(string(Info['SubKey'])));
end;
procedure Tdws2MFLib.dws2UnitRegistryFunctionsRegDeleteValueEval(
Info: TProgramInfo);
var
Key: HKey;
begin
if RegOpenKeyEx(HKey(Info['MainKey']), PChar(string(Info['SubKey'])), 0,
KEY_ALL_ACCESS, Key) = ERROR_SUCCESS then
begin
RegDeleteValue(Key, PChar(string(Info['ValName'])));
RegCloseKey(Key);
end;
end;
procedure Tdws2MFLib.dws2UnitRegistryFunctionsRegReadIntegerEval(
Info: TProgramInfo);
var
Key: HKey;
I,
D,
D2: DWord;
begin
Info['Result'] := Integer(Info['ValDef']);
if RegOpenKeyEx(HKey(Info['MainKey']), PChar(string(Info['SubKey'])), 0,
KEY_READ, Key) = ERROR_SUCCESS then
begin
D2 := Sizeof(I);
if RegQueryValueEx(Key, PChar(string(Info['ValName'])), nil, @D, @I, @D2) =
ERROR_SUCCESS then
Info['Result'] := Integer(I);
RegCloseKey(Key);
end;
end;
procedure Tdws2MFLib.dws2UnitRegistryFunctionsRegReadStringEval(
Info: TProgramInfo);
var
Key: HKey;
C: array[0..1023] of Char;
D,
D2: DWord;
begin
Info[
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -