GPS 데이터와 NMEA 문장을 사용합니다. 리치 텍스트 상자에 "$ GNGGA"및 "$ GNTVG"로 시작하는 문장 만보고 싶고 다른 문장 ($ GNGLL로 시작하는 문장)이 있습니다. , $ GLGSV, $ GPGSV 등). Richtextbox에 "$ GNGGA"및 "$ GNTVG"문장 만 얻으려면 어떻게해야합니까?Richtextbox에서 부적절한 문장을 삭제하는 방법은 무엇입니까?
내 코드는 다음과 같습니다. 내 질문에 대한 영업 이익의 회신 사항에 따라
string[] gParca;
string gKG, gDB, gUydular, gYukseklik, gEnlem, gBoylam, gYataySapma, gKilitlenme, gVelocity, gSaat;
private void GPSVelocity(string NMEA2)
{
gParca = NMEA2.Split(new char[] { ',' });
switch(gParca[0])
{
case "$GNVTG":
gVelocity = gParca[7];
break;
}
private void GPSDataBilgisi(string NMEA)
{
gParca=NMEA.Split(new char[] { ',' });
switch (gParca[0])
{
//Global Positioning System Fix data
case "$GNGGA":
gParca[2] = gParca[2].Replace('.', ',');
gParca[4] = gParca[4].Replace('.', ',');
}
}
private void serialPortGPS_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
GPSDataBilgisi(serialPortGPS.ReadLine());
GPSVelocity(serialPortGPS.ReadLine());
}
private void GPSVel(string NMEA2)
{
if(checkBoxSave.Checked)
{
richTextBoxGPSData.AppendText(NMEA2);
}
}
private void GPSData(string NMEA)
{
if(checkBoxSave.Checked)
{
richTextBoxGPSData.AppendText(NMEA);
}
}
제 질문에 대한 답으로,'serialPortGPS'는'ReadLine()'함수가있는'TextReader' 객체처럼 작동한다고 가정 할 수 있습니까? 데이터가 이벤트 args에서 나오기를 기대하지만 코드가 다르게 생각하는 것 같습니다 ... – Flater
예, serialPortGPS를 TextReader로 가정 할 수 있습니다. – Quanthema