EndIf fehlt!
Subzero007, Du solltest Dir mal angewöhnen die Fehlermeldung mitzuposten. Daran kann man nämlich meist schon sehen, wo es hakt.
Beiträge von Oscar
-
-
Bei dem Script von SEuBo fehlt ein Sleep.
-
Wenn Du es als Funktion brauchst:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
HotKeySet('{ESC}', '_End')
While True
ToolTip(_Timer_GetMouseIdleTime())
Sleep(20)
WEndFunc _Timer_GetMouseIdleTime()
[/autoit] [autoit][/autoit] [autoit]
If Not IsDeclared('aMousePosOld') Then Global $aMousePosOld = MouseGetPos()
If Not IsDeclared('iTimer') Then Global $iTimer = TimerInit()
Local $aMousePos = MouseGetPos()
If $aMousePos[0] <> $aMousePosOld[0] Or $aMousePos[1] <> $aMousePosOld[1] Then
$aMousePosOld = $aMousePos
$iTimer = TimerInit()
EndIf
Return StringFormat('%0.3f', TimerDiff($iTimer) / 1000)
EndFuncFunc _End()
[/autoit]
Exit
EndFunc -
Ich frage jetzt vorsichtshalber die Flags beim Xing-Header ab, sonst werden da vielleicht falsche Werte ausgelesen.
Neue Version in Post #1.
P.S.: Veröffentlichst Du Dein Programm hier? Wäre interessiert.

