Beiträge von progandy

    Arbeite gerade mit einer Library die nur in x86 funktioniert und muss ziemlich viel testen, dachte es geht viel einfacher mit der x86 umstellung QQ


    Danke für all die Antworten


    Wenn du das Scite4AutoIt-Paket installiert hast, setze in die Testdatei ein #AutoIt3Wrapper_UseX64=n. Dann wird die 32bit Version ausgeführt. Für 64bit einfach das n durch y ersetzen. Die Zeile habe ich in die Abkürzungen eingetragen, ich muss nur noch use32<Leertaste> eingeben ;)

    Lass mal das laufen: Ich weiß jetzt nicht, ob das ein Bug oder ein Feature ist, aber der Variableninhalt wird nicht mehr gelöscht bei der Redeklaration. For $i = 1 To 200
    Local $var
    $var &= "x"
    ConsoleWrite(StringLen($var)
    Next

    Mach es einfach über PDO (http://www.php.net/manual/de/intro.pdo.php) und du brauchst dir keine Gedanken um escapen usw. machen.


    Das ist so nicht ganz korrekt. Wenn man UTF-8 verwenden will, sollte man nicht SET NAMES verwenden, denn das könnte zu Sicherheitslücken führen. Man sollte im Verbindungstring ;charset=utf8 anhängen (geht aber erst ab php 5.3.6)

    mysql_connect ist eh veraltet und wird wohl bald in einer zukünftigen Version von PHP komplett verschwinden. Sprich dein PHP-Script ins nur sehr eingeschränkt in der Zukunft nutzbar.


    Die mysql-Funktionen sind veraltet, aber mysqli nicht. Dieses bietet eine sehr ähnliche Schnittstelle an, die sowohl wie mysql als auch über Pseudo-Objekte verwendet werden kann.

    Zitat

    Lass mich raten die hast die das Keynotes-Video genau garnicht angeschaut ;).


    Doch, das sollte ein kleiner Witz sein :( Verkauf nur im MS-Store, hochwertige Hardware und OS aus dem gleichen Haus ... Woher kennen wir das :rolleyes: Mal schauen, ob MS die Apple-Nummer auch wirklich durchziehen kann.

    Naja wenn wirklich, wie MS ja gesagt hat, CAD Anwendungen drauf laufen ist das Tablett schon eher mehr ein PC als ein Spielzeug ;).


    CAD-Anwendungen im Metro-Design? Baue dein eigenes Haus aus Tiles: Ein Raum = 1 Tile. Klar, so was läuft problemlos. :P

    Die Umwandlung vom String in einen Zahlenwert gehört in eine extra Funktion finde ich. Wenn du die Parameterzahl reduzieren willst, wäre evtl. ein 16bit-Integer geeignet:

    Code
    void controlLEDs(unsigned short data) // e.g. 0xABCD
    {
    shiftOut(dataPin, clockPin, 0xFF & (data >> 8)); // 0xAB
    shiftOut(dataPin, clockPin, 0xFF & (data)); // 0xCD
    }


    danke für die antwort :) aber so einen autoit-interpreten gibt es nicht....oder? :)


    Klar gibt es den. Er heißt AutoIt3.exe und beim "kompilieren" wird das Skript zusammen mit dem Interpreter in eine exe gepackt. Eine DLL lässt sich so nicht erstellen. Eine DLL besitzt eine Schnittstelle, die nicht dynamisch erstellt werden kann. Diese muss fest in die DLL eingebunden werden und das geht mit AutoIt nicht.

    Übrigens #region kannte ich noch nicht. Habe es auch nicht in der Hilfe gefunden. Wofür ist es überhaupt?


    Code zwischen #region und #endregion gehört logisch zusammen und du kannst ihn in SciTe zusammenklappen. Beispiel:

    alle wichtigen Module einzeln abzuspeichern (und zu testen), dann diese mit #include einzubinden und dann mit einer "einfachen" Hauptroutine (ggf. mit Parameter) anzuspringen?


    So meine ich das, aber die Aufteilung in includes mache ich auch nicht immer. Stattdessen teile ich dann die Datei mit #region etwas schöner auf.

    Meine Frage ist nun, wie testet ihr komplexe Programme? Gibt es ein besseres Tool als Autoit-Debugger oder wie löst ihr das Problem (der Debug-Befehl ist ja ziemlich furchtbar)?


    Ich debugge gar nicht so viel. Das Programm wird möglichst modular geschrieben und die einzelnen Funktionen dann getestet. Wenn es dann mal hakt, kommen nach und nach Debug-Befehle an kritischen Stellen in den Code (z.B. Logdatei, ConsoleWrite oder OutputDebugString-DLLCall)

    Oder sollte man ggf.zu PureBasic wechseln, weil die Entwicklerumgebung/Testumgebung besser ist? (Ich weiß eine ketzerische Frage hier im Forum).


    Das kannst du nicht vergleichen. AutoIt ist eine Skriptsprache, PureBasic wird kompiliert.

    Zins = Kapital * Zinssatz
    1Jahr = Kapital + Kapital * Zinssatz = (1 + Zinssatz) * Kapital
    2Jahr = 1Jahr + 1Jahr * Zinssatz = (1 + Zinssatz) * (1 + Zinssatz) * Kapital
    ...
    ==> Enbetrag = Startkapital * (1 + Zinssatz) ^ Jahre
    Zinssatz als x% / 100%, z.B. 3% = 0.03


    Mag sein. Aber wie stellst du dir das vor? Kannst du vielleicht die nötigen Funktionen nennen? Ich würde gerne versuchen das mal einzubauen.


    Erstelle die Datei mit CreateFile als OVERLAPPED. Dann einen DLLStruct-Buffer von z.B. 10MB, Download 10MB an Daten, dann setze das in die DLLStruct und starte mit WriteFile den Schreibvorgang. Lade weiter Daten runter. Mit GetOverlappedResult prüfst du, ob der Schreibvorgang fertig ist und wenn ja, dann starte einen neuen Schreibvorgang. Wenn du die 10MB geladen hast, aber noch nicht schreiben kannst, warte so lange bis es geht.