frmPPVInfo.pas ( File view )

  • By sathex 2016-03-20
  • View(s):0
  • Download(s):0
  • Point(s): 1
			unit frmPPVInfo;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls,USmartCardISO,USECAManager, ImgList, UTranslate,
  StdCtrls;

const NANO_LENGTH : Array [0..$F] of Byte = ( 0,1,2,3,4,5,6,7,8,9,10,11,12,16,24,32 );

type
  TfrmSECAPPV = class(TForm)
    tvEvents: TTreeView;
    imlIcons: TImageList;
    lblInformation: TLabel;
    procedure FormCreate(Sender: TObject);
  private
    {
 Private declarations 
}
    mvarSECA: TSECAManager;
    mvarTranslate: TTranslate;
    Function Translate(S: string): string;
    procedure SetTranslate(const Value: TTranslate);
  public
    {
 Public declarations 
}
    property SECA: TSECAManager read mvarSECA write mvarSECA;
    property Translator: TTranslate write SetTranslate;
    procedure GatherPPV();
  end;

var
    frmSECAPPV: TfrmSECAPPV=nil;

implementation

{
$R *.dfm
}

type RPPV=packed record
    RecCounter: BYTE;
    EventID: WORD;
    Number: BYTE;
    PendingViews: BYTE;
    Padding: WORD;
    DateSECA: WORD;
end;

type RJetON=packed record
    JetOnsAvailable: WORD;
    Padding3: BYTE;
    JetOns: WORD;
    DateSECA: WORD;
    Padding4: BYTE;
end;

type PRPPV=^RPPV;
type PRJetON=^RJetON;

{
 TfrmSECAPPV 
}

procedure TfrmSECAPPV.GatherPPV;
var
    INS: Array [0..255] of BYTE;
    Status: WORD;
    j: integer;
    i: integer;
    nanolen: integer;
    bFinished: Boolean;
    pPPV: PRPPV;
    pJetOn: PRJetOn;
    Node: array [0..$F] of TTreeNode;
    NodeEvent: TTreeNode;
    TmpNode: TTreeNode;
begin
    tvEvents.Items.Clear;
    if not Assigned(mvarSECA) then exit;
    if Assigned(mvarSECA.ISO) then begin
        mvarSECA.FillArray([$c1,$34,$00,$00,$03,$03,$00,$00],@INS[0],8);
        mvarSECA.ISO.ISOWrite(@INS[0],@INS[5],@Status); //Get all PPV records

        for i := 0 to mvarSECA.Providers-1 do begin
            bFinished:=false;
            Node[i]:=tvEvents.Items.Add(nil,format('%s (%.4X)',[mvarSECA.Provider[i].Name,mvarSECA.Provider[i].Ident]));
            Node[i].StateIndex:=1;
            mvarSECA.FillArray([$C1,$32,i,$00,$20],@INS[0],5); //GetPPV Records for the provider "i"
            repeat
                mvarSECA.ISO.ISORead(@INS[0],@INS[5],@Status);
                j:=5;
                while ((j<$20)) do begin
                    nanolen:=NANO_LENGTH[(INS[j] shr 4)];
                    case INS[j] of
                        $B1: begin //Follows PPV registers...
                                pPPV:=@INS[j+1];
                                NodeEvent:=tvEvents.Items.AddChild(Node[i],format(Translate('Event: %4X'),[mvarSECA.EndianChange(pppv.EventID)]));
                                NodeEvent.StateIndex:=2;
                                tmpNode:=tvEvents.Items.AddChild(NodeEvent,format(Translate('Pending views: %d'),[pppv.PendingViews]));
                                tmpNode.StateIndex:=0;
                                tmpNode:=tvEvents.Items.AddChild(NodeEvent,format(Translate('Broadcast number: %d'),[pppv.Number]));
                                tmpNode.StateIndex:=0;
                                tmpNode:=tvEvents.Items.AddChild(NodeEvent,format(Translate('Purchased on: %s'),[mvarSECA.ConvertDate(mvarSECA.EndianChange(pppv.DateSECA))]));
                                tmpNode.StateIndex:=0;
                             end;
                        $04: begin //No more info...
                                bFinished:=true;
                                j:=255;
                             end;
                        $03: begin //Info pending...
                                j:=255; //Forces this INS end.
                             end;
                    end;
                    inc(j);
                    inc(j,Nanolen);
                end;
                if Node[i].Expanded=false Then begin
                    Node[i].Expand(false);
                end;
            until ((bFinished) or (Status<>$0090));
        end;

        mvarSECA.FillArray([$c1,$34,$00,$00,$03,$01,$00,$00],@INS[0],8);
        mvarSECA.ISO.ISOWrite(@INS[0],@INS[5],@Status); //Get JetONS i
