Argh! Verdammt blöder Fehler! :pinch:
War nur eine Zeile, die ich vergessen habe. Fehler beseitigt! Neue Version in Post#1. Vielen Dank für den Hinweis! ![]()
Beiträge von Oscar
-
-
Hier mal mein neuestes Projekt: Feuerrad.
Eine Art Glücksrad für ein Spielchen zwischendurch.
An dieser Stelle schonmal ein dickes Dankeschön an UEZ, der den Prototyp dafür erstellt hat.Die Spielregeln sind ganz einfach:
- Man darf das Rad 10 mal drehen und muss dabei so viel Punkte, wie möglich bekommen.
- Je länger man den Start-Button gedrückt hält, umso länger dreht sich das Rad (Powerleiste unterhalb des Buttons).
- Punkte gibt es, wie sie auf dem jeweiligen Segment stehen, bei dem das Rad anhält.
- Es gibt außerdem zwei besondere Segmente: "NULL" = alle bisherigen Punkte gehen verloren und "JACK" = Jackpot -> 250 PunkteUpdate v1.2 (20.02.2014):
- Zeiger in anderer (auffälligerer) Farbe.
- mehr Sounds (bei "0", "JACK" und "NULL" sowie bei einem Eintrag in die "TOP 100").
- HiScore-Tabelle (TOP 100).
- Sounds können ein-/ausgeschaltet werden (Speaker-Icon in der rechten Hälfte).
- Die Randomwerte etwas "entschärft". Das Drehverhalten des Rades ist jetzt etwas besser abschätzbar.Installation:
Einfach das ZIP-Archiv aus dem Anhang irgendwohin entpacken.Screenshot:
Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. -
Ich zitiere mal Wikipedia:
Zitat
UNC-Adresse (lokal):Das Format für lokale Pfade unter Windows, also Daten, die auf dem verwendeten Rechner selbst vorhanden sind, ist:
\\?\C:\Daten oder \\.\C:\Daten
Diese Variante erhöht auch die maximale Pfadlänge von 255 Zeichen auf 32.767 Zeichen.
-
Naja, ganz fertig nicht. Er muss die Pfade entsprechend anpassen.
Aber das sollte auch ein Anfänger hinbekommen.
-
Mit dieser neuen 3.3.10.2 ist leider die Abfrage
[autoit]If @AutoItVersion < "3.3.8.0" Then ...
[/autoit]wahr, obwohl eine Version 3.3.10.2 genutzt wird. Warum muss diese Unter-Unterversion nun 2stellig sein ?
[autoit]
Weil Du einen Stringvergleich (Zeichen für Zeichen von links nach rechts) vornimmst und die "1" nunmal kleiner ist als die "8".
Am besten verwendest Du "_VersionCompare()":If _VersionCompare(@AutoItVersion, "3.3.8.0") < 0 Then
[/autoit] -
Das bringt nur etwas, wenn Du die Art und Reihenfolge der Verschlüsselung geheimhalten kannst.
Hat der Angreifer Zugriff auf die Verschlüsselungs- und/oder die Entschlüsselungsroutine, so kannst Du Dir das sparen. -
Und warum benutzt Du nicht FileCopy?

