1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Marthog

Beiträge von Marthog

  • prüfen ob verzeichnis vorhanden?

    • Marthog
    • 6. Februar 2013 um 21:35

    Wobei bei FileExists aber nicht der unterschieden wird, ob es ein Verzeichnis oder eine Datei ist.
    Es können z.B. Dateien ohne Endung oder Verzeichnisse, die einen Punkt enthalten, zu Verwechslungen werden.
    Deswegen muss ggf mit FileGetAttrib überprüft werden, ob der Buchstabe "D" im Rückgebestring steht oder nicht.

  • Datentypen

    • Marthog
    • 31. Januar 2013 um 22:28

    Arrays sind in C++ so eine Sache.

    Die statischen Arrays sind beim compilen in der Größe bereits festgelegt.

    Code
    int array[10];

    hat immer 10 Elemente.

    Code
    int size = ...;
    int array[size];

    geht nicht.

    Von einer Funktion aus lässt sich auf die Größe nicht zugreifen, dass liegt aber auch daran, dass als Parameter nur ein einzelner pointer auf das erste ELement übergeben wird.

    Normalerweise verwendet man deswegen std::vector. Das ist eine Klasse, die unter anderem auch die Größe speichert.

  • EmptyDllCreator

    • Marthog
    • 23. Januar 2013 um 20:33
    Zitat von RR04

    EmptyDllCreator, gab es den nicht schon einmal vor einiger Zeit


    Ja, gab es. Dieses Thread ist nämlich schon etwas älter.

  • der Nächste, bitte...

    • Marthog
    • 20. Januar 2013 um 16:34

    Herzlich willkommen.

    Ich wollte aber noch darauf hinweisen, dass AutoIt nicht objektorientiert, sondern prozedural ist.

  • Wie kommt ihr auf euren Nicknamen?

    • Marthog
    • 16. Januar 2013 um 15:21

    Ich brauchte irgendwann mal einen Namen und habe mir diesen hier ausgedacht. Das war gar kein so großes Problem.

  • [Tutorial] Sauber Programmieren

    • Marthog
    • 12. Januar 2013 um 15:54

    Ich würde das aber trotzdem als ID und nicht als handle bezeichnen, einfach um Verwechslungen zu vermeiden, denn mit handle werden oft die aus der WinAPI z.B. HWND, HMODULE, HANDLE, HINSTANCE bzw. die entsprechenden AutoIt-Typen bezeichnet. Handles sind oft als pointer präsent, die IDs sind aber mehr so eine Art Array-indices.

  • [Tutorial] Sauber Programmieren

    • Marthog
    • 12. Januar 2013 um 15:35

    In der AutoIt Referenz wird von ControlID gesprochen, deswegen würde ich das auch nicht als Handle bezeichnen, denn handles sind oft einfach nur pointer. Außerdem wäre dann die Bezeichnung GUICtrlGetHandle seltsam.
    Ich würde $iMsg verwenden, weil das alles integer sind.

  • Elektronische Tanzmusik

    • Marthog
    • 8. Januar 2013 um 16:09
    Zitat von Mars

    Irgendwo gibts so einen Stammbaum für die einzelnen Musikstile.

    Der muss doch riesig sein, wenn man bedenkt, was es schon alles für Metal-Stile gibt. http://mapofmetal.com

  • Elektronische Tanzmusik

    • Marthog
    • 7. Januar 2013 um 19:21

    Ich höre eigentlich kaum elektronische Musik, aber E Nomine finde ich ganz gut. Beispiel

  • IrrLicht-Fenster "eigenschaften" ändern

    • Marthog
    • 28. Dezember 2012 um 11:06

    Ich weiß nicht, ob das überhaupt geht, in C++ ist das möglich, aber auch nur über plattformabhängige Wege, aber ob diese so selten benutzte Funktion überhaupt in der UDF umgesetzt wurde, bezweifel ich.

    Deswegen empfehle ich die Methode, einen einzigartigen Fenstertitel (z.B. #hjhrjgrjlklwrj##5) zu setzten und über WinGetHandle an das Handle zu kommen.
    Dann verwende

    [autoit]

    GUICtrlSendMsg($hWnd, $WM_SETICON, $ICON_BIG, $iconHandle)

    [/autoit]

    zum Setzen des Icons.

    Du kannst du mit _WinAPI_SetWindowLong einen neuen "Eventhandler" setzen, der beim Klick auf den Close-Button eine spezielle Funktion auslöst und bei allen anderen Events den Originalhandler aufruft.


    Je nach dem, ob die UDF das zulässt, kannst du das Fenster auch als Child in ein AutoItfenster integrieren, aber ich finde die erste Methode besser.

  • WARNUNG! Alle Battlefield 3 Spieler: LESEN!

    • Marthog
    • 21. Dezember 2012 um 12:12

    Ich stimme euch auch zu, denn Sport sollte immer mit Bewegung und körperlicher Anstrengung zu tun haben.
    Auch wenn man z.B. von Denksport spricht, finde ich den Begriff Sport komplett unangebracht, denn auch wenn es mental anstrengend ist, würde ich eher von Denkspielen oder Gedächtnistraining sprechen.

  • Wort mit dem Inhalt einer .txt Datei abgleichen

    • Marthog
    • 14. Dezember 2012 um 15:38

    Wenn schon mit deiner Methode, dann mit std::string::find.

  • Wort mit dem Inhalt einer .txt Datei abgleichen

    • Marthog
    • 14. Dezember 2012 um 14:29

    Na, ganz einfach:
    Mit

    Code
    std::string str;
    file>>str;


    liest du Wort für Wort ein. Jedes dieser Worte vergleichst du mit jedem Element aus der Liste.

  • Weihnachtswünsche

    • Marthog
    • 12. Dezember 2012 um 16:48

    Eine Menge CDs, darunter die ganze Reihe von Sabaton.

  • Suche ein gutes C++ Tutorial

    • Marthog
    • 11. Dezember 2012 um 20:26

    Grunsätzlich ist die Seite cplusplus.com sehr zu empfehlen, allerdings auf englisch und es wird eher auf Vollständigkeit statt auf Einfachheit geachtet. Dort findet man ein Tutorial, das wie gesagt für komplette Neueinsteiger wohl etwas zu unübersichtlich ist, aber besonders die Befehlsreferenz ist später beim Programmieren nicht mehr wegzudenken.

    In C++ soll es sich lohnen, ein Buch zu kaufen, aber ich bin auch mit online-tutorials gut durchgekommen. Das Tutorial, das ich hatte ist inzwischen leider offline. Wenn du mit englisch gut klarkommst, scheint auch das hier ganz gut zu sein, zumindest wird das vom C+-Forum empfohlen:
    Teil 1
    Teil 2

    Allgemein hilft es immer, so viele Tutorials wie möglich zu machen, denn alle erklären unterschiedliches.


    Für den Anfang empfehle ich dir, erstmal viel zu lernen, bevor du praktisch anfängst, richtige Programme zu schreiben. Und C++ ist auch anders als AutoIt. Man hat nicht nur viele Befehle und muss daraus den richtigen kennen, sondern sich die Lösung selber zusammenbasteln. Lass erstmal die Hände weg von allem, was etwas komplizierter ist, als die Tutorials, also keine externen Libraries außer der STL (C++-Standard-Library), keine Arbeit mit Dateisystemen und erst recht keine GUIs.
    Ein häufiger Fehler, leider auch bei erfahrenen Programmieren und deswegen manchmal auch in Tutorials, ist das, das hauptsächlich C programmiert wird und nur ein paar Features von C++ übernommen werden. denn das führt zu unleserlichen und schlech wartbaren Programmcodes.

  • [Tutorial] Sauber Programmieren

    • Marthog
    • 11. Dezember 2012 um 17:38

    Ich bevorzuge immer wenn es geht For .. In ..., denn:

    • Keine Off-By-one Errors und sonstige Zugriffsverletzungen
    • Man kann Elemente nicht versehentlich überschreiben
    • Der Sinn ist leichter ersichtlich
    Zitat von Mars


    - Ne ganze Ecke schneller als For In
    - Man braucht den UBound sowieso oft in der Schleife, daher vorher berechnen und als Parameter übergeben.


    Ich habe es gerade nachgemessen und keinen Geschwindigkeitsvorteil gefunden und UBound brauche ich oft auch nur ein einziges Mal pro Schleife.

    Allgemein bevorzuge ich in Programmiersprachen sogar, wenn nur foreach-Schleifen vorhanden sind und man dafür

    Code
    for i in range(start, end, step) schreibt

    So ist das in Python und das finde ich sehr übersichtlich, weil es so konsequent ist, und man in anderen Sprachen oft viel mehr Objekte als nur Arrays hat.

  • [OpenGl] (Etwas langsames) Mandelbrot

    • Marthog
    • 9. Dezember 2012 um 11:25

    Nimm doch gleich GLSL. Das ist die Shadersprache von OpenGL.

  • AutoIt lernen

    • Marthog
    • 3. Dezember 2012 um 19:15

    Moin, auch!

    Du musst erstmal verstehen, wie eine Skriptsprache im Kern funktioniert. Dafür würde ich dir NICHT dazu raten, bestimmte Dinge, wie Fernsteuerung von Fenstern zu lernen, sondern ersteinmal mit Rechnungen, Variablen, Schleifen und Arrays anzufangen. Das ist nämlich der Kern der Sprache und man sollte es ohne Nachzudenken benutzen können.

    Zitat von James1337

    AutoIt habe ich allein durch das Lesen der Hilfe gelernt.
    Ich habe einfach ziellos durch die Funktionsliste gescrollt, mir interessant klingende Funktionen angeschaut und dann aus dem Beispiel gelernt.

    Das ist, denke ich, für das Beste, aber man sollte damit erst nach den Grundlagen anfangen. Man sollte sich im Befehlssatz schon einigermaßen auskennen, damit man auch weiß, wo man suchen muss.

  • brauche hilfe bei c++

    • Marthog
    • 3. Dezember 2012 um 18:54

    Am besten ist es, wenn du dafür aus der boost-library boost.filesystem verwendest. Das ist plattformunabhängig und recht einfach und wenn der Compiler noch kein C++11 unterstützt, hast du mit boost.regex den RegExp-Parser gleich dabei.

    Allerdings macht es überhaupt keinen Sinn, das Skript zu konvertieren, denn WinAPI und Festplatte sind der Flaschenhals, und AutoIt wurde genau für Skripte wie dieses entworfen, C++ ist für andere Probleme.


    Eine gute Aufgabe, die ich damals gemacht habe:
    Programmiere einen Getränkeautomaten mit folgenden Funktionen:
    - Preis pro Flasche auslesen
    - Eine bestimmte Geldmenge einwerfen
    - Knopf für Geld zurückgeben (auch Wechselgeld)
    - Knopf zum Kaufen einer Flasche; dabei Rückmeldung ob erfolgreich oder nicht
    - Auslesen, ob noch Flaschen im Automaten sind (aber nicht die Menge)

    Es kann beliebig viele Automaten geben, bei denen der Preis und die Anzahl an Flaschen nicht voneinander abhängt. Kleiner Hinweis dazu: Verwende Klassen.
    Das ganze sollte ohne Libraries gelöst werden. Aus Testgründen kann natürlich eine zur Ein- und Ausgabe verwendet werden.

  • Windows 8 - Was meint ihr?

    • Marthog
    • 26. November 2012 um 21:01
    Zitat von tollpan


    Vielleicht eher wegen der Abwärtskompatibilität und nicht wegen der Grösse des Funktionsumfanges. Einige Applikationen starten nicht mehr, weil die Applikation die Arbeit auf einer unbekannten Windows-Version verweigert.

    Das ist die offizielle Begründung. Kein Programmierer schreibt für ein normales Programm eine extra Abfrage, weil die meisten Programme vermutlich auch auf der nächsten Windowsversion laufen werden. Ausnahmen hierbei sind die Treiber, aber von einer Treiberfirma erwarte ich, dass sie es schafft, mehrere Seriennummern zu unterstützen.


    Meiner Meinung nach ist Windows 8 kompletter für Desktop-PCs Schwachsinn, denn eine der größten Stärken von Windows ist die komplett aufwärtskompatible API, zu der unter anderem das alte Fenstersystem gehört. Selbst MFC und .NET-GUIs sind im Grunde eine erweiterte Form der alten und man kann dadurch auch andere Controls (beispielweise von Irrlicht) in die GUIs einbinden. Mit den Modern-UI-apps (früher Metro) wird diese Kontinuität wohl unterbrochen. Außerdem kann man keine OpenGL-GUIs in die Metro-apps einbinden, ist also zu DirectX gezwungen.
    Einer der größten Störfaktoren ist für mich aber: Um Modern-UI durchzusetzen, kann man mit der kostenlosen Version von Microsoft Visual C++ keine Desktopanwendung mehr erstellen. Die alte Version ist bisher mein bevorzugter Compiler, aber unterstützt C++11 nur teilweise.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™