Kannste nicht einfach den Code von mir testen und schauen, obs die Ausgabe ist oder der Rückgabewert?
Beiträge von The User
-
-
Verwende dafür am besten ein Array.
Oder switch oder else. -
-
Was meinstn mit "Scanne aktivieren"? Und was hat das mit dem Touchscreen zu tun? Der funzt doch wie Bildschirm und Maus.
-
Man ist das langweilig! Macht doch nen Wetterthread auf!
Klausur war gut... -
Session nehmen?
Per ?' . $_SERVER['HTTP_QUERY_STRING'] dranhängen? -
Gleich Informatik-Klausur, 15:00-18:00.

-
Ich wolltes nur maln bisschen nutzen.

Und ich fand den Einwand nicht so sinnvoll, da habe ich mal Runter gewertet. -
Es gibt so viele ordentliche Scripts dafür:
http://browsers.garykeith.com/stream.asp?PHP_BrowsCapINI (INI-Datei, wirklich riesig, wohl die beste Wahl)
http://www.phpclasses.org/browse/file/11551.html
http://www.phpclasses.org/browse/file/6481.html (kein Chrome, aber mächtig)
http://www.phpclasses.org/browse/file/12369.html (genaue Variante, kein Chrome)
http://de3.php.net/get_browser (lauter Links) -
Achso.^^
Ich bin nicht auf die Idee gekommen, dass jemand auf die Idee kommt, HTML-Code in den value zu packen.
-
Jetzt sag doch mal, was du vor hast!
MVC ist eben am einfachsten zu warten.
Im Template kannst du alles ersetzen.
Woanders ersetzst du den Ablauf des Aufrufs.
Wieder woanders die Datenbasis, z.B. kannst du mal eben von MySQL auf PostgreSQL oder MariaDB umsatteln, wenn dus ordentlich gemacht hast.[offtopic]
EVA finde ich auch gut, das ist eigenverantwortliches Arbeiten, also Freistunde.
[/offtopic] -
Rudern.
Aufm Rhein und so, aber eher Breitensport. -
@Josi
12te Klasse ist übrigens klasse! -
Ich will das nicht deaktivieren sondern nur die Formel haben!

-
Du speicherst Passwörter in eine JS-Datei?
Mach doch ganz einfach einen .htaccess-Login. Kannst dich ja trotzdem per JavaScript einloggen, indem du in der Url Nutzernamen und Passwort übergibst. (http://user:pw@seite.de/privaterbereich) -
Wo findest man diese Information?
-
Natürlich ist das doppelt.
Einmal wird das per echo ausgegeben und vor dem "Deutsch" steht es dann nochmal. -
Kulanz-Email probieren?
Immerhin hast du ja bezahlt. -
Ist es von Bedeutung, dass der Button animiert wird, wenn F2 gedrückt wird?
Ansonsten würde es schon mit meiner letzten Zeile klappen. (da wo "F2" steht) -
Na dann ist ja wohl noch keine starke seelische Bindung vorhanden.^^
Qt ist auf jeden Fall einen Versuch Wert, gibt so ein Komplettpaket für Windows:
http://www.qtsoftware.com/downloads/sdk-windows-cpp
Weiß nicht, ob da der passende Compiler bei ist, wenn bei der Installation gemeckert wird, gibt es hier MinGW.Dabei wird der ganze Kram, Threading, Timer, Dateimanagement, GUI... zur Verfügung gestellt und vor allem funktioniert es unter so gut wie allen Betriebssystemen. Im Moment wird auch daran gearbeitet, es auf Handys zu bringen.
Der QtCreator, der da mitgeliefert wird, ist insebesondere für Einsteiger recht simpel und bietet auch Vorlagen etc.
Da Buttons zu erzeugen bekommst du sicherlich schnell hin.
Ein absolutes Minimal-Tutorial findest du hier. Die paar Minuten solltest du dir auf jeden Fall nehmen.
Ausführliches Tutorial.Ich beschreibe dann mal, wie ichs machen würde:
-Neues Projekt mitm Creator anlegen, die Vorlage erzeugt dir gleich die wichtigsten Dateien
-Formular anpassen und die Buttons etc. hinzufügen
Nun musst du dich entscheiden:
Soll ein Button mehrfach geklickt werden, auch wenn die Operation noch nicht beendet wurde?
Falls nein:
-Erstelle im MainWindow für jeden Button einen Zeiger auf QThread (also QThread*)
Falls ja:
-Erstelle ein dynamisches Array aus QThread-Zeigern, z.B. std::list, std::vector, QList oder QVectorIch sag jetzt mal, du hättest dich für nein entschieden.
Dann geb ich dir mal eine kleine Funktion:
Codetemplate<void (*function)()> class StartedThread : public QThread { public: void run() { function(); } };
Das musst du nicht verstehen, du wirst bloß unten sehen, wie du damit einen Thread startest. Füg es einmal ein und denk erstmal nicht drüber nach.Dann erstellst du Funktionen für die einzelnen Buttons. Z.B. Timer starten, Bilder verschieben etc.
Fürs erste können die auch nix machen, was ausgeben oder sleep machen.Das hilft auch ein wenig, wenn du nicht willst, dass die Buttons mehrfach gedrückt werden:
Wenn du jetzt einen Pointer auf QThread hast, der z.B. button1thread heißt, legst du eine Funktion an:
Genauso für alle anderen. (das public slots) brauchst du nur einmal.
Wenn du im Designer den Button button1 genannt hast, kannst du es im Konstruktor dann so machen:Codebutton1thread = new StartedThread<funktionDieBmpVerschiebt>(); connect(button1thread, SIGNAL(finished()), SLOT(button1ThreadFinished())); connect(button1thread, SIGNAL(terminated()), SLOT(button1ThreadTerminated())); connect(button1, SIGNAL(clicked()), button1thread, SLOT(start()); connect(button1, SIGNAL(clicked()), SLOT(disableButton1()));
usw.
Dann noch die weiteren Funktionen:Codebutton1ThreadFinished() { QMessageBox::information(this, trUtf8("Erfolg"), trUtf8("Button1 hat seinen Job erfolgreich erledigt!")); button1->setEnabled(true); } button1ThreadTerminated() { QMessageBox::information(this, trUtf("Abbruch"), trUtf8("Button1 ist fertig mit der Welt, er wurde abgebrochen.")); button1->setEnabled(true); }Den Kram musst du eben für jeden Button machen.
Alternativ kannst du Präprozessor-Makros verwenden.Dann die Stop-Funktion (auch hinter den slots):
Jetzt fehlt im Konstruktor nur noch eine Zeile, die den Button ins Spiel bringt:
Codeconnect(stopButton, SIGNAL(clicked()), SLOT(stop())); connect(new QShortcut(QKeySequence(tr("F2"), this)), SIGNAL(activated()), SLOT(stop()));Funktioniert alles auf den meisten Betriebssystemen, zumindest wenn ich mich nicht vertippt habe oder du die Vertipper entfernst.

Die Operationen musst du dann aber selber schreiben.

Viele liebe Grüße
The User