Brache Hilfe bei dem Script. Will Timer.

Grengou

Grünschnabel
Hallo Leute,


Ich versuche schon mehrer Monate in das Script eine Timer funktion reinzu kriegen, aber finde keine funktion.
Jetzt wende ich mich an euch, habe schon sehr sehr oft Gegoogelt und die Forum Suche benutzt.

Das Script:
Code:
#include "KarteUSB.h"
#pragma comment (lib, "KarteUSB_C.lib") 
#include <iostream>

using namespace std;


int main() 
{ 
    int a;
    int d;

    OpenDevice(0);

    cout<<"Guten Tag ";
    cout<<"\nDies ist eine kleine Lichtsteuerung.\n";
    
    do
    {
    cout<<"\nLampe 1 Einschalten  (1), Lampe 2 Einschalten (2)";
    cin >> a;
    switch(a)
    {
    case 1:
        cout<<"Lampe 1 Einschalten\n";
		Channel(1);
        cout<<"Moechten sie noch etwas berechnen?(1=Ja, 2=nein)\n\n\n";
        cin >> d;
        break;
    case 2:
        cout<<"Lampe 2 Einschalten\n";
		Channel(2);
        cout<<"Moechten sie noch etwas berechnen?(1=Ja, 2=nein)\n\n\n";
        cin >> d;
        break;
    

    default:
        cout<<"Ihre Eingabe war ungueltig!\n\n";
        cout<<"Moechten sie es erneut versuchen?(1=Ja, 2=nein)\n\n\n";
        cin >> d;
        break;
    }
    }
    while(d==1);        
    
ClearAllChannel();
    return 0; 
	
}


Also ich möchte das wenn ich jetzt Funktion 1 ausfüre das der/die Ausgang/Ausgänge um eine eingestellten uhrzeit ausgefürt wird bis zu einem bestimmten zeit punkt und das immer widerholend bis ich per Tasten druk die Funktion beende.

Kann mir da jemand helfen ?

Also ich mache das in "Visual C++ 6.0" oder würdet ihr mir eine andere Sprache empfehlen?


Gruß Grengou
 
was jetzt, willst du per zeit oder tastendruck beenden?
übrigens, Visual c++ 6.0 ist die IDE/der Compiler
Auch wenn du Borland, DevC etc nimmst, bleibt die Sprache doch immer C++
 
Hallo. erst mal danke für deine Antwort.

Also ich möchte das die Ausgänge per Zeit also um eine bestimmte uhrzeit ein und ausgehen und das immer widerhollen also das jeden tag um die Uhrzeit das ausgefürt wird so lange das Programm läuft.
Aber wenn ich mal die ausführung unterbrechen möchte das ich das per tasten druck machen kann und nicht gleich das ganze Programm ausmachen muss.

Also ich versuche das erst mit konsolenanwendung, so wie das Script im ersten beitrag.

Ja ich meine mit anderer Sprache wie VB, Delpie ... oder so
Da ich erst anfänger in c++ bin.
Meine das, weill vielleicht es mit einer anderen Sprache leichter wer das zu coden wie mit C++, da C++ ja schon eins der schwersten ist.


Gruß Grengou
 
//so zirka?
//habs nicht getestet, also bitte nicht böse sein über kleine fehler falls vorhanden:-)
//
//am anfang den channel aussuchen,
//danach: p=pause, w=weiter, e=ende, kannst du ja beliebig ändern

C++:
#include<stdio.h>
#include<conio.h>
//...
int main()
{
   //opendevice etc
   char channel,x,run=1;
   //channel abfragen, in die channel-variable
   while(1)
   {
      if(run)
      {
         /*Hier die entsprechenden Lampensachen machen*/
         /*wenn die endzeit überschritten wird dann run=0*/
      }
      else{/*wenn die anfangszeit gekommen ist dann run=1*/}
      if(kbhit())
      {
         x=getch();
         if(x=='p')run=0;
         if(x=='w')run=1;
         if(x=='e')break;
      }
      Sleep(100);
}
   //Device aufräumen etc
   return 0;
}

Den Wert vom Sleep kannst du ja verkleinern, wenn nötig
hab keine ahnung, wie schnell deine lampensachen gehen müssen
Notfalls kannst du auch das Sleep ganz weglassen,
das lastet den Prozessor jedoch maximal aus.
Wenn du das wirklich tagelang im einsatz hast, würd ich das Sleep lieber drin lassen

Gruß
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

also das script t aber habe noch immer das problem mit dem Timer.

Weiß einer wie ich einen Timer machen kann ?


Mit freundlichen Grüßen
Grengou
 
Zurück