-
Was mich mal interessieren würde:
Gibt es einen MP3-Encoder, der VBR-Dateien erstellt, ohne einen Xing-Header anzulegen? (Meine Funktion würde dann 00:00:00 als Length ausgeben)
Laut Wikipedia ist dieser Headerbereich optional, also nicht unbedingt erforderlich, um die MP3-Dateien abzuspielen. Jedoch müsste man ohne diesen Header die gesamte Datei scannen, um die Gesamtlaufzeit des MP3s rauszukriegen.
Das möchte ich, aus Performancegründen, jedoch vermeiden. Bisher habe ich bei meinen MP3s noch keine VBR-Datei ohne diesen Header gefunden. Der MP3-Encoder "Lame" beherrscht das auch, von daher bin ich recht optimistisch.
Falls ihr dennoch eine solche MP3-Datei findet, bin ich interessiert daran, welcher Encoder sowas produziert. -
-
Ich verstehe das Problem immer noch nicht ganz. Wenn das zweite Fenster ein Child ist, dann wird es doch automatisch mit in den Vordergrund geholt!?
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>$hMainGui = GUICreate('Main-Gui')
[/autoit]
GUISetState()
$hChildGui = GUICreate('Child-Gui', 200, 100, -1, -1, Default, Default, $hMainGui)
GUISetState()
While 1
$aMsg = GUIGetMsg(1)
Switch $aMsg[0]
Case $GUI_EVENT_CLOSE
If $aMsg[1] = $hMainGui Then Exit
EndSwitch
WEnd -
Kein Support für Bots (siehe Forenregeln)!
[Thread closed] -
Naja, mit C kenne ich mich nicht so aus, aber das mit dem "Xing"-Header hat mich auf die richtige Bahn geführt.
Vielen Dank!
Neue Version: siehe Post #1.
-
Du musst das Hauptfenster während der Anzeige des Child-Fensters deaktivieren.
Mal ein Beispiel:Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstants.au3>$hMainGui = GUICreate('Main-Gui')
[/autoit] [autoit][/autoit] [autoit]
$hOpen = GUICtrlCreateButton('Open Child-Gui', 10, 10, 120, 25)
GUISetState()
$hChildGui = GUICreate('Child-Gui', 200, 100, -1, -1, Default, Default, $hMainGui)
$hClose = GUICtrlCreateButton('Close', 10, 10, 80, 25)While 1
[/autoit]
$aMsg = GUIGetMsg(1)
Switch $aMsg[0]
Case $GUI_EVENT_CLOSE, $hClose
If $aMsg[1] = $hMainGui Then Exit
GUISetState(@SW_ENABLE, $hMainGui)
GUISetState(@SW_HIDE, $hChildGui)
Case $hOpen
GUISetState(@SW_DISABLE, $hMainGui)
GUISetState(@SW_SHOW, $hChildGui)
EndSwitch
WEnd -
So, hier kommt jetzt die überarbeitete Version (beim testen des Starplayers sind mir einige "Bugs" aufgefallen).
Die neue Version sucht jetzt auch nach ID3 v1.x Einträgen, falls keine v2.x Einträge vorhanden sind. Sind beide vorhanden werden nur die v2 Einträge ausgelesen.
Beim testen sind mir völlig kuriose MP3s aufgefallen. Da stimmt manchmal die ID3-Header-Size nicht mit dem tatsächlichen Header überein oder es existieren zwei ID3-Header-Einträge oder es sind nicht alle Felder ausgefüllt, usw...
Eine Menge Arbeit, das alles zu berücksichtigen und die Daten entsprechend auszulesen. Jetzt sollte aber alles passen. Falls jemand ein MP3 (mit ID3-Tags) besitzt, das von dieser Funktion nicht ausgelesen werden kann, bitte PN an mich!Die Funktion liefert (bei Erfolg) ein Array mit folgenden Werten zurück:
- Title
- Artist
- Album
- Year
- Length
- Tracknr.
- Genre
- Encoder
- MPEG-Version
- Bitrate
- Sample-Freq. -
Ich vermute mal, dass sich in der Datei Zeilen befinden, wo keine oder zu wenige Semikola vorkommen (z.B. Leerzeile).
Demzufolge liefert StringSplit ein zu kleines Array zurück. Diesen möglichen Fehler solltest Du abfangen, indem Du die Größe Deines Arrays testest, bevor Du die einzelnen Elemente benutzt. -
Win7 wird auch hier mit vorinstalliertem IE rauskommen. Es hat mit der EU eine Einigung gegeben. Microsoft muss nun "nur" noch, nach der Installation, den Download der gängigsten Alternativ-Browser anbieten.
-
So müsste es stimmen:
[autoit]
[/autoit]
$SoftwareDir= @ScriptDir & "\Bentley\MicroStation V8i\ms08110517de\"
$InstallDir= "\MicroStationV8i\"
RunWait('msiexec /log c:\silent.log /qb! /norestart APPLICATIONFOLDER="' & @ProgramFilesDir & $InstallDir & '" PACKAGE_HOMEROOT="' & @ProgramFilesDir & $InstallDir & '" /i"' & $SoftwareDir & 'MicroStation.msi"') -
Ein Exe-Programm bleibt eine ausführbare Datei, der ich nicht ansehen kann, was sie macht. Ob sie nun ein Zertifikat besitzt oder nicht ist dabei nebensächlich.
Im Prinzip müsste so ein Zertifikat auf den Realnamen ausgestellt sein und das nach vorheriger Überprüfung, ob der Name auch wirklich zu der Person gehört. Alles andere ist nur ein Pseudo-Zertifikat und bietet nur eine "falsche" Sicherheit.
Hinzu kommt, dass jemand mit einer Exe auch unfreiwillig Viren verbreiten kann (Virus auf eigenem Rechner aktiv).Fazit: Echte Sicherheit bietet nur das Script.
-
Ich wüsste auch nicht, dass man das speichern kann, aber Du kannst im Menü von SciTE unter "View" den Eintrag "Toggle all folds" aufrufen, dann werden alle wieder zugefaltet.
-
Da habe ich jetzt keine Lösung für parat. Notfalls die manuelle Vorgehensweise automatisieren.
Vielleicht reicht es ja auch aus, die aufzurufende Seite als "Vertrauenswürdige Site" einzutragen. -
Da das ein IE ist, wirst Du wohl die Sicherheitseinstellungen bei den Internetoptionen anpassen müssen.
-
Herzlich willkommen auch von mir.
Mit Deinem umfangreichen Wissen über diverse Programmiersprachen wirst Du mit AutoIt wohl nicht so viele Probleme haben. Musst Dich halt an die Syntax gewöhnen.P.S.: Mitte der 80er habe ich auch mit programmieren begonnen und es gibt noch einige "Dinosaurier" hier im Forum.

-
Hört sich so an, als wenn Du ein Programm zum verwalten von Bildern (Fotos) machen willst.
Das einlesen der Dateinamen und der Daten_info.txt (ich vermute mal Informationen zu dem Bild) ist sicher das geringste Problem.
Mal ein paar Stichpunkte, die Du vorab klären solltest:
- Wie soll die GUI aussehen?
- Was für Daten sollen für jedes Bild gespeichert werden?
- Wie sollen die Daten gespeichert werden (Datenbank)? Du willst doch bestimmt nicht immer die gesamte Festplatte durchsuchen, wenn Du nach einem Bild suchst.
- Wie sieht die Verzeichnisstruktur aus, in der die Bilder liegen? Unterverzeichnisse vorhanden? Dann rekursive Suche nötig.
- Und das wohl wichtigste: Wie sieht es mit Deinen AutoIt-Kenntnissen aus? Das ist kein kleines Projekt, was Du da vorhast.Wenn Du schon angefangen hast, dann poste immer den Code mit, damit man Dir leichter helfen kann.