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

Beiträge von BugFix

  • Schleife Für Excel

    • BugFix
    • 15. Oktober 2011 um 17:59

    Wo ist das Problem?
    - Zeilenwert =1
    - While-Schleife
    - Zelle "A" & Zeilenwert lesen
    - wenn Inhalt = "" dann Schleife abbrechen
    - sonst Inhalt verarbeiten
    - Zeilenwert +1

  • Programmpfad des Default-Browsers ermitteln

    • BugFix
    • 15. Oktober 2011 um 15:29

    Hi,
    grundsätzlich braucht man den Pfad ja nicht, da Shellexecute sich diesen selbst sucht. Spätestens aber, wenn ich an die Funktion Parameter übergeben möchte, ist der Pfad erforderlich.
    Ich habe jetzt mal die Abfrage dafür erstellt. Es wird der allgemeingültige Standard-Browser abgefragt. Ist jedoch ein Eintrag unter dem angemeldeten User, so wird dieser vorrangig zurückgegeben.

    Edit: Habe die Stringzerlegung umgestellt, gab auf anderen Systemen da Probleme.

    _GetDefaultBrowser
    [autoit]

    #Region - TimeStamp
    ; 2011-10-15 21:51:11 v 0.2
    #EndRegion - TimeStamp

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

    ;===============================================================================
    ; Function Name....: _GetDefaultBrowser
    ; Description......: Ermittelt den Programmpfad des Default-Browsers
    ; Es wird der vom User festgelegte Default-Browser abgefragt, ersatzweise der allgemeingültige
    ; Parameter(s).....: keine
    ; Requirement(s)...: keine
    ; Return Value(s)..: Kompletter Programmpfad des Default-Browsers
    ; Author(s)........: BugFix ( [email='bugfix@autoit.de'][/email] )
    ;===============================================================================
    Func _GetDefaultBrowser()
    Local $sPath = RegRead("HKEY_CLASSES_ROOT\http\shell\open\command", '')
    Local $progID = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice", "Progid")
    If $progID <> '' Then ; == User-Default-Browser gesetzt
    $sPath = RegRead("HKEY_CLASSES_ROOT\" & $progID & "\shell\open\command", "")
    EndIf
    $sPath = StringTrimLeft($sPath, 1)
    Local $Pos = StringInStr($sPath, '"')
    Return StringLeft($sPath, $Pos-1)
    EndFunc ; ==>_GetDefaultBrowser

    [/autoit]
  • Anfängerfrage: Auslesen und Reinschreiben in .txt funktioniert nicht

    • BugFix
    • 14. Oktober 2011 um 20:56

    Wenn du die Datei zum Schreiben öffnest, kannst du nicht lesen und wenn du sie zum Lesen öffnest, kannst du nicht schreiben. Diese beiden Vorgänge können nur nacheinander ausgeführt werden.
    Also:
    - FileOpen im ReadMode
    - Lesen
    - FileClose
    - FileOpen im WriteMode
    - Schreiben
    - FileClose

  • Eventabfrage

    • BugFix
    • 13. Oktober 2011 um 23:44
    Zitat von Marsi

    Solltest du also ein Programm mit Vielen Buttons und anderen Kontrollelementen haben ist GUIGetMsg erste Wahl, da man dann nicht für jeden Button etc. eine Eigene Funktion benötigt.


    Sorry, aber das ist Quatsch. Du brauchst allen Controls nur eine einzige Funktion zuweisen und kannst in dieser mit dem Makro @GUI_CtrlId das zuletzt geklickte Control auswerten.
    Es ist Geschmackssache, welchen Modus man verwendet. Gerade bei vielen Controls bietet sich der OnEventMode an, da sich das Skript damit meist übersichtlicher gestalten läßt. - Aber wie gesagt: Jeder hat da seine eigenen Erfahrungen und Vorlieben.

  • Eventabfrage

    • BugFix
    • 13. Oktober 2011 um 22:22
    Zitat von Kleiner

    u. ja du kannst beides nutzen!


    Jein. Zeitgleich geht es nicht! Du kannst entweder mit OnEventMode oder mit GUIGetMsg arbeiten. Niemals mit beiden zusammen. Es ist aber möglich innerhalb des Skriptes die Opt umzuschalten, im anderen Modus zu arbeiten und anschließend zum vorhergehenden Modus zurückzukehren. Schau dir in der "Array.au3" mal die Funktion "_ArrayDisplay" an - da passiert genau dieses.

  • über autoit alle mappen in excel datei markieren und als pdf drucken

    • BugFix
    • 13. Oktober 2011 um 21:45

    Geht ganz einfach:

    [autoit]

    ; PDF-Printer als Default-Printer setzen
    #include <Excel.au3>
    $sPath = 'DEINE.xls'
    $oExcel = _ExcelBookOpen($sPath)
    For $i = 1 To $oExcel.Sheets.Count
    $oExcel.Sheets($i).PrintOut(1, True)
    Next

    [/autoit]
  • DirectShow UDF für Webcam-capture

    • BugFix
    • 13. Oktober 2011 um 21:26
    Zitat von vivus

    ps: woher bekommst du denn die Binär Code's für die Icon'S ?


    Dazu habe ich mals das hier geschrieben. ;)

  • LV_Format_include[1.3].au3 AutoIt = tot

    • BugFix
    • 12. Oktober 2011 um 13:16

    Ähhm...

    [autoit]

    _GUICtrlListView_DefaultsSet($iBkCol=0xFF0000, $iCol=0x000000, $iSize=14, $iWeight=400, $sFont='Arial')

    [/autoit]

    Wenn du die Defaults setzen willst, dann haben die Variablennamen nix im Aufruf verloren.
    Die in der Funktion vorbelegten Defaults setzt du einfach mit:

    [autoit]

    _GUICtrlListView_DefaultsSet()

    [/autoit]

    , möchtest du eigene Werte setzen dann mit:

    [autoit]

    _GUICtrlListView_DefaultsSet(0xFF0000, 0x000000, 14, 400, 'Arial')

    [/autoit]


    Und dieser falsche Aufruf führt mit Sichrheit zu einem Fehler. ;) Nutzt du nicht STRG+F5 um die Syntax zu checken? :whistling: - Da hättest du bereits den Verweis auf diesen Fehler bekommen.

  • dynamischer Filter für ListView

    • BugFix
    • 12. Oktober 2011 um 10:12

    Kannst das ja hiermit verknüpfen: IntelliSenseBox

  • DirectShow UDF für Webcam-capture

    • BugFix
    • 12. Oktober 2011 um 10:04

    vivus:
    Diese UDF ist nicht wirklich funktionsfähig, eine funktionierende Variante habe ich hier gepostet.

    @kettensaege:
    Warum ist es für dich so wichtig, DirectShow/DirektX dafür zu verwenden?

  • Hauptscript über zusätzliche exe starten, damit der User Adminrechte hat. Funktion FileFindFirstFile geht nicht

    • BugFix
    • 12. Oktober 2011 um 09:57
    Zitat von Aducarab

    search1 und search2 haben den Wert -1 wenn ich über das Zusatzskript starte.
    Wenn ich das Hauptskript alleine starte finden sie die erste Datei.


    Das läßt vermuten, dass die Pfade nicht passen. Hast du diese eventuell relativ adressiert, oder verwendest du ein Pfadmakro (z.B. SkriptDir)? Wenn du in einer festen Umgebung arbeitest ist die Verwendung hardcodierter Pfade sinnvoller als eine relative Adressierung.
    Check doch mal deine Pfade auf Existenz (FileExists) und laß dir Fehler per MsgBox ausgeben, damit du die Ursache einkreisen kannst.

  • Excel-Sheet als Dtenbank nutzen und mit Autoit-Anwendung Daten auslesen / eintragen / ersetzen

    • BugFix
    • 11. Oktober 2011 um 23:03

    Wenn du eine bestimmte Zelle lokalisiert hast (z.B. mit einer Suche) und möchtest auf Nachbarzellen zugreifen empfehle ich die Funktion "Offset":

    [autoit]

    $Wert = $oExcel.Range("A1").Offset($ZEILEN, $SPALTEN).Value

    [/autoit]

    Wobei für $ZEILEN und $SPALTEN gilt:
    0 - ist jeweils die Zeile/Spalte selbst, mit positiven Zahlen verweist man auf 'Spalte rechts/Zeile drunter' und mit negativen Zahlen auf 'Spalte links/Zeile drüber'.

  • progandy hat Geburtstag!

    • BugFix
    • 11. Oktober 2011 um 15:49

    Auch von mir Alles Gute!
    Und Achtung - ab jetzt gilt Erwachsenen-Strafrecht. :rofl:

  • 2ter Klick auf Button

    • BugFix
    • 11. Oktober 2011 um 13:16

    Du hast eine Hauptschleife, mit der du die Msg erhältst (GUIGetMsg).
    Bei Druck auf den Button eröffnest du eine Endlosschleife, die erst verlassen wird, wenn der Button erneut gedrückt wird -- ABER diese Msg wirst du nie erhalten, da du die Msg-Schleife ja nicht mehr durchläufst, sondern in der inneren "Button"-Schleife hängst.
    Skript falsch aufgebaut. - Die Abfrage gehört mit in die Hauptschleife.

  • PLZ - App

    • BugFix
    • 10. Oktober 2011 um 19:35
    Zitat von AutoFlip

    Spannend auch, daß einige Postleitzahlen (z.B. 21039) in mehreren Bundesländern präsent sind


    :D Da scheint man sich nicht entscheiden zu können. Grundsätzlich ist es: Stadt Hamburg - also auch Bundesland Hamburg.
    Aber... im Zuge von Eingemeindungen kamen im Laufe der Zeit hinzu:
    Börnsen
    Hamburg Curslack
    Escheburg
    Hamburg Bergedorf
    Hamburg Neuengamme
    Hamburg Altengamme
    Und schon haben wir einen Mischmasch aus Hamburg/Schleswig-Holstein. :wacko:

  • AVI-Aufnahme mit Webcam funktioniert nicht

    • BugFix
    • 9. Oktober 2011 um 19:15

    Ja, der Thread ist nur rudimentär brauchbar. Ich habe daraus mal eine sinnvolle UDF erstellt, findest du hier: https://autoit.de/index.php?page…1752#post231752

  • PLZ - App

    • BugFix
    • 8. Oktober 2011 um 22:31

    Da es ja heutzutage nur noch "Apps" gibt :D und meine Damen im Büro dauernd die Zuordnung PLZ zu Bundesland benötigen, habe ich mal kurz diese "App" erstellt.
    Eingabe PLZ und das zugehörige Bundesland wird ausgespuckt.
    Vielleicht hat ja noch jemand Verwendung dafür. Nicht vergessen die "PLZ_BuLa.db" in das Skriptverzeichnis zu packen (als *.zip im Anhang).

    Spoiler anzeigen
    [autoit]

    #Region - TimeStamp
    ; 2011-10-08 22:24:40 v 1.0
    #EndRegion - TimeStamp

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

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <SQLite.au3>
    #include <SQLite.dll.au3>

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

    Opt('GUIOnEventMode', 1)
    Local $aResult, $iRows, $iColumns
    Local $sDB = @ScriptDir & '\PLZ_BuLa.db'
    If Not FileExists($sDB) Then Exit MsgBox(0, 'Fehler', 'Datei: "PLZ_BuLa.db" befindet sich nicht im Skriptordner.')

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

    $GUI = GUICreate("PLZ - Zuordnung Bundesland", 360, 111, 192, 124)
    GUISetBkColor(0x4876FF)
    GUISetOnEvent(-3, '_exit')
    GUICtrlCreateLabel("PLZ", 80, 59, 33, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlCreateLabel("Bundesland", 24, 19, 89, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $inBuLand = GUICtrlCreateInput("", 128, 15, 200, 28, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_READONLY))
    GUICtrlSetBkColor(-1, 0xFFEC8B)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $inPLZ = GUICtrlCreateInput("", 128, 54, 60, 28, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_NUMBER))
    GUICtrlSetBkColor(-1, 0xF0FFF0)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")

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

    ToolTip('')
    GUISetState()

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

    GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

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

    _SQLite_Startup ()
    _SQLite_Open($sDB)

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

    While True
    Sleep(50)
    WEnd

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

    Func _exit()
    _SQLite_Shutdown()
    Exit
    EndFunc

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

    Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    Local Static $fShow = 0
    Local $iIDFrom, $iCode, $hWndEdit, $sRead, $index
    $hWndEdit = GUICtrlGetHandle($inPLZ)
    $iIDFrom = BitAND($iwParam, 0xFFFF) ; Low Word
    $iCode = BitShift($iwParam, 16) ; Hi Word
    Switch $ilParam
    Case $hWndEdit
    Switch $iCode
    Case $EN_CHANGE
    $sRead = GUICtrlRead($iIDFrom)
    If StringLen($sRead) < 5 Then
    If $fShow Then
    GUICtrlSetData($inBuLand, '')
    $fShow = 0
    EndIf
    Return $GUI_RUNDEFMSG
    ElseIf StringLen($sRead) = 5 Then
    _SQLite_GetTable(-1, "SELECT bula FROM tabelle WHERE plz = '" & $sRead & "';", $aResult, $iRows, $iColumns)
    If $iRows Then
    GUICtrlSetData($inBuLand, $aResult[2])
    Else
    GUICtrlSetData($inBuLand, 'Keine gültige Postleitzahl!')
    EndIf
    $fShow = 1
    Else
    GUICtrlSetData($iIDFrom, StringLeft($sRead, 5))
    EndIf
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_COMMAND

    [/autoit]

    Dateien

    PLZ_BuLa.zip 127,5 kB – 424 Downloads PLZ_BuLa[1.0].au3 2,38 kB – 443 Downloads
  • XP vs. 7 vs. Vista vs. Ubuntu

    • BugFix
    • 5. Oktober 2011 um 21:01

    Solche wenig ergiebigen (und wenig sinnvollen) Threads haben wir schon öfter gehabt. Das hat null Wert!

    [CLOSED]

  • name22 feiert seinen 17ten

    • BugFix
    • 5. Oktober 2011 um 19:50

    Na dann mal noch vor Tagesende auch von mir ein "Happy Birthday".

  • Fremddateien "includen" (ohne FileInstall)

    • BugFix
    • 5. Oktober 2011 um 19:29

    Autsch, einmal Variablenname zuviel :D
    Geändert in Post #1

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™