-
Das "Problem" ist die automatische Typwandlung von AutoIt. Hier geht AutoIt davon aus, dass es sich um Strings handelt und vergleicht Zeichen für Zeichen (von links nach rechts).
Und "9" ist dabei nunmal größer als "3".
Mit Number kann man AutoIt dann sagen, dass er numerisch vergleichen soll. -
Eine andere Möglichkeit wäre, das Handy per Bluetooth mit einem Audio-Transmitter (am Autoradio angeschlossen) zu verbinden.
-
Grundsätzlich ist das alles möglich.
Genaueres kann man natürlich erst sagen, wenn Du uns mitteilst mit welchem Programm Du arbeiten willst.
Am einfachsten wären natürlich Kommandozeilenprogramme. Die bräuchte man nur mit entsprechenden Parametern aufrufen. -
Es gibt unterschiedliche Timestamps (Last modified / Created / Last accessed).
Am besten alle drei Timestamps auf den gleichen Wert setzen. Die AutoIt-Funktion "FileSetTime" drei mal aufrufen mit den entsprechenden Type-Parameter.
Dann sollte alles passen.
-
Schau Dir mal "_FTP_ListToArrayEx" an. Wenn Du damit das Verzeichnis ausliest, bekommst Du das Dateidatum/-zeit mit ausgegeben.
Damit kannst Du dann bei der lokalen Datei das Dateidatum/-zeit setzen. -
Hast Du die Änderungen jeweils auf der SD-Karte vorgenommen?
Wenn ja, hat das evtl. mit dem vorherigen kopieren zu tun. Ich hatte mal ein Autoradio (mit SD-Schacht), das hat die Dateien immer in der Reihenfolge abgespielt, wie sie auf die Karte kopiert wurden (egal welcher Dateiname oder ID3-Tag).
Auch wenn man später die Dateien umbenannt hat, wurden sie trotzdem in der Kopier-Reihenfolge abgespielt. Das einzige was geholfen hat: Die Dateien am Rechner vorsortieren (Dateinamen entsprechend benennen), die Karte formatieren und dann die Dateien so auf die Karte kopieren.
Vielleicht hilft das...
-
Die "neuere" Funktion wäre dann wohl "AddClipboardFormatListener" (ab Vista aufwärts).
Wobei ich den entscheidenen Unterschied irgendwie nicht sehe. Man bekommt eine Message "WM_CLIPBOARDUPDATE" und holt sich dann den Inhalt.
Aber abgesehen davon, die _ClipBoard-UDF funktioniert jedenfalls sehr gut. Ich habe damit schon ein Script erstellt und bin sehr zufrieden mit dem Ergebnis. Deshalb der Hinweis auf die UDF.
-
Du solltest Dir mal die Funktion "_ClipBoard_SetViewer" anschauen.
Im Scriptbeispiel ist beschrieben wie man einen eigenen Viewer in die ClipboardViewer-Kette einbindet. Ein permanentes abfragen mittels "ClipGet" ist kein guter Stil. -
Ich finde Datentypen auch überflüssig!
Auch wenn es manchmal Fehler gibt bei der automatischen Umwandlung, so ist es doch insgesamt gesehen sehr praktisch, dass man sich nicht darum kümmern muss.
Diesen Weg hin zu C(++) sehe ich auch skeptisch entgegen. Die Lesbarkeit leidet doch sehr darunter. Wenn ich mir dann noch vorstelle, wie einige hier mit ihrem Spaghetticode jetzt auch noch die neuen "Fähigkeiten" ausnutzen, dann braucht es keinen Obfuscator mehr...
-
Zitat
- Die Nutzung der Ok.de Dienste durch automatisierende Scripte (so genannte Bots) oder durch Scripte/Programme Dritter (für die kein Nutzungsrecht eingeräumt wurde) ist untersagt
- Eine Massenregistrierung von Accounts ist nicht zulässig
Beide Punkte sprechen gegen Dein Vorhaben! Deshalb gibt es hier keinen weiteren Support. [Closed] -
Wenn das jeweils nur "ein paar Bytes" sind, die da übertragen werden, ist das auch mit AutoIt problemlos machbar.
Bei mehr Daten müßte man das mit Paketen steuern und dann rundum abfragen.
Auf jeden Fall würde ich aber auch 1 Server und X Clients benutzen. -
Du musst für die Inidatei einfach einen absoluten Pfad benutzen:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
; Beispiel 1
_tunngle()Func _tunngle()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Local $sInifile = @ScriptDir & "\Config.ini" ; <- Inidatei im gleichen Verzeichnis wie das Script
If Not FileExists($sInifile) Then
IniWrite($sInifile, "Tunngle", "Path", "")
EndIf
$TunnglePath = IniRead($sInifile, "Tunngle", "Path", "")
If $TunnglePath = "" Then
$TunnglePath = FileOpenDialog("TEXT-BlaBla", "C:\Program Files (x86)\Tunngle", "Application (*.exe)", 0, "Tunngle.exe")
IniWrite($sInifile, "Tunngle", "Path", $TunnglePath)
MsgBox(0, "Path", $TunnglePath)
EndIf
EndFunc ;==>_tunngle; Beispiel 2
[/autoit] [autoit][/autoit] [autoit]
_tunngle()Func _tunngle()
[/autoit]
Local $sAppDir = @AppDataDir & "\MeinScript" ; <- Verzeichnis im AppDataDir
If Not FileExists($sAppDir) Then DirCreate($sAppDir) ; Verzeichnis anlegen, falls nicht vorhanden
Local $sInifile = $sAppDir & "\Config.ini" ; <- Inidatei im AppDataDir
If Not FileExists($sInifile) Then
IniWrite($sInifile, "Tunngle", "Path", "")
EndIf
$TunnglePath = IniRead($sInifile, "Tunngle", "Path", "")
If $TunnglePath = "" Then
$TunnglePath = FileOpenDialog("TEXT-BlaBla", "C:\Program Files (x86)\Tunngle", "Application (*.exe)", 0, "Tunngle.exe")
IniWrite($sInifile, "Tunngle", "Path", $TunnglePath)
MsgBox(0, "Path", $TunnglePath)
EndIf
EndFunc ;==>_tunngle -
Siehe Hilfe zu FileOpenDialog:
Zitat@WorkingDir is changed on successful return.
Wenn Du nach FileOpenDialog IniRead und IniWrite mit relativen Pfad benutzt, muss das scheitern (fehlende Schreibrechte in "C:\Program Files (x86)\"?) bzw. wird im falschen Verzeichnis ("C:\Program Files (x86)\Config.ini") geschrieben.