GSMモデムからのSMSを表示するために使用するリストビューがあります。私はメッセージのポートを読み取り、それらを解析してから表示しています。メッセージを読んだときに得られる形式は次のとおりです。
+CMGL: 5,"REC READ","IA-612345","","2012/08/04 11:54:00+22"
Some text message
解析に使用するコード:
public ShortMessageCollection ParseMessages(string input)
{
ShortMessageCollection messages = new ShortMessageCollection();
Regex r = new Regex(@"\+CMGL: (\d+),""(.+)"",""(.+)"",(.*),""(.+)""\r\n(.+)\r\n");
Match m = r.Match(input);
while (m.Success)
{
ShortMessage msg = new ShortMessage();
msg.Index = m.Groups[1].Value;
msg.Status = m.Groups[2].Value;
msg.Sender = m.Groups[3].Value;
msg.Alphabet = m.Groups[4].Value;
msg.Sent = m.Groups[5].Value;
msg.Message = m.Groups[6].Value;
messages.Add(msg);
m = m.NextMatch();
}
}
return messages;
リストビューにメッセージを追加するために使用するループ:
foreach (ShortMessage msg in objShortMessageCollection)
{
ListViewItem item = new ListViewItem(new string[] { msg.Sender, msg.Message, msg.Sent, msg.Index });
item.Tag = msg;
lvwMessages.Items.Insert(0, item);
}
リストビューにメッセージを追加するときの要件は、未読のメッセージ(REC UNREAD)を太字で表示し、メッセージREADを通常のフォントで表示することです。これは可能ですか?手順を教えてください。