473,398 Members | 2,380 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,398 software developers and data experts.

Automating valves and obtaining data with a sensor

Hello,
I am a PhD student in marine geochemistry who has a big problem (I have 0 knowledge on computers/electronics). Hopefully one of you computer geniuses can help me. I have an iron measuring system with a photon multiplier tube (PMT, a light sensor), 1 2-way 6-port valve and 1 6-position valve. I have been given a .bas file that is opened with qbasic which follows a specific sequence at pre-determined times. What I want to do is add another 6-position valve that would change position after going through the existing loop.
Although I cannot offer any of you any money, since I am a PhD students (aka poor slave), I will thank you in my thesis which will be presented in 3-years, plus in the acknowledgements of any article I write running this system (about 60% of the work I have to do in the next 3 years).

This is how it works.
V1 is he 2-way valve
V2 is the 6-position valve, although only positions 1 and 2 are needed (in the current version 1-3 are used, though 1 and 3 carry the same reagent).
V3 would be the new valve, and it would change every cycle though the system
Plus the sensor data has to be saved to a document (1 column with the values every 0.1s (ideally) - 0.5s (lowest resolution) is enough). saving the file as year-month-day-identifier (eg. 20171019001))
Current:
Step V1 V2 Time (s)
1 2 1 60
2 1 2 120
3 1 3 60
4 2 3 120
Ideally:
Step V1 V2 Time (s)
1 2 1 60
2 1 2 120
3 1 1 60
4 2 1 120
repeat steps 2-4 two more times
then change V3 to the next position.


