我看到在这个论坛上发布了类似的主题,但我根本不明白如何发送AT命令并收到回复.(几个月前我开始用C#编程.我还是一个n00b,但我正在努力学习它......).
我需要创建只能通过GSM USB加密狗接收短信的应用程序.到目前为止,我设法创建应用程序,通过可用的COM端口识别和连接调制解调器.现在我需要按AT命令来接收消息并将它们显示到textBox中.我想知道是否有人可以花几分钟时间向我解释这个过程,并用注释修改我的代码,这样我终于可以学习并理解如何使用serialPort进行通信.我需要知道的是,当发送短信时,这条消息是由GSM调制解调器接收和存储的(它存储直到我发送一些请求来读取它们或者我是否需要发送一些会触发GSM调制解调器收集消息的事件来自ISP)?如何推送AT命令并接收他们的响应(我只知道这是通过使用serialPort对象来完成的,但不是'
这是我接收的方法(我被卡住了... :))
private void receiveMessage()
{
//commclass is only a class for getting COM port, baud rate and timeout
CommClass cc = new CommClass();
cc.setParameters();
serialPort1.PortName = cc.getPort();
serialPort1.BaudRate = cc.getBaud();
serialPort1.ReadTimeout = cc.getTimeout();
serialPort1.Open();
if (!serialPort1.IsOpen)
{
//MessageBox is written in Croatian language, it is only an alert to check the configuration because port is not opened...
MessageBox.Show("Modem nije spojen, molimo provjerite konfiguraciju...!");
//timer1.Stop();
}
else
{
//this.label2.Text = serialPort1.PortName;
//this.label2.Visible = true;
//this.label3.Visible = true; …Run Code Online (Sandbox Code Playgroud) 我创建了充当报表加载器的窗体.我还通过报告向导创建了两个RDLC报告,并自动为这两个报告创建了数据集.现在我有两个数据集:sparcsn4DataSet.xsd和sparcsn4DataSet1.xsd,它们使用存储过程并传递两个参数(dateFrom/dateTo).我有绑定数据集的问题,具体取决于状态:
if (idRep.Equals("extraMove"))
Run Code Online (Sandbox Code Playgroud)
如果您有一个报告,将数据集绑定到reportview非常容易.
但如果你有多个呢?我总是可以使用另一个reportviewer创建另一个表单,但这不是一个选项(如果你有10个报表/数据集),这绝对是不可能的?
应该有办法将数据集绑定到reportviewer ...有没有人有想法,我如何根据状态解决绑定问题?
if (idRep.Equals("extraMove"))
{
this.AGCT_ServiceEventReportTableAdapter.Fill(this.sparcsn4DataSet.AGCT_ServiceEventReport, d1,d2);
}
else if (idRep.Equals("stripStuff"))
{
this.AGCT_StripStuffReportTableAdapter.Fill(this.sparcsn4DataSet1.AGCT_StripStuffReport, d1, d2);
}
else
{
MessageBox.Show("Ooops, something went wrong...!");
}
Run Code Online (Sandbox Code Playgroud)
这是ReportForm.cs上有reportviewer:
namespace NavisReportLoader
{
public partial class ReportForm : Form
{
public DateTime d1;
public DateTime d2;
public string dat1;
public string dat2;
public string idRep;
public ReportForm()
{
InitializeComponent();
}
public void passParam(string dateFrom, string dateTo, string date1, string date2)
{
//ispravi ovo
d1 = Convert.ToDateTime(dateFrom);
d2 = Convert.ToDateTime(dateTo);
dat1 = …Run Code Online (Sandbox Code Playgroud)