📄 ufrmadclientmng.pas
字号:
strUpdate := strUpdate + ' where fid = "' + strfid + '"';
strResult := DoADServerCommand(ADSERVER_COMMAND_EXECUTE_SQL, strUpdate);
txtlog.Lines.Add(strUpdate);
txtlog.Lines.Add(strResult);
if 'OK' = strResult then
begin
cmdGetAccountClick(nil);
end;
end;
procedure TfrmADClientMng.mnuSetRuntimesClick(Sender: TObject);
var
nPos: integer;
bOK: Boolean;
strUpdate: string;
strThreads, strRuntimes: string;
strUser, strFid: string;
strResult: string;
s: string;
begin
nPos := view.DataController.GetEditingRecordIndex();
if nPos < 0 then exit;
strThreads := memDB.FieldByName('threads').AsString;
strRuntimes := inputbox('提示信息', '输入运行次数(1-50)', '30');
if strRuntimes > '1' then
begin
strThreads := '1';
end;
strFid := memDB.FieldByName('fid').AsString;
strUser := memDB.FieldByName('user').AsString;
strUpdate := 'update account_tab set runtimes = "' + strRuntimes + '" , threads="' + strThreads + '"';
strUpdate := strUpdate + ' where fid=' + strFid;
strResult := DoADServerCommand(ADSERVER_COMMAND_EXECUTE_SQL, strUpdate);
txtlog.Lines.Add(strUpdate);
txtlog.Lines.Add(strResult);
if 'OK' = strResult then
begin
view.DataController.Values[nPos, 8] := strThreads;
view.DataController.Values[nPos, 13] := strRuntimes;
end;
end;
procedure TfrmADClientMng.cmdModifyClick(Sender: TObject);
var
frmAdd: TfrmAdd;
i: integer;
strType: string;
strUseIps: string;
begin
frmAdd := TfrmAdd.Create(self);
frmAdd.m_bAdd := false;
frmAdd.Caption := '修改帐号:' + memDB.FieldByName('fid').AsString;
frmAdd.m_fid := memDB.FieldByName('fid').AsInteger;
frmAdd.txtUser.Text := memDB.FieldByName('user').AsString;
frmAdd.txtOwner.Text := memDB.fieldbyname('owner').AsString;
frmAdd.txtAccount.Text := memDB.fieldbyname('account').AsString;
frmAdd.txtReferer.Text := memDB.FieldByName('referer').AsString;
frmAdd.txtKeywords2.Text := memDB.FieldByName('keywords2').AsString;
frmAdd.txtADLink.Text := memDB.FieldByName('adlink').AsString;
frmAdd.txtAHref.Text := memDB.FieldByName('ahref').AsString;
frmAdd.txtImgsrc.Text := memDB.FieldByName('imgsrc').AsString;
frmAdd.txtShows.Text := memDB.FieldByName('shows').AsString;
frmAdd.txtHits.Text := memDB.FieldByName('hits').AsString;
strType := memDB.FieldByName('ftype').AsString;
for i := 0 to frmAdd.cmbType.Items.Count - 1 do
begin
if frmAdd.cmbType.Items[i] = strType then
begin
frmAdd.cmbType.ItemIndex := i;
end;
end;
frmAdd.txtMemo.Text := memDB.FieldByName('memo').AsString;
frmAdd.txtRuntimes.Text := memDB.FieldByName('runtimes').AsString;
frmAdd.txtCTR.Text := memDB.FieldByName('ctr').AsString;
frmAdd.txtZOrder.Text := memDB.FieldByName('zorder1').AsString;
frmAdd.chkSelected.Checked := memDB.FieldByName('isselected').AsBoolean;
frmAdd.SelectedCountry(memDB.FieldByName('country').AsString);
frmAdd.SelectIpRangeCheckBox(memDB.FieldByName('iprange').AsString);
strUseIps := memDB.FieldByName('useips').AsString;
frmAdd.SelectedUser(strUseIps);
frmAdd.txtUseips.Text := strUseIps;
frmAdd.chkSelected.Checked := MyOneCharStringToBoolean(memDB.FieldByName('isselected').AsString);
frmAdd.chkNeedLog.Checked := MyOneCharStringToBoolean(memDB.FieldByName('needlog').AsString);
frmAdd.rbShows.Checked := true;
frmAdd.rbHits.Checked := MyOneCharStringToBoolean(memDB.FieldByName('isHits').AsString);
frmAdd.cmdNew.Caption := '确定';
frmAdd.ShowModal;
end;
procedure TfrmADClientMng.mnuDownloadDBClick(Sender: TObject);
var
bOK: boolean;
begin
screen.Cursor := crSQLWAIT;
bOk := DownloadFileToLocalFile('ad.sqb');
screen.Cursor := crDefault;
if bOk then
showmessage('备份成功!')
else
showmessage('失败!')
end;
procedure TfrmADClientMng.mnuEditClick(Sender: TObject);
begin
cmdModifyClick(Sender);
end;
procedure TfrmADClientMng.viewFocusedRecordChanged(
Sender: TcxCustomGridTableView; APrevFocusedRecord,
AFocusedRecord: TcxCustomGridRecord;
ANewItemRecordFocusingChanged: Boolean);
var
strType: string;
begin
lblAHref.Caption := 'ahref';
lblImgsrc.Caption := 'imgsrc';
lblImgsrc.Font.Color := clWindowText;
lblAHref.Font.Color := clWindowText;
strType := memDB.fieldbyname('ftype').AsString;
txtcountry.Text := memDB.fieldbyname('country').AsString;
txtruntimes.Text := memDB.fieldbyname('runtimes').AsString;
txtahref.Text := memDB.fieldbyname('ahref').AsString;
txtimgsrc.Text := memDB.fieldbyname('imgsrc').AsString;
txtCTR.Text := memDB.fieldbyname('ctr').AsString;
txtKeywords2.Text := memDB.fieldbyname('keywords2').AsString;
txtAdLink.Text := memDB.fieldbyname('adlink').AsString;
txtReferer.Text := memDB.fieldbyname('referer').AsString;
txtUseIps.Text := memDB.fieldbyname('useips').AsString;
txtSubType.Text := memDB.fieldbyname('memo').AsString;
txtIpRange.Text := memDB.fieldbyname('iprange').AsString;
txtAccount.Text := memDB.fieldbyname('Account').AsString;
txtType.Text := strType;
if strType = 'park' then
begin
lblAHref.Caption := 'CTR2';
lblImgsrc.Caption := 'Traffic';
lblImgsrc.Font.Color := clBlue;
lblAHref.Font.Color := clBlue;
end;
end;
procedure TfrmADClientMng.mnuAddIE_cpcClick(Sender: TObject);
var
frmAdd: TfrmAdd;
begin
frmAdd := TfrmAdd.Create(self);
frmAdd.Selected_cmbType('ie_cpc');
frmAdd.cmdDefaultClick(nil);
frmAdd.m_bAdd := true;
frmAdd.SelectedUser('ALL');
frmAdd.txtUseips.Text := 'ALL';
frmAdd.ShowModal;
end;
procedure TfrmADClientMng.mnuAddSearchGetClick(Sender: TObject);
var
frmAdd: TfrmAdd;
begin
frmAdd := TfrmAdd.Create(self);
frmAdd.Selected_cmbType('search_get');
frmAdd.cmdDefaultClick(nil);
frmAdd.m_bAdd := true;
frmAdd.SelectedUser('ALL');
frmAdd.txtUseips.Text := 'ALL';
frmAdd.ShowModal;
end;
procedure TfrmADClientMng.mnuAddABCSearchClick(Sender: TObject);
var
frmAdd: TfrmAdd;
begin
frmAdd := TfrmAdd.Create(self);
frmAdd.Selected_cmbType('abcsearch');
frmAdd.cmdDefaultClick(nil);
frmAdd.m_bAdd := true;
frmAdd.SelectedUser('ALL');
frmAdd.txtUseips.Text := 'ALL';
frmAdd.ShowModal;
end;
procedure TfrmADClientMng.cmbUserChange(Sender: TObject);
begin
CURRENT_USER := cmbUser.Text;
if CURRENT_USER <> '' then
begin
self.Caption := '广告设置(' + ADSERVER_IP + ':' + inttostr(ADSERVER_PORT) + ',' + CURRENT_USER + ')';
GetRecord(CURRENT_USER);
end;
end;
procedure TfrmADClientMng.mnuDelChinaClick(Sender: TObject);
var
strSQL: string;
strResult: string;
begin
strSQL := 'delete from install_tab where country="中国"';
strResult := DoADServerCommand(ADSERVER_COMMAND_EXECUTE_SQL, strSQL);
strSQL := 'delete from ip_tab where country="中国"';
strResult := DoADServerCommand(ADSERVER_COMMAND_EXECUTE_SQL, strSQL);
if strResult = 'OK' then
showmessage('删除成功!')
else
showmessage('删除失败!');
end;
procedure TfrmADClientMng.N5Click(Sender: TObject);
begin
self.Close;
end;
procedure TfrmADClientMng.mnuAddxmlfeedClick(Sender: TObject);
var
frmAdd: TfrmAdd;
begin
frmAdd := TfrmAdd.Create(self);
frmAdd.Selected_cmbType('xmlfeed');
frmAdd.cmdDefaultClick(nil);
frmAdd.m_bAdd := true;
frmAdd.SelectedUser('ALL');
frmAdd.txtUseips.Text := 'ALL';
frmAdd.ShowModal;
end;
procedure TfrmADClientMng.mnuDeleteRecordClick(Sender: TObject);
begin
cmdDelClick(nil);
end;
procedure TfrmADClientMng.mnuAddiframe_cpcClick(Sender: TObject);
var
frmAdd: TfrmAdd;
begin
frmAdd := TfrmAdd.Create(self);
frmAdd.Selected_cmbType('iframe_cpc');
frmAdd.cmdDefaultClick(nil);
frmAdd.m_bAdd := true;
frmAdd.SelectedUser('ALL');
frmAdd.txtUseips.Text := 'ALL';
frmAdd.ShowModal;
end;
procedure TfrmADClientMng.mnuDownRefererClick(Sender: TObject);
var
bOK: boolean;
s: string;
begin
s := inputbox('下载文件', '输入文件名', '');
s := trim(s);
if s = '' then
begin
exit;
end;
screen.Cursor := crSQLWAIT;
bOk := DownloadFileToLocalFile(s);
screen.Cursor := crDefault;
if bOk then
showmessage('备份成功!')
else
showmessage('失败!')
end;
procedure TfrmADClientMng.mnuCopyAccountClick(Sender: TObject);
var
strfid: string;
strSQL: string;
strResult: string;
begin
strfid := memDB.FieldByName('fid').AsString;
if (strfid = '0') or (strfid = '') then
begin
exit;
end;
if windows.MessageBox(self.Handle, pchar('是否克隆新帐号,编号=' + strfid), '提示信息', MB_YESNOCANCEL or MB_ICONWARNING or MB_DEFBUTTON3) <> ID_YES then
begin
exit;
end;
strSQL := 'insert into ACCOUNT_TAB(user,account,ftype,adlink,referer ,keywords2,ahref,imgsrc,ctr,runtimes,memo,country,threads,shows,hits,isselected,isHits,owner,useips,iprange,needlog,zorder) ';
strSQL := strSQL + ' select user,account,ftype,adlink,referer ,keywords2,ahref,imgsrc,ctr,runtimes,memo,country,threads,shows,hits,isselected,isHits,owner,useips,iprange,needlog,zorder from ACCOUNT_TAB where fid=' + strfid;
strResult := DoADServerCommand(ADSERVER_COMMAND_EXECUTE_SQL, strSQL);
if strResult = 'OK' then
begin
end;
txtlog.Lines.Add(strResult);
cmdGetAccountClick(sender);
end;
procedure TfrmADClientMng.mnuAccountMoveToClick(Sender: TObject);
var
strfid: string;
strSQL: string;
strResult: string;
strUser: string;
frmAccounMoveTo: TfrmAccounMoveTo;
begin
strfid := memDB.FieldByName('fid').AsString;
if (strfid = '0') or (strfid = '') then
begin
exit;
end;
frmAccounMoveTo := TfrmAccounMoveTo.Create(self);
try
frmAccounMoveTo.cmbUser.Items.AddStrings(cmbUser.Items);
frmAccounMoveTo.ShowModal;
strUser := frmAccounMoveTo.m_strUser;
finally
frmAccounMoveTo.Free;
end;
if strUser = '' then
begin
exit;
end;
strSQL := 'update ACCOUNT_TAB set user = "' + strUser + '" where fid=' + strFid;
strResult := DoADServerCommand(ADSERVER_COMMAND_EXECUTE_SQL, strSQL);
if strResult = 'OK' then
begin
end;
txtlog.Lines.Add(strResult);
cmdGetAccountClick(sender);
end;
function GetTotalGrid(iprange: string): integer;
var
i: integer;
begin
result := 0;
for i := 1 to 40 do
begin
if iprange[i] = '1' then
begin
inc(result);
end;
end;
end;
procedure TfrmADClientMng.cmdCheckTrafficClick(Sender: TObject);
var
useips, iprange: string;
nshows: integer;
nOneGridTraffic: integer;
nComputerTotalTraffic: integer;
n43906838, n439068382, nxiaotm3: integer;
nSelectedGrid: integer;
fid:integer;
ftype:string;
isSelected:string;
fYuZhi:double;
begin
txtResult.Clear;
n43906838 := strtointdef(txt43906838.Text, 300);
n439068382 := strtointdef(txt439068382.Text, 300);
nxiaotm3 := strtointdef(txtxiaotm3.Text, 300);
fYuZhi := strtofloatdef(txtYuzhi.Text,1.2);
memDB.DisableControls;
memDB.First;
while not memDB.Eof do
begin
fid :=memDB.fieldbyname('fid').AsInteger;
ftype := memDB.fieldbyname('ftype').asstring;
isSelected :=memDB.fieldbyname('isSelected').asstring;
if (ftype <> 'park') then
begin
memDB.Next;
continue;
end;
if isSelected <> '1' then
begin
memDB.Next;
continue;
end;
nshows := memDB.fieldbyname('shows').AsInteger;
iprange := memDB.fieldbyname('iprange').AsString;
useips := memDB.fieldbyname('useips').AsString;
nSelectedGrid := GetTotalGrid(iprange);
nComputerTotalTraffic := 0;
if pos('439068382_', useips) > 0 then
begin
nComputerTotalTraffic := nComputerTotalTraffic + nSelectedGrid * n439068382;
end;
if pos('43906838_', useips) > 0 then
begin
nComputerTotalTraffic := nComputerTotalTraffic + nSelectedGrid * n43906838;
end;
if pos('xiaotm3_', useips) > 0 then
begin
nComputerTotalTraffic := nComputerTotalTraffic + nSelectedGrid * nxiaotm3;
end;
if pos('ALL', useips) > 0 then
begin
nComputerTotalTraffic := nComputerTotalTraffic + nSelectedGrid * n439068382;
nComputerTotalTraffic := nComputerTotalTraffic + nSelectedGrid * n43906838;
nComputerTotalTraffic := nComputerTotalTraffic + nSelectedGrid * nxiaotm3;
end;
if nshows > nComputerTotalTraffic * fYuZhi then
begin
txtResult.Lines.Add( '!'+inttostr(fid) +' '+ ' ' + inttostr(nshows) + ' ' + inttostr(nComputerTotalTraffic) + ' ' + useips);
end;
if nshows * fYuZhi < nComputerTotalTraffic then
begin
txtResult.Lines.Add( '****' + inttostr(fid) +' '+ ' ' + inttostr(nshows) + ' ' + inttostr(nComputerTotalTraffic) + ' ' + useips);
end;
memDB.Next;
end;
memDB.EnableControls;
end;
procedure TfrmADClientMng.cmdIPRangeClick(Sender: TObject);
var
useips, iprange: string;
nshows: integer;
nOneGridTraffic: integer;
nComputerTotalTraffic: integer;
n43906838, n439068382, nxiaotm3: integer;
nSelectedGrid: integer;
fid:integer;
ftype:string;
isSelected:string;
fYuZhi:double;
a:array[1..40] of integer;
i:integer;
begin
txtResult.Clear;
for i := 1 to 40 do
begin
a[i]:=0;
end;
memDB.DisableControls;
memDB.First;
while not memDB.Eof do
begin
fid :=memDB.fieldbyname('fid').AsInteger;
ftype := memDB.fieldbyname('ftype').asstring;
isSelected :=memDB.fieldbyname('isSelected').asstring;
if (ftype <> 'park') then
begin
memDB.Next;
continue;
end;
if isSelected <> '1' then
begin
memDB.Next;
continue;
end;
nshows := memDB.fieldbyname('shows').AsInteger;
iprange := memDB.fieldbyname('iprange').AsString;
useips := memDB.fieldbyname('useips').AsString;
for i:= 1 to 40 do
begin
if iprange[i] = '1' then
begin
a[i] := a[i] +1;
end;
end;
txtResult.Lines.Add(iprange + ' '+ inttostr(fid) + ' '+ useips);
memDB.Next;
end;
memDB.EnableControls;
for i := 1 to 40 do
begin
txtResult.Lines.Add(inttostr(i) + ' '+inttostr(a[i]));
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -