Index: trunk/BNC/bncrinex.cpp
===================================================================
--- trunk/BNC/bncrinex.cpp	(revision 203)
+++ trunk/BNC/bncrinex.cpp	(revision 204)
@@ -112,64 +112,12 @@
   QDate nextDate;
 
-  if (intStr == "5 min") {
+  int indHlp = intStr.indexOf("min");
+
+  if ( indHlp != -1) {
+    int step = intStr.left(indHlp-1).toInt();
     char ch = 'A' + datTim.time().hour();
     hlpStr = ch;
-    if      (datTim.time().minute() < 5) {
-      hlpStr += "00";
-      nextTime.setHMS(datTim.time().hour(), 5, 0);
-      nextDate = datTim.date();
-    }
-    else if (datTim.time().minute() < 10) {
-      hlpStr += "5";
-      nextTime.setHMS(datTim.time().hour(), 10, 0);
-      nextDate = datTim.date();
-    }
-    else if (datTim.time().minute() < 15) {
-      hlpStr += "10";
-      nextTime.setHMS(datTim.time().hour(), 15, 0);
-      nextDate = datTim.date();
-    }
-    else if (datTim.time().minute() < 20) {
-      hlpStr += "15";
-      nextTime.setHMS(datTim.time().hour(), 20, 0);
-      nextDate = datTim.date();
-    }
-    else if (datTim.time().minute() < 25) {
-      hlpStr += "20";
-      nextTime.setHMS(datTim.time().hour(), 25, 0);
-      nextDate = datTim.date();
-    }
-    else if (datTim.time().minute() < 30) {
-      hlpStr += "25";
-      nextTime.setHMS(datTim.time().hour(), 30, 0);
-      nextDate = datTim.date();
-    }
-    else if (datTim.time().minute() < 35) {
-      hlpStr += "30";
-      nextTime.setHMS(datTim.time().hour(), 35, 0);
-      nextDate = datTim.date();
-    }
-    else if (datTim.time().minute() < 40) {
-      hlpStr += "35";
-      nextTime.setHMS(datTim.time().hour(), 40, 0);
-      nextDate = datTim.date();
-    }
-    else if (datTim.time().minute() < 45) {
-      hlpStr += "40";
-      nextTime.setHMS(datTim.time().hour(), 45, 0);
-      nextDate = datTim.date();
-    }
-    else if (datTim.time().minute() < 50) {
-      hlpStr += "45";
-      nextTime.setHMS(datTim.time().hour(), 50, 0);
-      nextDate = datTim.date();
-    }
-    else if (datTim.time().minute() < 55) {
-      hlpStr += "50";
-      nextTime.setHMS(datTim.time().hour(), 55, 0);
-      nextDate = datTim.date();
-    }
-    else {
-      hlpStr += "55";
+    if (datTim.time().minute() >= 60-step) {
+      hlpStr += QString("%1").arg(60-step, 2, 10, QChar('0'));
       if (datTim.time().hour() < 23) {
         nextTime.setHMS(datTim.time().hour() + 1 , 0, 0);
@@ -181,92 +129,12 @@
       }
     }
-  }
-  else if (intStr == "10 min") {
-    char ch = 'A' + datTim.time().hour();
-    hlpStr = ch;
-    if      (datTim.time().minute() < 10) {
-      hlpStr += "00";
-      nextTime.setHMS(datTim.time().hour(), 10, 0);
-      nextDate = datTim.date();
-    }
-    else if (datTim.time().minute() < 20) {
-      hlpStr += "10";
-      nextTime.setHMS(datTim.time().hour(), 20, 0);
-      nextDate = datTim.date();
-    }
-    else if (datTim.time().minute() < 30) {
-      hlpStr += "20";
-      nextTime.setHMS(datTim.time().hour(), 30, 0);
-      nextDate = datTim.date();
-    }
-    else if (datTim.time().minute() < 40) {
-      hlpStr += "30";
-      nextTime.setHMS(datTim.time().hour(), 40, 0);
-      nextDate = datTim.date();
-    }
-    else if (datTim.time().minute() < 50) {
-      hlpStr += "40";
-      nextTime.setHMS(datTim.time().hour(), 50, 0);
-      nextDate = datTim.date();
-    }
     else {
-      hlpStr += "50";
-      if (datTim.time().hour() < 23) {
-        nextTime.setHMS(datTim.time().hour() + 1 , 0, 0);
-        nextDate = datTim.date();
-      }
-      else {
-        nextTime.setHMS(0, 0, 0);
-        nextDate = datTim.date().addDays(1);
-      }
-    }
-  }
-  else if (intStr == "15 min") {
-    char ch = 'A' + datTim.time().hour();
-    hlpStr = ch;
-    if      (datTim.time().minute() < 15) {
-      hlpStr += "00";
-      nextTime.setHMS(datTim.time().hour(), 15, 0);
-      nextDate = datTim.date();
-    }
-    else if (datTim.time().minute() < 30) {
-      hlpStr += "15";
-      nextTime.setHMS(datTim.time().hour(), 30, 0);
-      nextDate = datTim.date();
-    }
-    else if (datTim.time().minute() < 45) {
-      hlpStr += "30";
-      nextTime.setHMS(datTim.time().hour(), 45, 0);
-      nextDate = datTim.date();
-    }
-    else {
-      hlpStr += "45";
-      if (datTim.time().hour() < 23) {
-        nextTime.setHMS(datTim.time().hour() + 1 , 0, 0);
-        nextDate = datTim.date();
-      }
-      else {
-        nextTime.setHMS(0, 0, 0);
-        nextDate = datTim.date().addDays(1);
-      }
-    }
-  }
-  else if (intStr == "30 min") {
-    char ch = 'A' + datTim.time().hour();
-    hlpStr = ch;
-    if      (datTim.time().minute() < 30) {
-      hlpStr += "00";
-      nextTime.setHMS(datTim.time().hour(), 30, 0);
-      nextDate = datTim.date();
-    }
-    else {
-      hlpStr += "30";
-      if (datTim.time().hour() < 23) {
-        nextTime.setHMS(datTim.time().hour() + 1 , 0, 0);
-        nextDate = datTim.date();
-      }
-      else {
-        nextTime.setHMS(0, 0, 0);
-        nextDate = datTim.date().addDays(1);
+      for (int limit = step; limit <= 60-step; limit += step) {
+        if (datTim.time().minute() < limit) {
+          hlpStr += QString("%1").arg(limit-step, 2, 10, QChar('0'));
+          nextTime.setHMS(datTim.time().hour(), limit, 0);
+          nextDate = datTim.date();
+          break;
+        }
       }
     }
