/// <summary> /// Metode til indtastning af CPR-nummer. Gemmer indtastede værdier som værdier i en liste, /// og konverterer afslutningsvis listen til én samlet string. /// </summary> public void GetSocSecNumber() { byte xValueCPRLine = 0; //variabel byte xStartValueNumberLine = Convert.ToByte(0); //konstant byte countingIsPressed = 0; lcd.lcdClear(); twist.setCount(0); lcd.lcdGotoXY(0, 0); lcd.lcdPrint("Indtast CPR nummer"); WritenumberLine(); // Kører denne metode for at få vist NumberLine lcd.lcdGotoXY(xStartValueNumberLine, 1); //starter samme sted som numberline while (countingIsPressed < 11) { while (twist.isPressed() == false) { if (twist.getCount() < 0) //Limit-metode - hvis cursoren går forbi 0-tallet, hopper den hen på 9 { lcd.lcdGotoXY(9, 1); twist.setCount(9); } else if (twist.getCount() > 9) //Limit-metode - hvis cursoren går forbi 9-tallet, hopper den hen på 0 { lcd.lcdGotoXY(0, 1); twist.setCount(0); } else if (twist.getCount() >= 0 || twist.getCount() <= 9) { byte getCount = Convert.ToByte(twist.getCount() + xStartValueNumberLine); lcd.lcdGotoXY(getCount, 1); } } Thread.Sleep(500); cprNumbersL.Add(twist.getCount()); //Tilføj til en liste som vi senere kan videresende lcd.lcdGotoXY(xValueCPRLine, 2); //Bruger ser cpr nummer på denne linje lcd.lcdPrint(twist.getCount().ToString()); //udskriver på pladsen til cpr nummer xValueCPRLine++; twist.setCount(twist.getCount()); // Her bliver cursoren stående på positionen på numberline //Sætter cursoren tilbage der hvor den sluttede byte getCountEnd = Convert.ToByte(twist.getCount() + xStartValueNumberLine); lcd.lcdGotoXY(getCountEnd, 1); countingIsPressed++; if (countingIsPressed == 6) //Der skal være en bindestreg efter tal nr 6 { lcd.lcdGotoXY((xValueCPRLine++), 2); lcd.lcdPrint("-"); countingIsPressed++; } } SocSecNumberAsString = string.Join("", cprNumbersL.ToArray()); }
/// <summary> /// Constructor for objekt af klassen. Instansierer referencerne. /// </summary> public Communication() { lcd = new SerLCD(); twist = new TWIST(); twist.setCount(0); ekgRecordRef = new Ekg_Record(); displayRef = new Display(); batteryRef = new Battery(); batteryStatusRef = new BatteryStatus(); }
//Metoden for hvis Endcoderen er drejet static void IsMoved() { try { // set count og get cout // Skal muligvis ændres til states // Switch if (endcoder.getCount() == -1) //-1 { endcoder.setCount(0); Interface.ShowStartMaaling(); Console.WriteLine("-1"); } else if (endcoder.getCount() == startMaaling) //0 { Interface.ShowStartMaaling(); Console.WriteLine("0"); } else if (endcoder.getCount() == Time) //1 { Interface.ShowTime(); Console.WriteLine("1"); } else if (endcoder.getCount() == Historik) //2 { Interface.ShowHistory(); Console.WriteLine("2"); } else if (endcoder.getCount() == 3) //3 { endcoder.setCount(2); Interface.ShowHistory(); Console.WriteLine("3"); } } catch { Console.WriteLine("Connection to display failed."); } }
//Metoden starter displayet op og henter patientinformationer. static void Initialisere() { //Objekter oprettes. Interface = new Patient_Interface(); endcoder = new TWIST(); Logic = new Logic(); //Start sekvens vises og hovedmenuen vises efter. Interface.ScreenColor(255, 255, 0); endcoder.setCount(0); //metode til at hente patient informationer - retur værdi DTO patient Patient = Logic.GetPatientCPR(); Console.WriteLine("Velkommen " + Patient.PatientName); Interface.ShowStartMenu(Patient.PatientName); Interface.ShowStartMaaling(); }