Contributor: ANDY COOPER
unit ProgIcon;
{Please feel free to use these routines as you wish, provided you keep the comments with my name in}
{Any comments or problems then contact me, Andy Cooper - 100622.1041@COMPUSERVE.COM}
interface
uses
 DdeMan;
{First parameter is a ddeClientConv that has already been created on the calling form}
function CreateProgManGroup(DDEClient : TDdeClientConv; strGroup : string) : Boolean;
function CreateProgManItem(DDEClient : TDdeClientConv; strGroup, strItem, strFile : string) : Boolean;
implementation
function CreateProgManGroup(DDEClient : TDdeClientConv; strGroup : string) : Boolean;
{By Andy Cooper - 100622.1041@COMPUSERVE.COM}
var
 pstrCmd : array[0..255] of char;
begin
 try
 StrPCopy (pstrCmd, Format('[CreateGroup(%s)]', [strGroup]) + #13#10);
 Result := DDEClient.ExecuteMacro(pstrCmd, False);
 except
 Result := False;
 end; {try}
end;
function CreateProgManItem(DDEClient : TDdeClientConv; strGroup, strItem, strFile : string) : Boolean;
{By Andy Cooper - 100622.1041@COMPUSERVE.COM}
var
 pstrCmd : array[0..255] of char;
begin
 try
 StrPCopy (pstrCmd, Format('[ShowGroup(%s, 1)]', [strGroup]) + #13#10);
 DDEClient.ExecuteMacro(pstrCmd, False);
 StrPCopy (pstrCmd, Format('[ReplaceItem(%s)]', [strItem]) + #13#10);
 DDEClient.ExecuteMacro(pstrCmd, False);
 StrPCopy (pstrCmd, Format('[AddItem(%s,%s' + ',,)]', [strFile,strItem]) + #13#10);
 Result := DDEClient.ExecuteMacro(pstrCmd, False);
 StrPCopy (pstrCmd, Format('[ShowGroup(%s, 1)]', [strGroup]) + #13#10);
 DDEClient.ExecuteMacro(pstrCmd, False);
 except
 Result := False;
 end; {try}
end;
end.


AltStyle によって変換されたページ (->オリジナル) /