📄 task.~pas
字号:
// 添加数据到列表中
while not unselecteduseradoquery.Eof do
begin
ListItem:=unselecteduserlistview.Items.Add;
ListItem.Caption:=unselecteduseradoquery.Fields.Fields[1].AsString;
ListItem.SubItems.Add(unselecteduseradoquery.Fields.Fields[2].AsString);
ListItem.SubItems.Add(unselecteduseradoquery.Fields.Fields[0].AsString);
ListItem.SubItems.Add(unselecteduseradoquery.Fields.Fields[4].AsString);
ListItem.SubItems.Add(unselecteduseradoquery.Fields.Fields[5].AsString);
ListItem.SubItems.Add(unselecteduseradoquery.Fields.Fields[6].AsString);
ListItem.SubItems.Add(unselecteduseradoquery.Fields.Fields[7].AsString);
ListItem.SubItems.Add(unselecteduseradoquery.Fields.Fields[8].AsString);
ListItem.SubItems.Add(unselecteduseradoquery.Fields.Fields[9].AsString);
ListItem.SubItems.Add(unselecteduseradoquery.Fields.Fields[10].AsString);
ListItem.SubItems.Add(unselecteduseradoquery.Fields.Fields[3].AsString);
ListItem.SubItems.Add(unselecteduseradoquery.Fields.Fields[11].AsString);
unselecteduseradoquery.Next;
end;
unselecteduseradoquery.Close;
unselecteduseradoquery.Free;
end;
procedure TtaskForm.clearSpeedButtonClick(Sender: TObject);
begin
//清空条件选项
sexComboBox.ItemIndex:=-1;
occupationComboBox.ItemIndex:=-1;
birth_yearComboBox.ItemIndex:=-1;
companyComboBox.ItemIndex:=-1;
departmentComboBox.ItemIndex:=-1;
jobComboBox.ItemIndex:=-1;
end;
procedure TtaskForm.querySpeedButtonClick(Sender: TObject);
begin
self.ShowUnselectedusers(trim(sexComboBox.Text),trim(occupationComboBox.Text),
trim(birth_yearComboBox.Text),trim(companyComboBox.Text),
trim(departmentComboBox.Text),trim(jobComboBox.Text));
end;
procedure TtaskForm.addSpeedButtonClick(Sender: TObject);
var
ListItem: TListItem;
i:integer;
begin
if unselecteduserlistview.SelCount=1 then
begin
//将未选客户添加已选客户栏
ListItem:=selecteduserlistview.Items.Add;
ListItem.Caption:=unselecteduserlistview.Selected.Caption;
for i:=0 to unselecteduserlistview.Selected.SubItems.Count-1 do
ListItem.SubItems.Add(unselecteduserlistview.Selected.SubItems.Strings[i]);
//将客户从未选客户栏中删除
unselecteduserlistview.DeleteSelected;
end;
end;
procedure TtaskForm.deleteSpeedButtonClick(Sender: TObject);
var
ListItem: TListItem;
i:integer;
begin
if selecteduserlistview.SelCount=1 then
begin
//将已选客户添加未选客户栏
ListItem:=unselecteduserlistview.Items.Add;
ListItem.Caption:=selecteduserlistview.Selected.Caption;
for i:=0 to selecteduserlistview.Selected.SubItems.Count-1 do
ListItem.SubItems.Add(selecteduserlistview.Selected.SubItems.Strings[i]);
//将客户从已选客户栏中删除
selecteduserlistview.DeleteSelected;
end;
end;
procedure TtaskForm.exitBitBtnClick(Sender: TObject);
begin
close;
end;
procedure TtaskForm.send_immediatelyRadioButtonClick(Sender: TObject);
begin
DateTimePicker1.Visible:=False;
DateTimePicker2.Visible:=False;
end;
procedure TtaskForm.select_timeRadioButtonClick(Sender: TObject);
begin
DateTimePicker1.Visible:=True;
DateTimePicker2.Visible:=True;
DateTimePicker1.Date:=date;
DateTimePicker2.Time:=time;
end;
procedure TtaskForm.sureBitBtnClick(Sender: TObject);
var
task_id,mobile_telephone,send_time:string;
sm_content:String;
s:String;
s_count:Integer;
i:Integer;
ListItem:TListItem;
begin
//检查是否已选择联系人
if selecteduserlistview.Items.Count=0 then
begin
application.MessageBox('请选择联系人!','提示',MB_OK);
exit;
end;
// 检查是否已输入短信内容
if smMemo.Text='' then
begin
application.MessageBox('请输入短信内容!','提示',MB_OK);
smMemo.SetFocus;
exit;
end;
sm_content:=smMemo.Text;
//短信分段
while sm_content<>'' do
begin
//取适当长度的短信
s_count:=0;
s:='';
while (sm_content<>'') and (s_count<70) do
begin
//该字符为中文
if Ord(sm_content[1])>=128 then
begin
//字符计数加1
s_count:=s_count+1;
//取该中文字符
s:=s+Copy(sm_content,1,2);
//删除该中文字符
delete(sm_content,1,2);
end
//该字符为英文
else
begin
//字符计数加1
s_count:=s_count+1;
//取该中文字符
s:=s+Copy(sm_content,1,1);
//删除该中文字符
delete(sm_content,1,1);
end;
end;
//等待1秒
sleep(1000);
//生成任务编号
task_id:=datetimetostr(now);
// 判断是立即发送还是定时发送
if send_immediatelyRadioButton.Checked then
send_time:=task_id
else
send_time:=datetostr(DateTimePicker1.Date)+' '+timetostr(DateTimePicker2.Time);
//生成电话号码串
for i:=0 to selecteduserlistview.Items.Count-1 do
mobile_telephone:=mobile_telephone+
selecteduserlistview.Items.Item[i].SubItems.Strings[1]+';';
// 向 taskadocommand 对象
try
taskadoquery.Append;
taskadoquery.Fields.Fields[0].AsString:=task_id;
taskadoquery.Fields.Fields[1].AsString:=mobile_telephone;
taskadoquery.Fields.Fields[2].AsString:=send_time;
taskadoquery.Fields.Fields[3].AsInteger:=selecteduserlistview.Items.Count;
taskadoquery.Fields.Fields[4].AsInteger:=0;
taskadoquery.Fields.Fields[5].AsInteger:=0;
taskadoquery.Fields.Fields[6].AsInteger:=selecteduserlistview.Items.Count;
taskadoquery.Fields.Fields[7].AsString:=s;
taskadoquery.Fields.Fields[10].AsString:=mobile_telephone;
taskadoquery.Post;
except
application.MessageBox('发生错误!','提示',MB_OK);
exit;
end;
//将新建任务信息添加到任务列表中
ListItem:=mainForm.taskListView.Items.Add;
ListItem.ImageIndex:=2;
ListItem.Caption:=task_id;
ListItem.SubItems.Add('等待');
ListItem.SubItems.Add(send_time);
ListItem.SubItems.Add(inttostr(selecteduserlistview.Items.Count));
ListItem.SubItems.Add('0');
ListItem.SubItems.Add('0');
ListItem.SubItems.Add(inttostr(selecteduserlistview.Items.Count));
ListItem.SubItems.Add(s);
end;
close;
end;
procedure TtaskForm.smMemoChange(Sender: TObject);
var
s:String;
s_len:Integer;
begin
//对短信内容进行编码
s:=EncodeChinese(smMemo.Text);
//计算短信长度
s_len:=Length(s) div 4;
if s_len mod 70 =0 then
charcountStaticText.Caption:=inttostr(s_len)+'/'+
inttostr(s_len div 70)
else if s_len mod 70 <>0 then
charcountStaticText.Caption:=inttostr(s_len)+'/'+
inttostr(s_len div 70 + 1)
end;
procedure TtaskForm.insert_smSpeedButtonClick(Sender: TObject);
begin
//初始化
inserttextForm.selectedtext:='';
//取得选中的文本信息
if inserttextForm.ShowModal=mrOK then
smMemo.Text:=smMemo.Text+inserttextForm.selectedtext;
end;
procedure TtaskForm.selecteduserListViewInsert(Sender: TObject;
Item: TListItem);
begin
//显示当前的已选的联系人的数量
selecteduserLabel.Caption:='已添加'+IntToStr(selecteduserlistview.Items.Count)+
'个联系人';
end;
procedure TtaskForm.selecteduserListViewDeletion(Sender: TObject;
Item: TListItem);
begin
//显示当前的已选的联系人的数量
selecteduserLabel.Caption:='已添加'+IntToStr(selecteduserlistview.Items.Count-1)+
'个联系人';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -