DoCamera.pl
上传用户:qdrechuli
上传日期:2022-08-01
资源大小:917k
文件大小:3k
源码类别:

视频捕捉/采集

开发平台:

Visual C++

  1. #!/usr/bin/perl -w
  2. use strict;
  3. use DBI;
  4. use CGI;
  5. use vars qw(%base);
  6. use Jpc::Html;
  7. sub Titre
  8. {
  9. print '<H1 ALIGN="CENTER">',$_[0],"</H1><P>n";
  10. }
  11. sub Chapitre
  12. {
  13. print '<H3>',$_[0],"</H3>n";
  14. }
  15. sub Fin_Document
  16. {
  17. print '</BODY>',"n";
  18. print '</HTML>',"n";
  19. }
  20. sub SetStateGet
  21. {
  22. (my $State) = @_;
  23. my $db = DBI->connect("DBI:mysql:netcam","root","");
  24. my $sqlreq = "UPDATE vars SET V_Value='".$State."' WHERE V_Var='GetCamState'";
  25. my $sql = $db->prepare($sqlreq);
  26. $sql->execute();
  27. $sql->finish();
  28. $db->disconnect();
  29. }
  30. sub SetStateOpt
  31. {
  32. (my $State) = @_;
  33. my $db = DBI->connect("DBI:mysql:netcam","root","");
  34. my $sqlreq = "UPDATE vars SET V_Value='".$State."' WHERE V_Var='OptCamState'";
  35. my $sql = $db->prepare($sqlreq);
  36. $sql->execute();
  37. $sql->finish();
  38. $db->disconnect();
  39. }
  40. sub main
  41. {
  42. my $sql;
  43. my $sqlreq;
  44. my $h = new CGI;
  45. my $CID = $h->param('VL_Cam');
  46. my $Act = $h->param('VL_Act');
  47. if ($Act eq 'Cr閑r')
  48. {
  49. Document("Confirmation Cr閍tion Cam閞a");
  50. Titre("Confirmation Cr閍tion Cam閞a");
  51. }
  52. if ($Act eq 'Modifier')
  53. {
  54. Document("Confirmation Modification Cam閞a");
  55. Titre("Confirmation Modification Cam閞a");
  56. }
  57. if ($Act eq 'Supprimer')
  58. {
  59. Document("Confirmation Suppression Cam閞a");
  60. Titre("Confirmation Suppression Cam閞a");
  61. }
  62. print '<FONT FACE=verdana SIZE=+1>';
  63. my $db = DBI->connect("DBI:mysql:netcam","root","");
  64. my $CName = $h->param('VL_Name');
  65. my $CUrl = $h->param('VL_Url');
  66. my $CUser = $h->param('VL_User');
  67. my $CPwd = $h->param('VL_Pwd');
  68. my $CActive = $h->param('VL_Active');
  69. my $CFreq = $h->param('VL_Freq');
  70. my $CAge = $h->param('VL_Age');
  71. print '<BR>Cam閞a ID   : ',$CID,"n";
  72. print '<BR>Cam閞a      : ',$CName,"n";
  73. print '<BR>Url         : ',$CUrl,"n";
  74. print '<BR>User        : ',$CUser,"n";
  75. print '<BR>Password    : ',$CPwd,"n";
  76. print '<BR>Enregistrer : ',$CActive,"n";
  77. print '<BR>Fr閝uence   : ',$CFreq,"n";
  78. print '<BR>R閠ention   : ',$CAge,"n";
  79. if ($Act eq 'Cr閑r')
  80. {
  81. $base{insert} = $db->prepare("INSERT INTO cam VALUES ( ?,?,?,?,?,?,?,?,?)");
  82. $db->do("LOCK TABLE cam LOW_PRIORITY WRITE");
  83. $base{insert}->execute('',$CName,$CUrl,$CUser,$CPwd,$CActive,$CFreq,0,$CAge);
  84. $db->do("UNLOCK TABLE");
  85. SetStateGet('RESTART');
  86. SetStateOpt('RESTART');
  87. }
  88. if ($Act eq 'Modifier')
  89. {
  90. SetStateGet('STOP');
  91. SetStateOpt('STOP');
  92. sleep(10);
  93. $base{update} = $db->prepare("UPDATE cam SET C_Name=?,C_Url=?,C_User=?,C_Pwd=?,C_Active=?,C_Freq=?,C_Age=? WHERE C_ID=?");
  94. $db->do("LOCK TABLE cam LOW_PRIORITY WRITE");
  95. $base{update}->execute($CName,$CUrl,$CUser,$CPwd,$CActive,$CFreq,$CAge,$CID);
  96. $db->do("UNLOCK TABLE");
  97. SetStateGet('START');
  98. SetStateOpt('START');
  99. }
  100. if ($Act eq 'Supprimer')
  101. {
  102. SetStateGet('STOP');
  103. SetStateOpt('STOP');
  104. sleep(10);
  105. $base{delete} = $db->prepare("DELETE FROM cam WHERE C_ID=?");
  106. $db->do("LOCK TABLE cam LOW_PRIORITY WRITE");
  107. $base{delete}->execute($CID);
  108. $db->do("UNLOCK TABLE");
  109. $base{delete} = $db->prepare("DELETE FROM record WHERE R_CAM=?");
  110. $db->do("LOCK TABLE record LOW_PRIORITY WRITE");
  111. $base{delete}->execute($CID);
  112. $db->do("UNLOCK TABLE");
  113. SetStateGet('START');
  114. SetStateOpt('START');
  115. }
  116. $db->disconnect();
  117.    Fin_Document();
  118. }
  119. main();
  120. exit(0);