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. name22

Beiträge von name22

  • Problem bei der Zeitmessung

    • name22
    • 3. August 2012 um 11:51
    Zitat

    Bei meinen Rechner ist die CPU grundsätzlich übertaktet. Aber das da die Uhrzeit verkehrt läuft hab ich noch nie erlebt O.o


    Ich glaube es geht darum, dass die CPU ihre Taktfrequenz anpasst und die Zeitmessungsfunktion die in AutoIt verwendet wird dafür nicht kompensiert. Meine CPU hat je nach Auslastung einen Takt von 1,6GHz oder 4,0GHz. Fast alle der neuen Intel CPUs haben diese neue TurboBoost Funktion mit der der Takt während des OS Betriebs geändert werden kann.

  • WINHTTP - Telefonanlage weist ab (Zugriff verweigert), IE.au3 geht aber

    • name22
    • 3. August 2012 um 11:47

    Wird da vielleicht ein Cookie gesetzt? Schau dir mal den Response Header des Servers ganz genau an.

  • _FTP_FileGetDir und anderes funzt net

    • name22
    • 2. August 2012 um 22:12
    Zitat

    oh man,wie peinlich... die hilfe müsste man benutzen können.....mist, bin erst sei wenigen tagen autoitler, hoffe das kann mir noch verziehen werden. :)


    Sowas Banales übersieht jeder mal ^^. Passiert mir andauernd :whistling: ...

  • WINHTTP - Telefonanlage weist ab (Zugriff verweigert), IE.au3 geht aber

    • name22
    • 2. August 2012 um 14:43

    Ich verstehe nicht ganz, wieso du POST als Verb verwendest. Was willst du denn da für Daten übertragen? Da alle Daten (soweit ich sehen kann) in URL basiert weitergegeben werden, sollte ein GET Request doch ausreichen. :S

  • Hi

    • name22
    • 2. August 2012 um 14:27

    Herzlich Willkommen im Forum FalsifyTheWorld. ;)
    Ich hoffe es wird dir hier gefallen.

  • DANKE an Alle

    • name22
    • 31. Juli 2012 um 17:07

    @Cheater Ein Forum für Fische? Na kein Wunder. :whistling: Fische sind nunmal nicht sehr einfühlsam...

    Ich denke hier ist es auch ein wenig leichter als in größeren Foren 1) Unterstützung zu erhalten und 2) die eigenen Fähigkeiten zu verbessern. Unser noch recht überschaubares Forum macht es neuen Usern definitiv einfacher sich zu integrieren als manche größere Foren. Das ist etwas was mir hier sehr gut gefällt :). Außerdem haben viele hier verstanden, dass man Leuten eher hilft indem man ihnen beibringt sich selbst zu helfen.

  • Contextmenü für dimesionierte Icons

    • name22
    • 31. Juli 2012 um 17:01

    Raupi hat ja jetzt eigentlich schon alles gesagt, was es zu sagen gibt :D. Aber auch wenn es für v206 momentan noch ein wenig kompliziert ist, hab ich mal ein beispiel geschrieben.

    Beispiel
    [autoit]

    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>
    #include <GUIMenu.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ; -Author: name22 (http://www.autoit.de)

    [/autoit] [autoit][/autoit] [autoit]

    Global $iButtons = 10 ;Number of Buttons
    Global $aButtons[$iButtons + 1][2] = [[$iButtons]]
    Global Enum $iTestItem1 = 1000, $iTestItem2, $iTestItem3 ;Im Prinzip darfst du dir hier deine eigenen ControlIDs für die MenuItems aussuchen.
    Global $iCurContext ;Variable die den Array-Index für den Button enthält über den gerade das ContextMenu geöffnet wurde.

    [/autoit] [autoit][/autoit] [autoit]

    $hWnd_GUI = GUICreate("ContextMenu Example by name22", 400, 100)
    For $i = 1 To $aButtons[0][0]
    $aButtons[$i][0] = GUICtrlCreateButton($i, 5 + ($i - 1) * 40, 40, 30, 30)
    $aButtons[$i][1] = GUICtrlGetHandle($aButtons[$i][0])
    Next
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
    GUIRegisterMsg($WM_CONTEXTMENU, "WM_CONTEXTMENU")

    [/autoit] [autoit][/autoit] [autoit]

    $hMenu_Context = _GUICtrlMenu_CreatePopup() ;Hier wird das eigentliche menü erstellt
    _GUICtrlMenu_InsertMenuItem($hMenu_Context, 0, "Test-Item 1", $iTestItem1)
    _GUICtrlMenu_InsertMenuItem($hMenu_Context, 1, "Test-Item 2", $iTestItem2)
    _GUICtrlMenu_InsertMenuItem($hMenu_Context, 2, "Test-Item 3", $iTestItem3)

    [/autoit] [autoit][/autoit] [autoit]

    While True
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $aButtons[1][0] To $aButtons[$aButtons[0][0]][0]
    MsgBox(64, "Button", "Button Clicked: " & $nMsg - $aButtons[1][0] + 1)
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $ilParam
    Switch $iwParam
    Case $iTestItem1
    ConsoleWrite("Button: " & $iCurContext & @TAB & "Context: Test-Item 1" & @CRLF)
    Case $iTestItem2
    ConsoleWrite("Button: " & $iCurContext & @TAB & "Context: Test-Item 2" & @CRLF)
    Case $iTestItem3
    ConsoleWrite("Button: " & $iCurContext & @TAB & "Context: Test-Item 3" & @CRLF)
    EndSwitch
    EndFunc ;==>WM_COMMAND

    [/autoit] [autoit][/autoit] [autoit]

    Func WM_CONTEXTMENU($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $ilParam
    For $i = 1 To $aButtons[0][0]
    If $aButtons[$i][1] = $iwParam Then
    $iCurContext = $i
    _GUICtrlMenu_TrackPopupMenu($hMenu_Context, $hWnd_GUI) ;Das Contextmenü wird nur bei einem Rechtsklick auf die Buttons als Child der HauptGUI erstellt
    ExitLoop
    EndIf
    Next
    Return True
    EndFunc ;==>WM_CONTEXTMENU

    [/autoit]
  • Passwort

    • name22
    • 31. Juli 2012 um 14:43

    Du fügst es an der Stelle ein, wo du willst, dass das Inputfeld geleert wird.
    Also in diesem Fall, nachdem das Passwort bestätigt wurde.

  • DANKE an Alle

    • name22
    • 31. Juli 2012 um 14:21

    Ich denke alle hier machen das gerne und werden auch in Zukunft zur guten Entwicklung dieser Community Beitragen. :)
    Dieses Forum ist meiner Meinung nach einzigartig im internet (und das will schon was heißen). Und ich hoffe, dass das auch weiterhin so sein wird.
    Ich möchte hiermit auch meinen Dank aussprechen an alle die unser Forum so schön machen wie es ist :D.

  • Bestimmte Dateien in .Ini schreiben lassen

    • name22
    • 31. Juli 2012 um 01:10

    Da die Dateinamen nach diesem Schema einfach mit einem Suffix erweitert werden gehe ich mal davon aus, dass die alten Dateien noch da sind.
    Ich hab mal etwas zusammengebastelt. Bei mir funktioniert es zwar, aber ich bin mir immer noch nicht ganz sicher wie das bei dir aussieht.
    Das Script liest alle Pfade zu Verzeichnisen die überwacht werden sollen aus einer Textdatei aus. In dieser Datei müssen die pfade durch Zeilenumbrüche getrennt sein.
    Das könnte dann so aussehen:

    Paths.txt
    Code
    C:\Users\Name\Desktop\Test
    C:\Users\Name\Desktop\Weiterer Test


    Alle diese Pfade werden dann in einer SQL Datenbank gespeichert. Danach wird in regelmäßigen Intervallen eine Funktion gestartet die die Verzeichnisse nach .dwg Dateien durchsucht und mit den bekannten Dateien in der Datenbank vergleicht. Falls eine Datei noch nicht in der Datenbank steht, dann wird sie dort eingetragen, in das Backup Verzeichnis kopiert und ihr Pfad wird in eine Index.ini im Backup Verzeichnis geschrieben.
    Falls du ein Verzeichnis zur Überwachung hinzufügen willst, dann musst du es nur in die Paths.txt schreiben.

    Backup.au3
    [autoit]

    #include <SQLite.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ; -Author: name22 (http://www.autoit.de)

    [/autoit] [autoit][/autoit] [autoit]

    Global $sPathFile = @ScriptDir & "\Paths.txt" ;Pfad zur Textdatei die die zu überwachenden Pfade enthält
    Global $sPath_Backup = @ScriptDir & "\Backup" ;Backup-Pfad in den die Dateien und die Index.ini kopiert werden
    Global $sPath_DB = @ScriptDir & "\Backup.sql" ;Pfad zur SQL Datenbank (falls sie nicht existiert wird sie erstellt)

    [/autoit] [autoit][/autoit] [autoit]

    Global $aPaths = StringRegExp(FileRead($sPathFile), "\s*(\V+)\s*", 3) ;Liest Pfade aus der Datei aus

    [/autoit] [autoit][/autoit] [autoit]

    _SQLite_Startup(@ScriptDir & "\sqlite3.dll", False, True, "")

    [/autoit] [autoit][/autoit] [autoit]

    Global $hDB_Backup = _SQLite_Open($sPath_DB) ;Öffnet oder erstellt die Datenbank in der alle Daten zur überwachung der Verzeichnisse gespeichert werden
    _SQLite_Exec($hDB_Backup, "CREATE TABLE IF NOT EXISTS PathID (ID INTEGER PRIMARY KEY, Path TEXT);") ;Erstellt eine Zuordnungstabelle für alle Pfade

    [/autoit] [autoit][/autoit] [autoit]

    OnAutoItExitRegister("_Shutdown")
    HotKeySet("!q", "_Exit")
    AdlibRegister("_MonitorPaths", 3000) ;Ruft alle 3000 Millisekunden die Funktion auf, welche alle Verzeichnisse scannt

    [/autoit] [autoit][/autoit] [autoit]

    While Sleep(1000)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _MonitorPaths()
    Local $aRow, $hSearch, $iID, $sFileName, $iCount_Backup = 0

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 0 To UBound($aPaths) - 1
    If _SQLite_QuerySingleRow($hDB_Backup, "SELECT ID FROM PathID WHERE Path=" & _SQLite_Escape($aPaths[$i]) & ";", $aRow) = $SQLITE_OK Then ;Falls Pfad existiert, dann...
    $iID = $aRow[0] ;ID des Pfads
    Else
    Do
    $iID = Random(10000, 99999, 1) ;Neue zufällige ID für den Pfad
    Until _SQLite_Exec($hDB_Backup, "INSERT INTO PathID VALUES (" & $iID & ", " & _SQLite_Escape($aPaths[$i]) & ");") = $SQLITE_OK ;Falls ID noch nicht existiert, dann...
    _SQLite_Exec($hDB_Backup, "CREATE TABLE IF NOT EXISTS path" & $iID & " (Files TEXT PRIMARY KEY);") ;Tabelle wird für neuen Pfad erstellt mit ID als Name
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    $hSearch = FileFindFirstFile($aPaths[$i] & "\*.dwg") ;Suche nach .dwg Dateien im Verzeichnis initialisieren
    While True
    $sFileName = FileFindNextFile($hSearch) ;Gibt die nächste gefundene Datei zurück
    If @error Then ExitLoop ;Keine Dateien mehr
    If Not @extended Then ;@extended wird auf 1 gesetzt falls ein Verzeichnis gefunden wird, und das sollte ignoriert werden
    If _SQLite_Exec($hDB_Backup, "INSERT INTO path" & $iID & " VALUES (" & _SQLite_Escape($sFileName) & ");") = $SQLITE_OK Then ;Dateiname wird in Tabelle gespeichert, falls er noch nicht existiert
    FileCopy($aPaths[$i] & "\" & $sFileName, $sPath_Backup & "\" & $sFileName, 8) ;Datei in Backup-Verzeichnis kopieren
    IniWrite($sPath_Backup & "\Index.ini", "Files", $sFileName, $aPaths[$i]) ;Dateiname mit ursprünglichem Pfad in Ini schreiben.
    $iCount_Backup += 1
    EndIf
    EndIf
    WEnd
    Next

    [/autoit] [autoit][/autoit] [autoit]

    Return $iCount_Backup
    EndFunc ;==>_MonitorPaths

    [/autoit] [autoit][/autoit] [autoit]

    Func _Exit()
    Exit
    EndFunc ;==>_Exit

    [/autoit] [autoit][/autoit] [autoit]

    Func _Shutdown()
    _SQLite_Close($hDB_Backup)
    _SQLite_Shutdown()
    EndFunc ;==>_Shutdown

    [/autoit]


    Ich hoffe die Kommentare machen es verständlich was das Script macht.
    Alt+Q beendet das Script.
    Kannst es ja mal ausprobieren. Falls es nicht funktioniert, dann haben wir zumindest mal einen Ansatz. ;)

  • RequireAdmin in If

    • name22
    • 31. Juli 2012 um 00:46

    Du kannst auch von der Hauptdatei aus ein weiteres Script starten welches nur

    [autoit]

    #RequireAdmin
    Run("Pfad zum Hauptscript")

    [/autoit]

    enthält, und dann das Hauptscript beenden.
    Die Rechte sollten an den Prozess weitervererbt werden.

    Edit: Kleines Beispiel:

    Beispiel
    [autoit]

    ;Main.exe
    If IsAdmin() Then
    MsgBox(64, "Admin", "I am admin!")
    Else
    If MsgBox(64 + 4, "No Admin", "I need admin rights. Gimme?") = 6 Then
    Run(@ScriptDir & "\Admin.exe")
    Exit
    Else
    Exit
    EndIf
    EndIf

    [/autoit][autoit]

    ;Admin.exe
    #RequireAdmin
    Run(@ScriptDir & "\Main.exe")

    [/autoit]
  • Xorianator...

    • name22
    • 31. Juli 2012 um 00:42

    Happy Birthday Xori :thumbup: !
    Diesmal waren wir aber besonders pünktlich :D.

  • Bestimmte Dateien in .Ini schreiben lassen

    • name22
    • 30. Juli 2012 um 21:38

    Wenn der Dateiname geändert wird, ist es ja egal ob die alten noch da sind. Es wird so oder so eine neue Datei erstellt, und das kann man überwachen.

  • Bestimmte Dateien in .Ini schreiben lassen

    • name22
    • 30. Juli 2012 um 21:28

    Dann müsste sich ja der Inhalt ändern nachdem du fertig bist. Von dem her kannst du es ja so versuchen wie es misterspeed vorgeschlagen hat.

  • Bestimmte Dateien in .Ini schreiben lassen

    • name22
    • 30. Juli 2012 um 21:07
    Zitat

    Kennst du denn nen Code womit ich den Pfad einer momentanen Datei abspeichern kann?


    Da musst du mir erstmal erklären was eine momentane Datei ist... Zukünftige oder vergangene Dateien hab ich bis jetzt noch nicht verarbeiten können.

  • Bestimmte Dateien in .Ini schreiben lassen

    • name22
    • 30. Juli 2012 um 20:36
    Zitat

    Deswegen kam ich auch auf die ini datei. Meinetwegen kann ich die Pfade auch nur in eine TXT Datei schreiben lassen...


    Die Pfade kannst du auch in eine INI schreiben.. Nur nicht die ganze Datei. Die Dateien würde ich einfach in einen Ordner kopieren und die dazugehörigen Pfade in die INI schreiben.

    Zitat

    Hast du da evtl einen Codeschnipsel womit man, alle geöffneten Datein auflisten kann, sprich das das skript im Hintergrund bei allen neu geöffneten Dateien sofort den Pfad irgendwo abspeichert?


    Ich bezweifle, dass da ein Codeschnipsel ausreicht. Ich weiß nicht wie man das überwachen könnte... Alle Dateien mit einer bestimmten Endung kopieren ist kein Problem, aber wie man überprüfen könnte wann die geöffnet sind weiß ich leider nicht.

  • Bestimmte Dateien in .Ini schreiben lassen

    • name22
    • 30. Juli 2012 um 20:09

    Tja, wie gesagt...

    Zitat

    Fremdstrukturen vertragen sich nicht gut mit einer .ini, da würden auch die Ini Funktionen in AutoIt den Geist aufgeben.


    Dateien in eine .ini schreiben kannst du vergessen. ^^
    Die beste Möglichkeit dein Vorhaben durchzuführen, wäre wohl die Dateien in ein ZIP Archiv zu schreiben (dafür gibt es bereits mehrere UDFs in AutoIt, z.B. die hier: http://www.autoitscript.com/forum/topic/85…e__hl__Zip32au3). Falls dir Kompression nicht so wichtig ist, dann kannst du die Dateien ja auch einfach in einen Ordner packen. ;)
    Dann kannst du ja noch eine Art Index.ini erstellen in der die ursprünglichen Pfade der Dateien aufgelistet sind.

  • INI to path error

    • name22
    • 29. Juli 2012 um 20:10

    I guess I'll quote myself now...

    Zitat von name22

    I'm not sure if I understood you correctly, but have you tried to use the variables in the parameter without double quotes?

    Single and double quotes have the same meaning in AutoIt so it won't make a difference which one you use. You need to use the variable without any quotes.
    Like that:

    [autoit]

    ShellExecuteWait ($var3&$Var1&$var2)

    [/autoit]


    If you use quotes, then AutoIt will assume that you want to use the text "$var3 etc." as a Parameter. If it didn't do that then you wouldn't be able to use the '$' sign in a String in AutoIt.

    Zitat

    I have little experence with Autoit but have read almost every post in the English, Russian and German forums in a attempt to learn as much as I can as fast as I can. I did post here using the Google translator as was told NOT to use it but post in English.


    Admirable :). And I agree with whoever told you that you should NOT use Google Translator. Their Translator is known for messing up any text so badly that either A) no one will understand you or B) the text has the opposite meaning of whatever you want to say :D.

    Zitat

    and the english forum does not allow any posts to do with games at all


    Are you sure :huh: . That seems strange to me. We also forbid any posts related to manipulating games or cheating/botting, but some of us actually make their own games (like me) and normally get very positive feedback. I don't see any reason to not tolerate posts related to games...

  • HDMI - Auflösung/Sound

    • name22
    • 29. Juli 2012 um 15:30

    Ergebnis der Forensuche :P
    https://autoit.de/index.php?page…0822#post150822

    Déja vu...

    Edit: Wie wärs wenn du erstmal wartest bevor du gleich noch einen Thread mit derselben Frage aufmachst? Selbst wenn du das in "Programmieranfragen" gestellt hast, solltest du es unterlassen mehrere Baustellen gleichzeitig zu unterhalten...

  • INI to path error

    • name22
    • 29. Juli 2012 um 15:17

    I'm not sure if I understood you correctly, but have you tried to use the variables in the parameter without double quotes?

    [autoit]

    ShellExecuteWait ("$var3&$Var1&$var2")

    [/autoit]


    Why you decided to use quote marks for ShellExecuteWait but not for MsgBox is a mystery to me :D.
    If you put any expression in double quotes then AutoIt will interprete it as a normal string. So the actual value that's passed to the ShellExecute function is "$var3&$Var1&$var2" in text form. The content of the variables is then irrelevant.
    If you use the variable without any quotes then AutoIt will interprete the content if the variable. This is true for any operation that can be performed with variables, whether you want to multiply two variables or concatenate them or pass them as a parameter to a function, you do not use quote marks if you want those actions to be performed with the content rather than the name of the variable.

    By the way, you do know that there is an English board for AutoIt (autoitscript.com) where more people will actually understand you? ^^

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™