...
...
(Please download the complete source code to view)
			
...
Expand> <Close

Want complete source code? Download it here

Point(s): 1

Download
0 lines left, continue to read
Sponsored links

File list

Tips: You can preview the content of files by clicking file names^_^
Name Size Date
About.rtf20.49 kB2005-03-15|17:16
changelog.txt4.26 kB2005-03-15|17:16
clean.bat92.00 B2005-01-05|02:35
DVBCore.pas31.98 kB2004-12-17|23:45
frmPPVInfo.dfm15.69 kB2004-12-19|19:54
frmPPVInfo.pas6.17 kB2005-03-03|01:02
01.96 kB
About.bmp3.05 kB2004-12-17|23:52
About.ico2.40 kB2004-12-17|23:52
Add.bmp1.30 kB2004-12-17|23:52
bluenote.ico7.23 kB2004-12-17|23:52
bug.jpg6.04 kB2005-01-05|02:35
CAM.ico2.40 kB2004-12-17|23:52
Close.bmp3.05 kB2004-12-17|23:52
EPG.bmp1.05 kB2005-01-05|21:10
EPG.ico1.37 kB2004-12-17|23:52
EPGOFF.bmp1.62 kB2004-12-17|23:52
EPGON.bmp1.62 kB2004-12-17|23:52
EPG_Gliph.bmp3.43 kB2004-12-17|23:52
Event.ico1.37 kB2004-12-17|23:52
jetons.ico1.37 kB2004-12-17|23:52
leftLogo.bmp9.96 kB2004-12-17|23:52
logger.ico1.68 kB2004-12-17|23:52
MagicWand.bmp1.30 kB2004-12-17|23:52
MagicWand.ico1.37 kB2004-12-17|23:52
MAS.ico1.37 kB2004-12-17|23:52
MENOS.ico1.37 kB2004-12-17|23:52
nemesis.ico4.19 kB2004-12-17|23:52
Phoenix.ico1.72 kB2004-12-17|23:52
Provider.ico1.37 kB2004-12-17|23:52
Remove.bmp1.30 kB2004-12-17|23:52
Reset.bmp3.05 kB2004-12-17|23:52
Restart.bmp1.30 kB2004-12-17|23:52
Save.bmp2.05 kB2004-12-17|23:52
scriptengine.ico7.23 kB2004-12-17|23:52
ScriptsEngine.bmp6.80 kB2004-12-17|23:52
Tools.bmp246.00 B2004-12-17|23:52
tuxprogramming.jpg4.15 kB2005-01-13|19:01
V9Card.jpg11.00 kB2005-03-03|01:02
IFSI_IniFiles.pas10.45 kB2004-12-19|19:54
MpgLib.DLL141.50 kB2004-12-24|17:03
PMCAM0.00 B2005-03-15|17:18
PMCAM4.67 kB2005-01-05|17:24
PMCAM4.69 kB2005-01-05|17:24
PMCAM4.52 kB2005-01-05|17:24
PMCAM.rc3.60 kB2004-12-17|23:47
PMCAM2.dpr6.30 kB2005-03-11|20:15
PMCAM2.res1.70 kB2005-03-15|17:16
PMCAM2StandAlone.dpr1.19 kB2005-03-03|01:02
PMCAM2StandAlone.res4.95 kB2005-03-11|20:15
PMCAMMenu.rc259.00 B2004-12-26|20:10
PMCAMMenu.RES162.25 kB2005-03-15|17:16
rUPClickSplitter.res740.00 B2004-12-19|19:54
santa_rock.jpg5.65 kB2004-12-24|17:59
UBitManager.pas4.18 kB2004-12-17|23:45
uDecode123.pas4.01 kB2004-12-29|01:33
UDVBConditionalAccessSystemNames.pas1.49 kB2004-12-17|23:45
UDVBCoreToMD.pas4.59 kB2004-12-17|23:45
UDVBPIDNames.pas1.23 kB2004-12-17|23:45
UDVBTablesHolder.pas2.68 kB2004-12-28|02:17
UEPGEntry.pas3.29 kB2004-12-17|23:45
UEPGMHW.dfm7.72 kB2005-01-11|02:38
UEPGMHW.pas40.85 kB2005-01-11|02:38
UfrmAddFilter.dfm6.86 kB2004-12-17|23:46
UfrmAddFilter.pas3.68 kB2004-12-17|23:45
UfrmCAM.dfm217.00 kB2005-03-15|03:22
UfrmCAM.pas159.37 kB2005-03-15|17:16
ufrmDLLForm.dfm420.00 B2004-12-19|19:54
ufrmDLLForm.pas1.87 kB2004-12-26|20:10
UfrmEMM.dfm1.28 kB2004-12-17|23:46
UfrmEMM.pas1.47 kB2004-12-17|23:45
UfrmEPGAdvanced.dfm7.01 kB2005-01-05|21:10
UfrmEPGAdvanced.pas2.56 kB2005-01-05|21:10
UfrmMHWEPGEntries.dfm3.81 kB2004-12-17|23:46
UfrmMHWEPGEntries.pas4.33 kB2004-12-17|23:45
ufrmMHWRadio.dfm35.85 kB2005-01-21|18:53
ufrmMHWRadio.pas37.84 kB2005-01-21|18:53
UfrmPMTDetails.dfm2.31 kB2005-01-21|18:53
UfrmPMTDetails.pas2.74 kB2005-01-21|18:53
UfrmWarningOnExit.dfm15.64 kB2005-01-05|21:10
UfrmWarningOnExit.pas1.44 kB2005-01-05|21:10
ULogEngine.pas15.89 kB2005-03-12|17:11
UMDDefs.pas4.07 kB2005-03-03|01:02
UMD_Impl.pas11.26 kB2005-03-03|01:02
United32.pas14.20 kB2004-12-17|23:45
UnitISO639_3.pas10.04 kB2005-03-03|01:02
UnitMDInterface.pas28.92 kB2005-03-15|03:22
UnitTimer.pas1.39 kB2004-12-17|23:45
Unit_CRC32.pas3.62 kB2004-12-17|23:45
uPESToTS.pas6.11 kB2005-03-03|01:02
UScriptFunctions.pas2.97 kB2005-01-03|16:45
UScriptsEditor.dfm58.10 kB2005-01-21|18:53
UScriptsEditor.pas22.02 kB2005-03-03|01:02
USECAManager.pas18.26 kB2005-03-03|01:02
USECATableStore.pas12.92 kB2004-12-17|23:45
USECA_EMM.pas7.74 kB2005-03-12|03:36
USmartCardISO.pas14.45 kB2004-12-17|23:45
UTfrmMultiDec.dfm407.00 B2005-01-21|18:53
UTfrmMultiDec.pas4.38 kB2005-01-21|18:53
UTranslate.pas6.49 kB2004-12-24|17:03
UTS184ToBitFilter.pas36.28 kB2005-03-11|20:15
uUPClickSplitter.dcr488.00 B2004-12-19|19:54
uUPClickSplitter.dcu18.09 kB2005-03-03|01:02
uUPClickSplitter.pas20.43 kB2004-12-26|20:10
PMCAM2_2.50.zip870.87 kB2016-03-19|22:08
...
Sponsored links

frmPPVInfo.pas (1.30 MB)

Need 1 point
Your Point(s)

Your Point isn't enough.

Get point immediately by PayPal

More(Debit card / Credit card / PayPal Credit / Online Banking)

Submit your source codes. Get more point

LOGIN

Don't have an account? Register now
Need any help?
Mail to: support@codeforge.com

切换到中文版?

CodeForge Chinese Version
CodeForge English Version

Where are you going?

^_^"Oops ...

Sorry!This guy is mysterious, its blog hasn't been opened, try another, please!
OK

Warm tip!

CodeForge to FavoriteFavorite by Ctrl+D