Vicious Geschrieben 15. März 2005 Geschrieben 15. März 2005 Salve. Ich hab mal eine generelle Frage: Wie würde ich es hinbekommen, wenn ich eine Anweisung genau nach einer Wartezeit von 10sec z.B. ausführen wollte?! Ich hab irgendwo schonmal was von time_t gelesen, aber leider wurde ich auch mit Google nicht schlau... Ich will also wissen, wie ich Anweisungen zeitgesteuert ausführen kann in C++! Hab mich hoffentlihc einigermaßen verständlich ausgedrückt Zitieren
Manfred.Becker Geschrieben 15. März 2005 Geschrieben 15. März 2005 Hi, time_t ist lediglich ein Datentyp (long integer). Instanzvariable dieses Typs werden dazu verwendet die Systemzeit zu speichern. #include "stdafx.h" #include "time.h" int main(int argc, char* argv[]) { time_t ltime; struct tm *today; char tmpbuf[128]; _tzset(); time( <ime ); today = localtime( <ime ); strftime( tmpbuf, 128, "%Y.%m.%d %H:%M:%S", today ); printf("Aktuelles Datum=%s\n",tmpbuf); return 0; } [/PHP] Das bringt dich nicht weiter. Welchen Compiler verwendest du? Falls Microsoft, dann gibt's da die [b]Sleep(DWORD dwMilliseconds)[/b] Funktion. Falls Borland, dann [b]sleep(unsigned sekunden)[/b] Das sollte funktionieren. Zitieren
Vicious Geschrieben 15. März 2005 Autor Geschrieben 15. März 2005 Visual Studio .NET 2003 Bin auch ziemlich frisch in der Programmierung. Hab gleich mit C++ angefangen, weil die Leute sagen, danach hätte man eine sehr gute Basis! Danke für die schnelle Antwort! Ich werd das im Laufe des Tages mal probieren... Schönen DIenstag noch Zitieren
kLeiner_HobBes Geschrieben 15. März 2005 Geschrieben 15. März 2005 Zur Lösung deines Problems kommt es IMHO drauf an, ob du während dieser Wartezeit etwas anderes machen möchtest, oder ob das Programm nichts anderes als warten soll. Im ersten Falle würde ich sowas threadgesteuert gestalten. Da du VC++ .NET verwendest, kannst du ja auch die entsprechenden Klassen, die dir das Framework bietet, verwenden. Ansonsten kannst du es auch so machen, wie Manfred es vorschlug. Zitieren
Bubble Geschrieben 15. März 2005 Geschrieben 15. März 2005 Visual Studio .NET 2003 Bin auch ziemlich frisch in der Programmierung. Hab gleich mit C++ angefangen, weil die Leute sagen, danach hätte man eine sehr gute Basis! Verwende die Funktion Sleep, aber lies Dir die Doku durch. Dort steht auch, wie exakt die Funktion arbeitet. (Es gibt einen gewissen Toleranzbereich, den Du akzeptieren musst. Im Sekundenbereich sollte es jedoch kaum auffallen.) C++ halte ich für keine gute Anfängersprache. Zitieren
Vicious Geschrieben 15. März 2005 Autor Geschrieben 15. März 2005 C++ halte ich für keine gute Anfängersprache. Ich frag mal ganz banal: Warum? Zitieren
kLeiner_HobBes Geschrieben 15. März 2005 Geschrieben 15. März 2005 Wenn man sich auf eine Diskussion über Anfängersprachen einläßt und sich dem Urteil Bubbles anschließen will, dann ist C++ einerseits zusehr ein Mischmasch aus OO strukturierter Programmierung und hat andereseits noch zuviele alte C-Strukturen, wobei C vor allem mit Pointern, kryptischem Syntax etc. für Anfänger schwer zu lesen und zu verstehen sein mag. Allerdings kommt es auch immer auf den Anfänger an, wie er "drauf" ist und wie er an die Sache rangeht. Manche Leute sollten auf jeden Fall mit einem Basic-Dialekt anfangen, andere, und das raten heute immer mehr Leute, sollten gleich an eine objektorientierte Sprache gehen. In diesem Falle würde ich dir C# raten, da du ja eh schon die entsprechende IDE und das Framework hast. Zitieren
perdian Geschrieben 15. März 2005 Geschrieben 15. März 2005 Manche Leute sollten auf jeden Fall mit einem Basic-Dialekt anfangenNein, nein, nein... BASIC ist immer ein schlechter Start - das verdirbt dich für den Rest deines (Programmierer-)Lebens und es ist verdammt schwierig dieses falsche Denken wieder anzulegen Ich persönlich denke als kompletter Einstieg ist immer noch Pascal (bzw. Modula oder Oberon) mit am geeignesten. Ziemlich sprechend und gut zu überblicken. Aber wie so oft: Das ist Geschmackssache. Zitieren
kLeiner_HobBes Geschrieben 15. März 2005 Geschrieben 15. März 2005 Hmm .. ich hab die ersten 2 Jahre mit BASIC (nicht mit VB!!!) programmiert und behaupte, daß ich mit C nicht die allergrößten Mühen hatte. War halt immer ein Glaubenskrieg und wird immer einer gewesen sein. Vorteil bei BASIC ist nun mal, daß man sich als blutiger Anfänger nicht um die Variablendeklaration und nur wenig um Typen kümmern mußte. Sobald man auf einen C-Dialekt umsteigt, wird man durch stetige Compiler-Fehler schon "umerzogen" Zitieren
perdian Geschrieben 15. März 2005 Geschrieben 15. März 2005 Hmm .. ich hab die ersten 2 Jahre mit BASIC (nicht mit VB!!!) programmiert und behaupte, daß ich mit C nicht die allergrößten Mühen hatte.Ich habe auch mit BASIC angefangen und musste schon das ein oder andere Mal knabbern, um das ein oder andere, was einem BASIC beigebracht hat (hauptsächlich GOTO, aber auch fehlende Typisierung) wieder loszuwerden. Klaro ist das nicht so ein Riesenthema, aber wenn ich die Wahl habe jemanden mit einer BASIC- oder einer Pascal-Variante starten zu lassen, dann würde ich mich immer für die Pascal-Variante entscheiden. Es mag inzwischen auch vernünftige BASIC-Dialekte geben, aber für mich haftet BASIC irgendwo immer noch so ein kleiner C64 an *g*. Vorteil bei BASIC ist nun mal, daß man sich als blutiger Anfänger nicht um die Variablendeklaration und nur wenig um Typen kümmern mußte. Sobald man auf einen C-Dialekt umsteigt, wird man durch stetige Compiler-Fehler schon "umerzogen" Wobei die Frage noch ist, ob die fehlende Typisierung für den Anfänger wirklich ein Vorteil ist. Wenn ich mir von Anfang an Gedanken um den Typ machen muss, dann fällt mir hinterher vieles leichter. Gerade wenn dann irgendwann der Schritt zur OOP kommt (und das wird sich heute kaum noch vermeiden lassen) ist man dann schon mit vielem, was neu ist zumindestens ansatzweise vertraut. Bei einer richtigen Lernkurve kann man sich sogar fast automatisch OOP selbst herleiten. Ist mir selber aufgefallen, als ich mich in Modula II "damals" mit abstrakten Datentypen befasst habe. Da kommt dann ganz automatisch die Erkenntnis: Ach so, deshalb ist OOP wirklich ein guter und logischer nächster Schritt. Zitieren
nic_power Geschrieben 15. März 2005 Geschrieben 15. März 2005 Hallo, wenn Du einfach nur 10s warten möchtest, kannst Du das am einfachsten mit sleep(10) realisieren. Da dies eine Funktions des POSIX.1 Standards ist, sollte das unter jedem Betriebssystem laufen. Soll während der Wartezeit dein Programm jedoch weiterlaufen, wirds komplizierter. Unter Unix/Linux ist ein entsprechender Signal-Handler eine Möglichkeit. Nic Zitieren
Vicious Geschrieben 17. März 2005 Autor Geschrieben 17. März 2005 So, ich habs ausprobiert, danke für die Antworten! Mit Sleep(1000) - was in diesem Fall einer Sekunde entspricht - geht das, was ich haben wollte! Also, danke nochmal! Zitieren
Bubble Geschrieben 17. März 2005 Geschrieben 17. März 2005 Ich frag mal ganz banal: Warum? Die meisten Gründe wurden schon aufgezählt. Ich halte C++ für eine mächtige, jedoch komplexe, Programmiersprache. C++ hat eine höhere Lernkurve als beispielsweise Java. Man kann Fehler machen, die oft zu Fehlermeldungen an ganz anderer Stelle des Programms führen, was Anfänger verwirren kann. C++ ist sehr frei, so gibt es die Möglichkeit objektorientiert zu programmieren, man kann es aber auch komplett sein lassen. Es wird vieles unterstützt und die Auswahl dem Entwickler überlassen. Grade aber die Wahl, welche Vorgehensweise wann und warum am günstigsten ist, kann für Einsteiger unter Umständen nicht zu entscheiden sein. All diese Aspekte sind beherrschbar, jedoch lenken sie von der eigentlichen Grundlagen, den Algorithmen und prinzipiellen Programmabläufen, ab. So läuft ein Sortieralgorithmus vom Prinzip her immer gleich ab, egal ob er in C++, Java, C# oder Modula2 implementiert wird. Bitte nicht falsch verstehen: Generell halte ich C++ für eine gute Programmiersprache. Zitieren
Vicious Geschrieben 17. März 2005 Autor Geschrieben 17. März 2005 Ihr redet die ganze Zeit von "Objektorientier Programmierung"... Was heist das genau? Zitieren
Bubble Geschrieben 17. März 2005 Geschrieben 17. März 2005 Ihr redet die ganze Zeit von "Objektorientier Programmierung"... Was heist das genau? Mit Objekten zu arbeiten, die Instanzen von Klassen sind, die wiederum Methoden und Daten kapseln. Aspekte wie Vererbung, Sichtbarkeit usw. spielen auch noch eine große Rolle. Man kann es nicht in einem 3-Zeiler erklären, wirklich schwer zu verstehen ist es jedoch auch nicht. Such einfach mal im Internet, es gibt bestimmt viele einführende Seiten. Zitieren
Vicious Geschrieben 18. März 2005 Autor Geschrieben 18. März 2005 Such einfach mal im Internet, es gibt bestimmt viele einführende Seiten. Ok, werd ich mal tun! Danke. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.