Атомы: Запись, чтение и удаление информации
Материал из DRKB
Атомы: Запись, чтение и удаление информации[править | править код]
{ Act: 0 - Очистка атомов, 1 - чтение атомов, 2 - запись атомов }
{ Uniq - Уникальный идентификатор }
{ AtomNfo - Информация для записи }
function AtomDo(Act: Integer; Uniq, AtomNfo: string);
procedure CleanAtoms;
var
P: PChar;
i: Word;
begin
GetMem(p, 256);
for i := 0 to $FFFF do
begin
GlobalGetAtomName(i, p, 255);
if StrPos(p, PChar(Uniq)) <> nil then GlobalDeleteAtom(i);
end;
FreeMem(p);
end;
function ReadAtom: string;
var
p: PChar;
i: Word;
begin
GetMem(p, 256);
for i := 0 to $FFFF do
begin
GlobalGetAtomName(i, p, 255);
if StrPos(p, PChar(Uniq)) <> nil then break;
end;
Result := StrPas(p + Length(Uniq));
FreeMem(p);
end;
begin
case Act of
0: CleanAtoms;
1: Result:=ReadAtom;
2:
begin
CleanAtoms;
GlobalAddAtom(PChar(Uniq + AtomNfo));
end;
end;
Author: Radmin
Source: Взято с Vingrad.ru http://forum.vingrad.ru
ID: 02092