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

  • Q: Benutzerkonto kopieren - Rechte auf Verzeichnisse setten

    • BugFix
    • 13. August 2008 um 22:24

    Damit sollte es klappen:

    Spoiler anzeigen
    [autoit]

    Global $ou = 'Computers'
    Global $domain_name = 'musterfirma'
    Global $toplevel = 'de'
    Global $accountNew = 'AccountName'

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

    Global $strAttrib, $strValue
    Global $objCompt = ObjGet("LDAP://cn=" & $ou & ",dc=NA,dc=" & $domain_name & ",dc=" & $toplevel)
    Global $objComptCopy = $objCompt.Create("computer", "cn=" & $accountNew)
    $objComptCopy.Put("sAMAccountName", $accountNew)
    $objComptCopy.SetInfo

    $objComptTemplate = ObjGet("LDAP://cn=" & $accountNew & ",cn=" & $ou & ",dc=NA,dc=" & $domain_name & ",dc=" & $toplevel)
    Global $arrAttributes[2] = ["description", "location"]

    For $strAttrib In $arrAttributes
    $strValue = $objComptTemplate.Get($strAttrib)
    $objComptCopy.Put($strAttrib, $strValue)
    Next

    $objComptCopy.SetInfo

    [/autoit]
  • Listview Items sortieren

    • BugFix
    • 13. August 2008 um 21:26
    Zitat von Taek

    Anscheinend ist da das erste Zeichen ausschlaggebend.


    Ja, es wird nach Zeichen sortiert. Wenn du Datum sortieren willst, mußt du es in der Form JJJJ-MM-TT erfassen. Dann stimmt die Sortierung.

  • Array mit mehr als 4096 Zeichen auf einer Zeile?

    • BugFix
    • 12. August 2008 um 22:14
    Zitat von mugh

    Geht daß nicht, wie aus anderen Sprachen bekannt, mit \n oder ähnlichem?


    Ich kenne da leider nicht die Möglichkeiten in anderen Sprachen.
    Also du möchtest ein Array deklarieren und die Werte zuweisen in einem Schritt ( Dim $ar[2] = [1,2] ) aber es sind soviel Werte, dass die maximal zulässige Länge einer Programmcodezeile überschritten wird. Du hattest ja schon getestet und festgestellt, dass ein Programmzeilenumbruch nur optischer Natur ist und die Zeilenlänge trotzdem für eine Zeile zählt.
    Ad hoc fällt mir kein anderer Weg, außer der in meinem Bsp., ein. Aber vielleicht kannst du ja mal schildern, wie das in anderen Sprachen gelöst ist. Evtl. gelingt es mir ja eine adäquate Funktion zu erstellen :D .

  • Array mit mehr als 4096 Zeichen auf einer Zeile?

    • BugFix
    • 12. August 2008 um 15:06

    Na, das geht eh nicht ( DIM $array = [1,2,3,4,5..4000 \n 4001..5000] ), da fehlt die Größenangabe bei der Arraydeklaration.
    Also: Dim $array[groesse] = [....]
    Probier mal folgendes:

    [autoit]

    Global $Array[6000]
    Global $TeilArray1[2000] = [....]
    Global $TeilArray2[2000] = [....]
    Global $TeilArray3[2000] = [....] ; usw.
    Global $k = 0
    For $i = 0 To UBound($TeilArray1) -1
    $Array[$k] = $TeilArray1[$i]
    $k += 1
    Next
    For $i = 0 To UBound($TeilArray2) -1
    $Array[$k] = $TeilArray2[$i]
    $k += 1
    Next
    For $i = 0 To UBound($TeilArray3) -1
    $Array[$k] = $TeilArray3[$i]
    $k += 1
    Next

    [/autoit]
  • Tooltip Uhr

    • BugFix
    • 12. August 2008 um 14:15

    Hatte ich schon mal gemacht. Guckst du: CountDown


    Edit: bzw. direkt Stoppuhr hatte ich auch mal:

    Spoiler anzeigen
    [autoit]

    #include<EditConstants.au3>
    #include<GUIConstantsEx.au3>
    Global $start, $UsedTime, $diff_Alt = 0
    Global $SetTime = False, $Break = False, $Pause = False, $Run = True
    Global $colBG = 0x0000FF, $colFont = 0xFFEA00

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

    $GUI = GUICreate('Stoppuhr', 400, 100, -1, -1)
    $Time = GUICtrlCreateInput('00:00:00,000', 100, 20, 200, 20, BitOR($ES_CENTER,$ES_READONLY))
    GUICtrlSetBkColor(-1, $colBG)
    GUICtrlSetColor(-1, $colFont)
    $bStart = GUICtrlCreateButton('Start', 40, 60, 80, 20)
    $bBreak = GUICtrlCreateButton('Unterbrechen', 160, 60, 80, 20)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $bPause = GUICtrlCreateButton('Pause', 280, 60, 80, 20)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState()

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

    While True
    $msg = GUIGetMsg()
    If $SetTime Then $UsedTime = SetTime()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $bStart ; Start/Stop Messung absolut
    $Run = Not $Run
    If $Run Then
    $SetTime = False
    SetTime()
    GUICtrlSetData($bStart, 'Start')
    GUICtrlSetState($bBreak, $GUI_DISABLE)
    GUICtrlSetState($bPause, $GUI_DISABLE)
    Else
    $SetTime = True
    $start = TimerInit()
    GUICtrlSetData($bStart, 'Stop')
    GUICtrlSetState($bBreak, $GUI_ENABLE)
    GUICtrlSetState($bPause, $GUI_ENABLE)
    EndIf
    Case $bBreak ; nur Anzeige wird angehalten (z.B. Rundenmessung)
    $Break = Not $Break
    If $Break Then
    $SetTime = False
    GUICtrlSetData($bBreak, 'Fortsetzen')
    GUICtrlSetState($bPause, $GUI_DISABLE)
    Else
    $SetTime = True
    GUICtrlSetData($bBreak, 'Unterbrechen')
    GUICtrlSetState($bPause, $GUI_ENABLE)
    EndIf
    Case $bPause ; Messung wird angehalten (Additionsmessung)
    $Pause = Not $Pause
    If $Pause Then
    $diff_Alt = $UsedTime ; abgelaufene Zeit aufaddieren
    $SetTime = False
    GUICtrlSetData($bPause, 'Weiter')
    GUICtrlSetState($bBreak, $GUI_DISABLE)
    Else
    $SetTime = True
    $start = TimerInit() ; Zeitmessung neu initialisieren
    GUICtrlSetData($bPause, 'Pause')
    GUICtrlSetState($bBreak, $GUI_ENABLE)
    EndIf
    EndSwitch
    WEnd

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

    Func SetTime()
    Local $diff = TimerDiff($start)/1000 + $diff_Alt
    Local $hour = 0
    Local $min = 0
    Local $sec = Floor($diff)
    Local $rest = ($diff-$sec)*1000
    Local $secShow, $minShow, $hourShow
    If $sec > 59 Then
    $min = Floor($sec/60)
    $secShow = Mod($sec, 60)
    ElseIf $sec > 3599 Then ; ???? testen
    $hourShow = Mod(Mod($sec,3600),60)
    $minShow = Floor(Mod($sec,3600)/60)
    $secShow = Floor($sec/3600)
    Else
    $secShow = $sec
    $minShow = $min
    $hourShow = $hour
    EndIf
    GUICtrlSetData($Time, StringFormat('%02u', $hourShow) & ':' & StringFormat('%02u', $minShow) & ':' & StringFormat('%02u', $secShow) & ',' & StringFormat('%03u', $rest))
    Return $diff ; gibt abgelaufene Zeit als absolute Differenz zurück
    EndFunc

    [/autoit]
  • Autostart....mal wieder

    • BugFix
    • 12. August 2008 um 13:33

    Vielleicht sagst du uns einfach mal konkret, was du machen willst?

  • Frage zum Hotkey

    • BugFix
    • 12. August 2008 um 11:18
    Zitat von Fisch

    das kapier ich eigt. auch nicht so recht

    bei der hotkeyfunktion $paused = NOT $paused wird $paused FALSE (oder)?
    und wenn = NOT $paused (false??) ist, wie soll dann aus = NOT $paused wieder $paused (true??) werden????????????

    ich hab da echt null durchblick --.--

    Eine Boolsche Variable (Logikvariable, bool = logisch) kennt nur zwei Zustände: WAHR oder FALSCH. Der Operator NOT verkehrt den momentanen Zustand einer Boolschen Variablen ins Gegenteil. Weil:
    NOT TRUE = nicht wahr = FALSE
    und umgekehrt
    NOT FALSE = nicht falsch = TRUE

    Nun alles klar? 8)

  • PHP / HTML Editor im SciTe Style?

    • BugFix
    • 12. August 2008 um 11:11

    Also, wie erwähnt, ist PHP nicht meine Spielwiese - aber es interessiert mich vom Grundsatz her.
    Hab mir jetzt erst mal eine PHP-Datei runtergeladen, damit ich probieren kann. ;)
    Syntaxhighlighting funktioniert ja schon mal. Also möchtest du noch:
    - Autovervollständigen
    - Abbrev Keywords
    - Hilfeaufruf (allgemein und für markiertes Wort)
    einbauen?

    Bei der Hilfe versuch erst mal, ob die Hilfedatei einen Aufruf mit Suchwort als Parameter zuläßt.
    Die andren Sachen werd ich mal ein bischen spielen.

  • PHP / HTML Editor im SciTe Style?

    • BugFix
    • 12. August 2008 um 10:47

    Was ich auf den ersten Blick gefunden habe:
    In den SciTEGlobal.properties mußt du noch die Sprachwahl für PHP freigeben.
    Das ist bei mir in Zeile 476.

    Code
    #P&HP|php||\

    # löschen und du hast in SciTE unter Menüpunkt <Sprache> jetzt PHP zur Auswahl.
    Allerdings benötigst du noch eine php.properties um die sprachspezifischen Einträge vorzunehmen. Da ich von PHP null Ahnung habe, kann ich hier nicht weiter helfen.

    Edit: Ich sag ja, ist nicht meine Materie :D - Hab grad bemerkt, dass das ja unter html.properties läuft. :whistling:

  • .au3 Dateien farbig drucken

    • BugFix
    • 11. August 2008 um 20:19

    Speichere die Datei z.B. als *.html ( in SciTE ==> <Datei> <Exportieren> <Als HTML> ). Anschließend kannst du diese Datei aus Windows heraus drucken.

  • Probleme beim Submit eines Buttons

    • BugFix
    • 10. August 2008 um 22:48
    Zitat von arnold2601

    warum gibts dann die funktion löschen, hatte erst gedacht ich kann damit den ganzen thread löschen


    Manchmal schreibt man ja frisch von der Leber weg und merkt zu spät, dass es völliger Blödsinn ist. Dann kann man den Post löschen.
    Aber den 1. Post des Thread-Starters zu löschen ist absolut sinnlos, weil dadurch das Problem verschwindet und die Antwort-Posts zusammenhanglos dastehen.

  • _INetSmtpMail mit Passwort????

    • BugFix
    • 10. August 2008 um 21:03

    Verwende einfach _INetSmtpMailCom() von Jos, damit gehts:

    _INetSmtpMailCom
    [autoit]

    Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", _
    $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Username = "", $s_Password = "",$IPPort=25, $ssl=0)
    $objEmail = ObjCreate("CDO.Message")
    $objEmail.From = '"' & $s_FromName & '" <' & $s_FromAddress & '>'
    $objEmail.To = $s_ToAddress
    Local $i_Error = 0
    Local $i_Error_desciption = ""
    If $s_CcAddress <> "" Then $objEmail.Cc = $s_CcAddress
    If $s_BccAddress <> "" Then $objEmail.Bcc = $s_BccAddress
    $objEmail.Subject = $s_Subject
    If StringInStr($as_Body,"<") and StringInStr($as_Body,">") Then
    $objEmail.HTMLBody = $as_Body
    Else
    $objEmail.Textbody = $as_Body & @CRLF
    EndIf
    If $s_AttachFiles <> "" Then
    Local $S_Files2Attach = StringSplit($s_AttachFiles, ";")
    For $x = 1 To $S_Files2Attach[0]
    $S_Files2Attach[$x] = _PathFull ($S_Files2Attach[$x])
    If FileExists($S_Files2Attach[$x]) Then
    $objEmail.AddAttachment ($S_Files2Attach[$x])
    Else
    $i_Error_desciption = $i_Error_desciption & @lf & 'File not found to attach: ' & $S_Files2Attach[$x]
    SetError(1)
    return 0
    EndIf
    Next
    EndIf
    $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $s_SmtpServer
    $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $IPPort
    ;Authenticated SMTP
    If $s_Username <> "" Then
    $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = $s_Username
    $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $s_Password
    EndIf
    If $Ssl Then
    $objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
    EndIf
    ;Update settings
    $objEmail.Configuration.Fields.Update
    ; Sent the Message
    $objEmail.Send
    if @error then
    SetError(2)
    return $oMyRet[1]
    EndIf
    EndFunc ;==>_INetSmtpMailCom

    [/autoit]
  • Einweghandynummer

    • BugFix
    • 10. August 2008 um 20:53

    Es gibt alles :D
    http://www.onlinekosten.de/news/artikel/25458

  • Suchen und kopieren

    • BugFix
    • 10. August 2008 um 20:45
    Zitat von roidanton00

    Programieren ist das erstellen einer Software im weitesten Sinne alles was dazu gehört Idee Konzept diese übersetzt man dann in den Quelltext.

    Die Idee und habe ich jetzt brauche ich nur noch ein bißchen Quelltext.


    Wenn wir hier anfangen uns Definitionen an den Kopf zu werfen, dann aber bitte richtig. :P
    Software besteht aus dem Programm und dem Code. In früherer Zeit, war es üblich generell das Programm in einem Programmablaufplan (PAP) niederzuschreiben. Dieser enthält den logischen Ablauf mit allen möglichen Datenbewegungen und Interaktionen. Anschließend wurde von Codierern der PAP in eine Programmiersprache umgesetzt.
    Da heutige Programmiersprachen ein hohes Maß an Selbstverständnis durch verständliche Funktionsnamen mit sich bringen, werden diese beiden Abläufe i.A. zusammengefügt. Für große Projekte bietet aber ein PAP nach wie vor Vorteile für die Programmerstellung.

    Unabhängig davon: Wenn du was fertiges suchst, schau dich bei Freeware um. Sollte nichts Passendes dabei sein mußt du dir wohl oder übel selbst Gedanken machen - wir helfen gern bei Unklarheiten, aber wir sind niemandes Programmier/Codier-Sklaven.

  • IE Popup per AutoIT steuern

    • BugFix
    • 10. August 2008 um 19:58

    Schau mal _IENavigate(), _IEAttach() an.

  • Frage zum Hotkey

    • BugFix
    • 10. August 2008 um 19:50
    Zitat von firewalldevil

    Und als Überprfung kommt ein True raus, warum?
    Und wieder gedrückt kommt ein False raus auch hier, warum


    Boolsche Variablen sollte man immer vorbelegen, macht alles übersichtlicher.
    Hier gilt: Wenn die Variable nicht TRUE ist, kann sie nur FALSE sein - auch wenn das nicht vorbelegt wurde!
    Durch Ausführen der Hotkey-Funktion wird $Paused = NOT $Paused gesetzt, d.h. aus Startwert FALSE wird TRUE. Bei nochmaligem Ausführen wird aus TRUE wieder FALSE usw.

  • Array löschen

    • BugFix
    • 10. August 2008 um 19:39

    Du hast dich etwas unklar ausgedrückt: Du möchtest das Array NICHT LÖSCHEN, sondern KOMPLETT LEEREN. Das ist ein gravierender Unterschied.
    Mit $array = 0 wird die Variable als Array gelöscht und ist nur noch eine 'normale' Variable mit Inhalt '0'.
    Wenn du das Array leeren möchtest, um es hinterher wieder zu nutzen kannst du mit ReDim arbeiten. Aber dann bleibt der Eintrag in Array[0] erhalten und du mußt separat löschen.
    Besser:

    [autoit]

    Global $arBase[1] ; Array ohne Inhalt
    Global $DeinArray[500]
    ; statt zu löschen kannst du jetzt deiner Array-Variable das Leer-Array zuweisen:
    $DeinArray = $arBase
    ; nun ist $DeinArray wieder ein Array mit einem Element ohne Inhalt

    [/autoit]
  • Position im Script wieder finden

    • BugFix
    • 10. August 2008 um 17:40
    Zitat von firewalldevil

    dachte in der Schleife wird alles wiederholt, so müsste nachen dem Sleep doch wieder der Maus Befehl kommen ... , oder?


    Nein, nur per Hotkey wird die Prüfvariable $bSleep auf True gesetzt und somit kann der If-Zweig abgearbeitet werden. Macht ja auch wenig Sinn immer auf derselben Stelle zu klicken.
    Aber vllt. würde es helfen, wenn du mal verrätst, was du machen willst.

  • Array löschen

    • BugFix
    • 10. August 2008 um 14:56

    $array = 0 (z.B.)

  • 2 Combos

    • BugFix
    • 10. August 2008 um 14:49

    Ich glaube, ich verstehe. Du suchst sowas:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include<GuiComboBox.au3>
    Opt("GUIOnEventMode", 1)
    Global $content[8] = [1,2,3,4,5,6,7,8]

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

    $Form1 = GUICreate("Form1", 619, 179, 193, 115)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
    $Combo1 = GUICtrlCreateCombo("", 40, 24, 241, 25)
    GUICtrlSetOnEvent(-1, "Combo1Change")
    $Combo2 = GUICtrlCreateCombo("", 328, 24, 241, 25)
    GUICtrlSetOnEvent(-1, "Combo2Change")
    $hCombo1 = GUICtrlGetHandle($Combo1)
    $hCombo2 = GUICtrlGetHandle($Combo2)
    GUISetState(@SW_SHOW)

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

    For $i = 0 To UBound($content) -1
    _GUICtrlComboBox_AddString($hCombo1, 'Eintrag ' & $content[$i])
    Next
    _GUICtrlComboBox_SetCurSel($hCombo1, 0)

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

    While 1
    Sleep(100)
    WEnd

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

    Func Combo1Change()
    _GUICtrlComboBox_ResetContent($hCombo2)
    For $i = 0 To $content[_GUICtrlComboBox_GetCurSel($hCombo1)] -1
    _GUICtrlComboBox_AddString($hCombo2, 'Eintrag ' & $content[$i])
    Next
    _GUICtrlComboBox_SetCurSel($hCombo2, 0)
    EndFunc
    Func Combo2Change()

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

    EndFunc
    Func Form1Close()
    Exit
    EndFunc

    [/autoit]

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™