Модуль для работы с ini файлами |
Previous Top Next |
Вот мой модуль для работы с Ini файлами... Должен всем пригодиться...
Code: |
//Модуль для работы с данными в конфигурационном файле. //Функции упрощают использование конфиг. файлов. //Данный материал можно изменять по Вашему усмотрению... //При нахождении ошибкок пишите на guedda@yandex.ru unit MyIni.pas
interface
uses IniFiles;
procedure WriteIniData(Section, Ident, Value : string); procedure WriteIniDataInt(Section, Ident : string; Value : Integer); procedure WriteIniDataBool(Section, Ident : string; Value : boolean); function ReadIniData(Section, Ident : string; Default : string = '') : string; function ReadIniDataInt(Section, Ident : string; Default : Integer = 0) : Integer; function ReadIniDataBool(Section, Ident : string; Default : boolean = false) : boolean;
implementation
var IniFile : TIniFile; Path : string;
procedure WriteIniData(Section, Ident, Value : string); begin IniFile := TIniFile.Create(Path + '\config.ini'); IniFile.WriteString(Section, Ident, Value); IniFile.Free; end;
procedure WriteIniDataInt(Section, Ident : string; Value : Integer); begin IniFile := TIniFile.Create(Path + '\config.ini'); IniFile.WriteInteger(Section, Ident, Value); IniFile.Free; end;
procedure WriteIniDataBool(Section, Ident : string; Value : boolean); begin IniFile := TIniFile.Create(Path + '\config.ini'); IniFile.WriteBool(Section, Ident, Value); IniFile.Free; end;
function ReadIniData(Section, Ident : string; Default : string = '') : string; begin IniFile := TIniFile.Create(Path + '\config.ini'); Result := IniFile.ReadString(Section, Ident, Default); IniFile.Free; end;
function ReadIniDataInt(Section, Ident : string; Default : Integer = 0) : Integer; begin IniFile := TIniFile.Create(Path + '\config.ini'); Result := IniFile.ReadInteger(Section, Ident, Default); IniFile.Free; end;
function ReadIniDataBool(Section, Ident : string; Default : boolean = false) : boolean; begin IniFile := TIniFile.Create(Path + '\config.ini'); Result := IniFile.ReadBool(Section, Ident, Default); IniFile.Free; end;
initialization GetDir(0, Path);
end. |
Автор: Guedda
©Drkb::02310
Взято с Vingrad.ru http://forum.vingrad.ru
Code: |
Unit USDKINIFiles;
{ From Windows Messages SDK }
Interface
Uses Windows, SysUtils;
Type TINIFile = Class(TObject) Private FFileName: String; Public Constructor Create(Const FileName : String); Destructor Destroy; Override; Function ReadString(Const Section, Key, Default: String): String; Function ReadInteger(Const Section, Key: String; Default: Longint): Longint; Function ReadBool(Const Section, Key: String; Default: Boolean): Boolean; Function WriteString(Const Section, Key, Value: String): Boolean; Function WriteInteger(Const Section, Key: String; Value: Longint): Boolean; Function WriteBool(Const Section, Key: String; Value: Boolean): Boolean; Procedure UpdateFile; Property FileName: String Read FFileName; End;
Implementation
{ TINIFile }
Constructor TIniFile.Create(Const FileName: String); Begin FFileName := FileName; End;
Destructor TIniFile.Destroy; Begin UpdateFile; Inherited Destroy; End;
Function TIniFile.ReadBool(Const Section, Key: String; Default: Boolean): Boolean; Begin Result := ReadInteger(Section, Key, Ord(Default)) <> 0; End;
Function TIniFile.ReadInteger(Const Section, Key: String; Default: Integer): Longint; Var IntStr: String; Begin IntStr := ReadString(Section, Key, ''); If (Length(IntStr) > 2) And (IntStr[1] = '0') And ((IntStr[2] = 'X') Or (IntStr[2] = 'x')) Then IntStr := '$' + Copy(IntStr, 3, MaxInt); Result := StrToIntDef(IntStr, Default); End;
Function TIniFile.ReadString(Const Section, Key, Default: String): String; Var Buffer: Array[0..2047] Of Char; Begin SetString(Result, Buffer, GetPrivateProfileString(PChar(Section), PChar(Key), PChar(Default), Buffer, SizeOf(Buffer), PChar(FFileName))); End;
Procedure TIniFile.UpdateFile; Begin WritePrivateProfileString(NIL, NIL, NIL, PChar(FFileName)); End;
Function TIniFile.WriteBool(Const Section, Key: String; Value: Boolean): Boolean; Const Values: Array[Boolean] Of String = ('0', '1'); Begin Result := WriteString(Section, Key, Values[Value]); End;
Function TIniFile.WriteInteger(Const Section, Key: String; Value: Integer): Boolean; Begin Result := WriteString(Section, Key, IntToStr(Value)); End;
Function TIniFile.WriteString(Const Section, Key, Value: String): Boolean; Begin Result := WritePrivateProfileString(PChar(Section), PChar(Key), PChar(Value), PChar(FFileName)); End;
End. |
Автор: Rrader
©Drkb::02311
Взято с Vingrad.ru http://forum.vingrad.ru