program new; procedure init; begin; Writeln('init your extension here'); end; procedure free; begin Writeln('Free your extension here'); end; function GetNumbers(const str : string) : string; var i : integer; begin; for i := 1 to length(str) do case str[i] of '0'..'9': result := result + str[i]; end; end; procedure Attach; var Fonts : string; Contents : string; newvers :integer; Vers : integer; begin; case MessageDlg('Test me!', 'Do you want to test me?',mtConfirmation, [mbNo,mbYes,mbCancel],0) of mrYes : Writeln('hell yeah!'); mrNo : Writeln('Hell no!'); mrCancel : Writeln('CANCEL THIS SHIT!'); end; Vers := StrToIntDef(Settings.GetKeyValueDef('FontVersion','-1'),-1); newvers := strtointdef(GetNumbers(getpage('http://simba.villavu.com/bin/Fonts/Version')),-1); if newVers > vers then begin; Writeln('Updating your fonts!'); fonts := GetPage('http://simba.villavu.com/bin/Fonts/Fonts.tar.bz2'); if DecompressBZip2(Fonts,Contents,4096) then UnTarEx(Contents,FontPath,true); Settings.SetKeyValue('FontVersion',inttostr(newvers)); end; end; Procedure Detach; begin Writeln('Your extension has ben disabled, do stuff here'); end; //Called to retrieve the name of your extension function GetName : string; begin; result := 'Font updater example'; end; //Called to retrieve the version of your extension function GetVersion : string; begin; result := '1.1b'; end; begin end.