The current code is:
Expand|Select|Wrap|Line Numbers
  1.  
  2.         DECLARE SUB arretpm ()
  3.  
  4.  
  5.  
  6.  
  7. '*******************************************************************
  8. ' PROGRAMME DE FLOW INJECTION ANALYSIS
  9. ' stockage des donnees dans un fichier s‚quentiel lisible sous EXCEL
  10. ' possibilite d'impression des int‚grales du signal
  11. '*******************************************************************
  12.  
  13.  
  14. DECLARE SUB ACQUIRE (donnee$, byte)
  15. DECLARE SUB CONVERT (donnee$, count)
  16. DECLARE SUB MOTCOMMU (com$)
  17. DECLARE SUB MOTINJ (inj$)
  18. DECLARE SUB INJECTION (tempinj%, delai%)
  19. DECLARE SUB SAUVEGARDE (fichier$)
  20. DECLARE SUB IMPRESSION (drapimp$)
  21. DECLARE SUB integration (donnee(), findo%, drapimp$, enrfichier$, MAX)
  22. DECLARE SUB EXECUTION (reac$(), tempcom%(), tempinj%, delai%, fichier$, drapimp$)
  23. DECLARE SUB COMMUTATION (posi%(), reac$(), tempcom%())
  24. DECLARE SUB modification (i)
  25. DECLARE SUB ACQUISITION (n%, donnee(), CHRONO, t(), ini, FIN%)
  26. DIM SHARED reac$(6), tempcom%(6), posi%(6), donnee(3000), t(3000), donneec(3000)
  27. DEFINT E
  28. DEFINT F
  29. 'TYPE typeenreg
  30. '        t AS INTEGER
  31. '        donnee AS DOUBLE
  32. 'END TYPE
  33. 'DIM SHARED enregistre AS typeenreg
  34.  
  35. SCREEN 9
  36. 'Initialisation du port serie RS232C
  37. ' Set up initial du M1131
  38.         ' adresse : 2
  39.         ' baud rate : 9600
  40.         ' no linefeed
  41.         ' no parity
  42.         ' alarm of
  43.         ' no echo
  44.         ' 2 characters delay
  45. 'OPEN COM2
  46. ' lecture valeur analogique $RD1
  47. ' commande rotation moteur
  48. ' rotation moteur commutation $1DO02 + $1DO03 :' ss programme MOTCOM
  49. ' rotation moteur injection $1DO01 + $1DO03 :' ss programme MOTINJ
  50. ' rotation moteur commutation et moteur injection $1DO00 + $1DO03 :' ss programme MOTEURS
  51. 'lecture des paramŠtres de commmande de la vanne de commutation
  52. FOR i = 1 TO 6
  53.     posi%(i) = i
  54.     READ reac$(i), tempcom%(i)
  55. NEXT i
  56. READ tempinj%
  57. READ delai%
  58. READ fichier$
  59. DO
  60. VIEW
  61. CLS
  62. LOCATE 2, 5
  63. PRINT "Programme H2O2"
  64. LOCATE 3, 5
  65. PRINT "UMR CNRS 6539"
  66. 'affichage des valeurs par d‚faut
  67.         LINE (10, 60)-(280, 300), , B
  68.         LINE (300, 10)-(635, 300), , B
  69.         LINE (10, 10)-(280, 50), , B
  70.         LINE (50, 320)-(580, 340), , B
  71.         LOCATE 3, 40: PRINT "Param‚trage de la vanne de s‚lection"
  72.         LOCATE 5, 40: PRINT "Nø"
  73.         LOCATE 5, 49: PRINT "r‚actif"
  74.         LOCATE 5, 64: PRINT "temps (s)"
  75.         FOR i = 1 TO 6
  76.                 LOCATE 7 + 2 * (i - 1), 40
  77.                 PRINT posi%(i)
  78.                 LOCATE 7 + 2 * (i - 1), 49
  79.                 PRINT reac$(i)
  80.                 LOCATE 7 + 2 * (i - 1), 64
  81.                 PRINT tempcom%(i)
  82.         NEXT i
  83.         LOCATE 19, 40: PRINT "Param‚trage injection et acquisition "
  84.         LOCATE 21, 40: PRINT "Dur‚e : "; tempinj%; " s  "; "Fr‚quence : "; 100 / delai%; " Hz"
  85.         LOCATE 24, 10: PRINT "nom du fichier de sauvegarde des donn‚es : "; fichier$;
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.         'ecran menu principal
  100.  
  101.         LOCATE 7, 1: PRINT " 1 Programmation de la commutation"
  102.         LOCATE 9, 1: PRINT " 2 Programmation de l'injection "
  103.         LOCATE 11, 1: PRINT " 3 Sauvegarde des donn‚es"
  104.         LOCATE 13, 1: PRINT " 4 Impression des r‚sultats"
  105.         IF drapimp$ = "imp" THEN LOCATE 13, 28: PRINT " active"
  106.         LOCATE 15, 1: PRINT " 5 Ex‚cution"
  107.         LOCATE 17, 1: PRINT " 6 Quitter"
  108.         LOCATE 19, 7: PRINT " Entrez le choix";
  109.  
  110.         INPUT j
  111.         SELECT CASE j
  112.                 CASE 1
  113.                         CALL COMMUTATION(posi%(), reac$(), tempcom%())
  114.                 CASE 2
  115.                         CALL INJECTION(tempinj%, delai%)
  116.                 CASE 3
  117.                         CALL SAUVEGARDE(fichier$)
  118.                 CASE 4
  119.                         CALL IMPRESSION(drapimp$)
  120.                 CASE 5
  121.                         CALL EXECUTION(reac$(), tempcom%(), tempinj%, delai%, fichier$, drapimp$)
  122.                 CASE 6
  123.                         EXIT DO
  124.                 CASE ELSE
  125.                         BEEP
  126.         END SELECT
  127. LOOP
  128. DATA MQ,60,ech,120, , , , , , ,MQ,60,120,10,NA
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135. END
  136.  
  137. DEFSNG E-F
  138. SUB ACQUIRE (donnee$, byte)
  139. WHILE LOC(1) < byte: WEND
  140. donnee$ = INPUT$(byte, #1)
  141. END SUB
  142.  
  143. SUB ACQUISITION (n%, donnee(), CHRONO, t(), ini, FIN%)
  144.  
  145. byte = 4
  146. 'envoi message lecture
  147. 'WHILE TIMER < t: WEND
  148. PRINT #1, "S"
  149. CALL ACQUIRE(donnee$, byte)
  150. CALL CONVERT(donnee$, count)
  151. donnee(n%) = count
  152.         WRITE #4, donnee(n%)
  153. '        PRINT DONNEE(n%)
  154. CHRONO = TIMER * 100
  155. END SUB
  156.  
  157. DEFINT E
  158. SUB arretpm
  159. PRINT #1, "V" + CHR$(0) + CHR$(0)
  160. CALL ACQUIRE(donnee$, byte)
  161. WHILE INKEY$ <> ""
  162. BEEP
  163. WEND
  164. END
  165. END SUB
  166.  
  167. DEFSNG E
  168. SUB COMMUTATION (posi%(), reac$(), tempcom%())
  169. CLS
  170.  
  171. 'affichage des paramŠtres
  172. LOCATE 2, 5: PRINT " PROGRAMMATION DE LA VANNE DE COMMUTATION"
  173. LOCATE 4, 11: PRINT "Nø"
  174. LOCATE 4, 20: PRINT "r‚actif"
  175. LOCATE 4, 35: PRINT "temps (s)"
  176. FOR i = 1 TO 6
  177.   LOCATE 6 + 2 * (i - 1), 10
  178.   PRINT posi%(i)
  179.   LOCATE 6 + 2 * (i - 1), 20
  180.   PRINT reac$(i)
  181.   LOCATE 6 + 2 * (i - 1), 35
  182.   PRINT tempcom%(i)
  183. NEXT i
  184.  
  185. 'modification des paramŠtres de commandes
  186. DO
  187.   LOCATE 21, 5: PRINT "pour modifier taper le numero de la position ou 0 pour quitter"
  188.   LOCATE 23, 5: INPUT i
  189.     SELECT CASE i
  190.       CASE 1 TO 6
  191.         CALL modification(i)
  192.       CASE 0
  193.         EXIT DO
  194.       CASE ELSE
  195.         BEEP
  196.     END SELECT
  197. LOOP
  198. CLS
  199. END SUB
  200.  
  201. DEFINT E
  202. SUB CONVERT (donnee$, count)
  203. 'PRINT donnee$
  204. 'WHILE INKEY$ = "": WEND
  205. B3 = ASC(LEFT$(donnee$, 1))
  206.  
  207. IF B3 > 128 THEN BEEP: PRINT "OVERFLOW": CALL arretpm
  208. B2 = ASC(MID$(donnee$, 2, 1))
  209. 'PRINT B2
  210. B1 = ASC(MID$(donnee$, 3, 1))
  211.  
  212. 'PRINT B1
  213. B0 = ASC(MID$(donnee$, 4, 1))
  214. 'PRINT B0
  215. 'WHILE INKEY$ = "": WEND
  216. count = (B3 * 256 ^ 3 + B2 * 256 ^ 2 + B1 * 256 + B0)
  217. 'ELSE COLOR 4: PRINT "OVERFLOW!!!": BEEP: COLOR 7
  218. 'END IF
  219. END SUB
  220.  
  221. DEFSNG E
  222. '
  223. SUB EXECUTION (reac$(), tempcom%(), tempinj%, delai%, fichier$, drapimp$)
  224.  
  225. 'repetition de la sequence d'analyse
  226. 'incrementation du fichier
  227.  
  228. numfichier = 0
  229. OPEN "COM1:9600,N,8,1,CS,DS" FOR RANDOM AS #1
  230. byte = 2
  231. PRINT #1, "P" + CHR$(100)
  232. CALL ACQUIRE(donnee$, byte)
  233. PRINT #1, "R" + CHR$(1)
  234. CALL ACQUIRE(donnee$, byte)
  235. PRINT #1, "D"
  236. CALL ACQUIRE(donnee$, byte)
  237. t = TIMER + 2: WHILE TIMER < t: WEND
  238. byte = 4
  239. PRINT #1, "S"
  240. CALL ACQUIRE(donnee$, byte)
  241. 'PRINT donnee$
  242. 'WHILE INKEY$ = "": WEND
  243. CALL CONVERT(donnee$, count)
  244. 'PRINT count
  245. DO UNTIL INKEY$ <> ""
  246. numfichier = numfichier + 1
  247. enrfichier$ = "c:" + fichier$ + LTRIM$(STR$(numfichier)) + ".dat"
  248. OPEN "COM2: 9600, N,8,1,RS,CS0,DS0,CD0" FOR RANDOM AS #2
  249. PRINT #2, "@01"
  250. SLEEP 1
  251. PRINT #2, "@02"
  252. SLEEP 1
  253. 'OPEN enrfichier$ FOR RANDOM AS #1 LEN = LEN(enregistre)
  254. OPEN enrfichier$ FOR OUTPUT AS #4
  255.  
  256. 'FIN% = 0
  257.  
  258.  
  259.  VIEW
  260.   visible = TIMER + 15
  261.   WHILE TIMER < visible
  262. WEND
  263.   CLS
  264.   inj$ = "01g1"
  265.   CALL MOTINJ(inj$)
  266.   temp = TIMER
  267.   WHILE TIMER < temp + 2
  268.   WEND
  269.  
  270.         LOCATE 2, 5
  271.         PRINT "Programme FIAGS1PM"
  272.         LOCATE 3, 5
  273.         PRINT "UMR CNRS 6539      "; enrfichier$
  274.         LINE (10, 10)-(280, 50), , B
  275.         LINE (10, 260)-(280, 260)
  276.         LINE (10, 60)-(280, 310), , B
  277.                 FOR i = 1 TO 6
  278.                         f = 48 + i
  279.                         PRINT #2, "02g" + CHR$(f)
  280.                         'CALL MOTCOMMU(com$)
  281.                         TEMPS = TIMER + tempcom%(i)
  282.                         LOCATE 5, 2: PRINT "Nø"
  283.                         LOCATE 5, 11: PRINT "r‚actif"
  284.                         LOCATE 5, 26: PRINT "temps (s)"
  285.                         LOCATE 7 + 2 * (i - 1), 2
  286.                         PRINT posi%(i)
  287.                         LOCATE 7 + 2 * (i - 1), 11
  288.                         PRINT reac$(i)
  289.                         LOCATE 7 + 2 * (i - 1), 26
  290.                         PRINT tempcom%(i)
  291.                         WHILE TIMER < TEMPS
  292.                         LOCATE 20, 10: PRINT "temps restant "; INT(TEMPS - TIMER); " s"
  293.                         WEND
  294.                 NEXT i
  295.         LOCATE 20, 3: PRINT "‚lution et acquisition ";
  296.         PRINT tempinj%; " s"
  297.         TEMPS = TIMER + tempinj%
  298.         CHRONO = INT(TIMER * 100): 'CHRONO=temps initial relatif en 100Šme de s
  299.         ini = INT(TIMER * 100): 'temps initial absolu
  300.         n% = 0
  301.  '       FIN% = LOF(1) / LEN(enregistre)
  302.  
  303.         ' rotation vanne injection en elution
  304.         inj$ = "01g2"
  305.         CALL MOTINJ(inj$)
  306.               MAX = 0: SOMME = 0:
  307.               WHILE TIMER < TEMPS
  308.                 TEMPRES = TEMPS - TIMER
  309.                 LOCATE 22, 3: PRINT INT(TEMPRES):
  310.                 LOCATE 22, 6: PRINT "s"
  311.                  LOCATE 22, 10: PRINT " Nbr acquisitions :"; n%
  312.                ' IF INT(TIMER * 100) > CHRONO + delai% THEN
  313.                n% = n% + 1
  314.                byte = 4
  315.                t = TIMER
  316.                CALL ACQUISITION(n%, donnee(), CHRONO, t(), ini, FIN%)
  317.                IF donnee(n%) > MAX THEN MAX = donnee(n%)
  318.                LOCATE 3, 50: PRINT "base line:"; donnee(1)
  319.                LOCATE 5, 50: PRINT "valeur max:"; MAX
  320.               ' SOMME = SOMME + donnee(n%)
  321.                WEND
  322. '        PRINT SOMME
  323. '       PRINT enrfichier$
  324.         findo% = n%
  325. '        FIN% = LOF(1) / LEN(enregistre)
  326.         ' ecriture marqueur fin enregistrement -10,0
  327. '        enregistre.t = -10
  328. '        enregistre.donnee = 0
  329. '        marqueur = FIN% + 1
  330. '        PUT #1, marqueur, enregistre
  331.  
  332.         ' rotation vanne injection en concentration
  333.         ' CALL MOTINJ
  334.  
  335.         'int‚gration
  336.         CALL integration(donnee(), findo%, drapimp$, enrfichier$, MAX)
  337.         CLOSE #4
  338.         CLOSE #2
  339.         LOOP
  340. CLOSE #1
  341. CLOSE #3
  342. END SUB
  343.  
  344. SUB IMPRESSION (drapimp$)
  345. CLS
  346. PRINT "pour activer l'imprimante taper imp"
  347. INPUT drapimp$
  348. IF drapimp$ = "imp" THEN OPEN "lpt1" FOR OUTPUT AS #3
  349. END SUB
  350.  
  351. SUB INJECTION (tempinj%, delai%)
  352.         CLS
  353.         LOCATE 3, 3
  354.         PRINT "le temps d'‚lution est de "; tempinj%; " s"
  355.         LOCATE 5, 3
  356.         PRINT "taper la nouvelle valeur ( min 51s) ou 0 pour quitter ";
  357.         INPUT i
  358.         IF i <> 0 THEN tempinj% = i
  359.         LOCATE 7, 3
  360.         PRINT "le delai d'acquisition est de "; delai%; "100Šme de s"
  361.         LOCATE 9, 3
  362.         PRINT " taper la nouvelle valeur ou 0 pour quitter"
  363.         INPUT j
  364.         IF j <> 0 THEN delai% = j
  365.         CLS
  366. END SUB
  367.  
  368. DEFINT E
  369. SUB integration (donnee(), findo%, drapimp$, enrfichier$, MAX)
  370.         'calcul de l'integrale et tracer de la courbe
  371.         'findo% = nombre d'acquisition
  372.    '     CLS
  373.   '      VIEW (330, 0)-(610, 340), , 0
  374.  '       LINE (0, 0)-(280, 330), , B
  375. '        LINE (0, 170)-(280, 170)
  376.  
  377.  '       INTEGRALE = 0
  378. '        integralec = 0
  379.         'calcul ligne de base
  380.        ' somini = 0: somfin = 0
  381.       '  FOR n% = 1 TO 10
  382.      '           somini = somini + donnee(n%)
  383.     '    NEXT n%
  384.    '     FOR n% = findo% - 9 TO findo%
  385.   '              somfin = somfin + donnee(n%)
  386.  '       NEXT n%
  387. '        moyini = somini / 10: moyfin = somfin / 10
  388.         'pente de la ligne de base entre 10 et findo%-9
  389.        ' pente = (moyfin - moyini) / (findo% - 20)
  390.         'ordonnee a l'origine de la ligne de base
  391.       '  ordonnee = moyini
  392.      '   LOCATE 5, 4: PRINT "pente de la ligne de base :"
  393.     '    LOCATE 6, 4: PRINT pente
  394.    '     LOCATE 8, 4: PRINT "ordonnee de la ligne de base :"
  395.   '      LOCATE 9, 4: PRINT ordonnee
  396.  '       PSET (11 * 280, (170 - ordonnee))
  397. '        FOR n% = 11 TO findo% - 10
  398.                 ' calcul int‚grale brute
  399.           '      INTEGRALE = INTEGRALE + donnee(n%)
  400.          '       LOCATE 11, 4: PRINT "int‚grale brute:";
  401.         '        PRINT INTEGRALE
  402.        '         'calcul int‚grale corrig‚e
  403.       '          donneec(n%) = donnee(n%) - (pente * (n% - 10) + ordonnee)
  404.      '           integralec = integralec + donneec(n%)
  405.     '            LOCATE 14, 4: PRINT "integrale corrigee:";
  406.    '             PRINT integralec
  407.   '
  408.  '          NEXT n%
  409.  
  410.                 'calcul de l'int‚grale corrig‚e version 2
  411.                '    integralecc = 0
  412.               '     FOR n% = findo% - 10 TO findo% - 50 STEP -1
  413.              '      integralecc = integralecc + donneec(n%)
  414.             '       NEXT n%
  415.            '        n% = n% - 1
  416.           '         WHILE donneec(n%) > 0
  417.          '          integralecc = integralecc + donneec(n%)
  418.         '           n% = n% - 1
  419.        '            WEND
  420.       '             LOCATE 17, 4: PRINT "integrale corrigee 2: ";
  421.      '              PRINT integralecc
  422.  
  423.  
  424.         ' trace dela courbe
  425.     '            PSET (1, (170 - donnee(1)))
  426.    '        FOR n% = 1 TO findo%
  427.   '              LINE -(n% / findo% * 280, (170 - donnee(n%)))
  428.  '         NEXT n%
  429.        ' trace de la ligne de base
  430. '        LINE (10 / findo% * 280, (170 - moyini))-((findo% - 9) / findo% * 280, (170 - moyfin))
  431.  
  432.       ' impression des integrales
  433.  
  434.       IF drapimp$ = "imp" THEN PRINT drapimp$: PRINT #3, enrfichier$, MAX
  435. END SUB
  436.  
  437. DEFSNG E
  438. SUB modification (i)
  439.  LOCATE 6 + 2 * (i - 1), 10: PRINT i
  440.  LOCATE 6 + 2 * (i - 1), 20: PRINT "            "
  441.  LOCATE 6 + 2 * (i - 1), 35: PRINT "              "
  442.  LOCATE 6 + 2 * (i - 1), 20: INPUT reac$(i)
  443.  LOCATE 6 + 2 * (i - 1), 35: INPUT tempcom%(i)
  444.  
  445. END SUB
  446.  
  447. DEFINT E
  448. SUB MOTCOMMU (com$)
  449.         PRINT #2, "01gF"
  450.         SLEEP 1
  451.         END SUB
  452.  
  453. SUB MOTINJ (inj$)
  454.  
  455.         PRINT #2, inj$
  456.         END SUB
  457.  
  458. DEFSNG E
  459. SUB SAUVEGARDE (fichier$)
  460. CLS
  461. LOCATE 10, 10
  462. PRINT "nom du fichier de sauvegarde"
  463. INPUT fichier$
  464. END SUB
  465.  
  466.  
Oct 19 '17 #1
0 1187

Sign in to post your reply or Sign up for a free account.

Similar topics

5
by: Claudio Grondi | last post by:
Background information: --------------------------------- in order to monitor mainboard sensory data as fan speeds, temperatures, applications like SpeedFan http://www.almico.com/speedfan.php or...
3
by: Stefan Berglund | last post by:
This may not be the right group for this since the ASP part of the equation seems to be working as it should, but at the very least perhaps someone will point me to the correct group or even...
2
by: Scott Baird | last post by:
HELP!!! I've got a DB with two tables (relationships with a autonumber). The database works just fine, but I've got a report I simply can't make work. I've made a query that uses data from...
0
by: Chanus | last post by:
I'm trying to automate a series of commands in ACCESS to import a data file in XML format. Normal procedure: -Start "MS Access" -Click "File->Get External Data->Import" -Choose the appropriate...
0
by: Adis | last post by:
Asp.Net Visual Studio 2003 SQL Server. Hi, I have database in Sqlserver and ListBox (Multiple Selection Mode) in my Visual Studio Webform. I wish obtain various records from...
4
by: danielduq | last post by:
Hey everyone, This is my first post here - so I'm not sure I'll phrase this question right, but here goes: I need to create a Visual Basic 6 program to automate a login to a web site and then...
0
by: suyog_linux | last post by:
Hi All, I am working on an implementation project and project requires keying in Values from an Excel Sheet to an Windows Based Software. e.g. I have to enter value in col1+row1 to one of the...
0
by: Sad123 | last post by:
Hello, i have written a simple code and built a corresponding GUI for serial communication between the PC COM port and my sensor. The program is in C#, i'm using VS 2008. In my form window, only...
0
by: Raghavan141248 | last post by:
I want to get a response from a site by posting a form data programmatically using Python 3.4.2 (to avoid boring task of obtaining data (about 2400 times) through std.Browser. Following code works...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.