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

  • Thunderbird Mail

    • BugFix
    • 18. August 2006 um 16:46

    Ja so in der Art kann man das lösen. Aber wie gesagt, ist das nicht mein Problem.

    An das Absenderfeld kann ich nur einen Buchstaben senden. Ich kann aber schlecht den User anweisen, zu jedem Konto einen Alias mit unterschiedlichem Anfangsbuchstaben anzulegen. - Dann wäre das Problem gelöst.
    Aber wird z.B. kein Alias angelegt, generiert TB automatisch beim Versand diesen mit der Mailadresse (z.B. <meine.mail@123.de>). Ist das mehrfach der Fall,werden diese also identisch mit "<" angesprochen.

  • Thunderbird Mail

    • BugFix
    • 18. August 2006 um 16:06

    Da sind noch mehr Fallen:
    - mehrere Absenderadressen mit gleichem Aliasnamen (z.B. Max <max@web.de>; Max <max@gmx.de)
    - Usereinstellung, dass nur Mailadresse ohne Alias angezeigt wird bzw. gar kein Alias existiert

    Aber das ist eh Banane, da selbst bei aktivem Absenderfeld das Senden von Anfangsbuchstaben oder kpl. Absendernamen keine Auswahl bewirkt. Und da liegt der Hund begraben.

  • Thunderbird Mail

    • BugFix
    • 18. August 2006 um 15:31
    Zitat

    weil du meinstest bei Path müsste man den eigenen path eintragen

    Jo, den eigenen Pfad sollst du schon eintragen - im fertigen Script frag ich das auch nicht in der Registry ab, weil ein Großteil der Mozilla-Nutzer nicht die Installationsversion nutzt. Alle Produkte der Mozillafamilie lassen sich ja zum Glück auch ohne Install-routine ausführen.
    Im fertigen Produkt muß der User einmalig seinen Pfad auswählen, wird dann in einer INI-Datei abgelegt.

    Edit:
    @Aspirin Junkie:

    Sry, mf aber da irrst du. Beim Öffnen des Verfassen-Fensters bist du nicht im Absender sondern im Adressfeld. Und das Absenderfeld nimmt keine Send()-Befehle entgegen.

  • UDF funktioniert nicht mit Variablenübergabe

    • BugFix
    • 18. August 2006 um 14:16

    @pee: Muß ich mal testen.

    Bernd: werd ich machen.


    Edit:
    Oh man, machmal könnte man sich selbst in den Hintern treten. Ich Idiot habe beim Befüllen des Arrays ein falsches Array angesprochen. Das hatte ich gleichzeitig umgestellt und dabei mich verschrieben.
    Trotzdem Danke für eure Hilfe.

  • Thunderbird Mail

    • BugFix
    • 18. August 2006 um 14:04

    Das Problem ist nicht das Auslesen, das ist easy.
    Wenn du das Fenster 'neue Mail' öffnest, mußt du auswählen welchen Absender du haben willst (wenn mehrere Konten vorhanden sind).
    Die Auswahl des Absenders habe ich bereits vorher getroffen, ich muß nur diese Adresse in das Absenderfeld eintragen. Da dies kein Eingabefeld ist und TB nicht seine Controls freigibt :( habe ich keine Möglichkeit ohne User-Eingriff den Absender auszuwählen.

  • UDF funktioniert nicht mit Variablenübergabe

    • BugFix
    • 18. August 2006 um 13:45

    Die Überschrift sagt es schon. Ich habe eine UDF erstellt. Sie funktioniert.
    Nun brauche ich dieselbe Funktion nochmals - was liegt näher, als sie mit Variablen aufzurufen. Doch dann versagt sie.
    Hier der Code, ich habe es kommentiert.

    Spoiler anzeigen
    Code
    ; markierter Eintrag wird im Array gelöscht
    ; Liste wird gelöscht, dann Einträge aus Array neu in Liste gesetzt
    ; funktioniert
    Func _AttachDel()
    Dim $tmp = GUICtrlRead($lAttach), $tmp1, $sDrive, $sDir, $sFName, $sExt, $aPath, $i = 1
    	If $tmp <> "" Then
    		While UBound($aFullPath) > 0
    			$tmp1 = _PathSplit($aFullPath[$i], $sDrive, $sDir, $sFName, $sExt)
    			If $sFName & $sExt = $tmp Then 
    				_ArrayDelete($aFullPath, $i)
    				ExitLoop
    			EndIf
    			$i = $i +1
    		WEnd
    		GUICtrlSetData($lAttach, "")
    		For $i = 1 To UBound($aFullPath) -1
    			$tmp1 = _PathSplit($aFullPath[$i], $sDrive, $sDir, $sFName, $sExt)
    			GUICtrlSetData($lAttach, $sFName & $sExt)
    			If $attachname = "" Then
    				$attachname = $sFName & $sExt
    			Else
    				$attachname = $attachname & ",  " & $sFName & $sExt
    			EndIf			
    		Next
    	EndIf
    EndFunc
    
    
    ; Hier die gleiche Funktion mit Übergabe von Array und Liste
    ; wird aber nur ausgeführt bis: GUICtrlSetData($delList, "")
    ; es erfolgt kein Eintritt in die Schleife zur Befüllung der Liste (getestet mit einer Messagebox)
    
    
    ; Aufruf mit: _AttachDel($aFullPath, $lAttach)
    Func _AttachDel($delArray, $delList) 
    Dim $tmp = GUICtrlRead($delList), $tmp1, $sDrive, $sDir, $sFName, $sExt, $aPath, $i = 1
    	If $tmp <> "" Then
    		For $i =1 To UBound($delArray) - 1
    			$tmp1 = _PathSplit($delArray[$i], $sDrive, $sDir, $sFName, $sExt)
    			If $sFName & $sExt = $tmp Then 
    				_ArrayDelete($delArray, $i)
    				ExitLoop
    			EndIf
    		Next
    		GUICtrlSetData($delList, "")
    		For $i = 1 To UBound($delArray) -1
    			$tmp1 = _PathSplit($delArray[$i], $sDrive, $sDir, $sFName, $sExt)
    			GUICtrlSetData($delList, $sFName & $sExt)
    			If $attachname = "" Then
    				$attachname = $sFName & $sExt
    			Else
    				$attachname = $attachname & ",  " & $sFName & $sExt
    			EndIf			
    		Next
    	EndIf
    EndFunc
    Alles anzeigen
  • Problem mit GUICtrlSetState()

    • BugFix
    • 17. August 2006 um 21:03

    Hab jetzt alles einheitlich auf ..Hide/Show umgestellt und

    ja, HURRA es geht.

    Dann kann ich ja mal ans komplettieren gehen. Also bis dann.

  • Problem mit GUICtrlSetState()

    • BugFix
    • 17. August 2006 um 20:53

    Ja, hat leider nix gebracht. Egal ob ..Hide/Show oder ..Minimize/Restore - nach der Funktion seh ich meine GUI einfach nicht wieder nur das Tray-Icon bleibt :(

  • Problem mit GUICtrlSetState()

    • BugFix
    • 17. August 2006 um 20:40

    Ah, Danke!

  • Problem mit GUICtrlSetState()

    • BugFix
    • 17. August 2006 um 20:36

    Nach dem Schließen des Adressbuchs, wird mit "Alt+d" und "b" Thunderbird geschlossen.
    @SW_RESTORE hatte ich eigentlich schon probiert, aber ich teste es gleich nochmal.

  • Problem mit GUICtrlSetState()

    • BugFix
    • 17. August 2006 um 20:10

    Nicht erschrecken, bei dem langen Code :)
    Also, ich hab zumindest herausgefunden, dass die Probleme durch GUICtrlSetState() entstehen.
    In der Funktion "_AdressAdd()" werden zum Ende Send("!d") und Send("b") ausgeführt. Wenn GUICtrlSetState() aktiv ist, werden diese Send()-Befehle auch von SciTe angenommen und der Debugmodus startet. Deaktivier ich das GUICtrlSetState() krieg ich meine GUI nicht wieder.
    *grübel*

    Spoiler anzeigen
    C
    #include <GUIConstants.au3>
    #Include <Misc.au3>
    #include <Array.au3>
    #include <file.au3>
    
    
    #region Deklaration
    Global $absender, $adresse, $sendBetreff, $sendMail, $i, $aAdressen[1], $attachname = "", $x = 1, $y = 1, $aFullPath[1], $weiter, $aEZ[1][5]
    $path = "C:\Programme\Mozilla Thunderbird\thunderbird.exe"
    ; Anmerkung zu 1D-Arrays: $array[0] wird nicht belegt, somit erster Eintrag auch auf $array[1]
    ; wenn nur $array[0] existiert ist Ubound() = 1, somit Array leer wenn Ubound() nicht größer 1
    #endregion Deklaration
    
    
    #region GUI
    ; GUI Einzelkonfiguration
    $GUI_Mail_EZ = GUICreate("Thunderbird Mail Scheduler   - Einzelmail Konfiguration -", 609, 642, -1, -1)
    $grEmpfEZ = GUICtrlCreateGroup("Empfänger", 16, 8, 577, 49)
    $cEmpfEZ = GUICtrlCreateCombo("", 24, 24, 329, 21, -1, $WS_EX_CLIENTEDGE)
    $bVorigerEZ = GUICtrlCreateButton("Voriger", 384, 24, 89, 22)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $bNextEZ = GUICtrlCreateButton("Nächster", 496, 24, 89, 22)
    $grAnhangEZ = GUICtrlCreateGroup("Anhangliste", 16, 64, 577, 49)
    $cAttachlistEZ = GUICtrlCreateCombo("", 24, 80, 329, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $bAttachAddEZ = GUICtrlCreateButton("Himzufügen", 384, 80, 89, 22)
    $bAttachDelEZ = GUICtrlCreateButton("Entfernen", 496, 80, 89, 22)
    $grTextVarEZ = GUICtrlCreateGroup("Textvariablen", 16, 120, 345, 49)
    $cTextVarEZ = GUICtrlCreateCombo("", 24, 138, 329, 21)
    GUICtrlSetData(-1, "{Mail Nr: x}", "{Mail Nr: x}")  ; Platzhalter, werden bei Versand befüllt
    GUICtrlSetData(-1, "{Mail Nr: x von y}")            ; Platzhalter
    GUICtrlSetData(-1, "{Dateiname(n) Anhang}")         ; Platzhalter
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $grVarZielEZ = GUICtrlCreateGroup("Variable einfügen in:", 376, 120, 217, 49)
    $bVarBetreffEZ = GUICtrlCreateButton("Betreff", 384, 138, 89, 22)
    $bVarMailEZ = GUICtrlCreateButton("Mail", 496, 138, 89, 22)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $grBetreffEZ = GUICtrlCreateGroup("Betreff", 16, 192, 577, 49)
    $iBetreffEZ = GUICtrlCreateInput("", 24, 210, 561, 21, -1, $WS_EX_CLIENTEDGE)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $grMailEZ = GUICtrlCreateGroup("Mail", 16, 248, 577, 209)
    $eMailEZ = GUICtrlCreateEdit("", 24, 264, 561, 185, -1, $WS_EX_CLIENTEDGE)
    GUICtrlSetData($eMailEZ, "eMail")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $shapeEZ =  GUICtrlCreateGraphic(16, 178, 577, 3, $SS_SUNKEN)
    $grAttachEZ = GUICtrlCreateGroup("Mail - Anhang", 16, 464, 449, 161)
    $lAttachEZ = GUICtrlCreateList("", 24, 486, 433, 149, -1, $WS_EX_CLIENTEDGE)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $bEscapeEZ = GUICtrlCreateButton("Abbrechen", 488, 472, 105, 25)
    $bSendEZ = GUICtrlCreateButton("Senden", 488, 600, 105, 25)
    $cbDownPCEZ = GUICtrlCreateCheckbox("PC herunterfahren nach Versand", 488, 536, 105, 49, $BS_MULTILINE)
    ; GUI Start
    $GUI_MailSchedul = GUICreate("Thunderbird Mail Scheduler", 609, 642, -1, -1)
    $grAbsender = GUICtrlCreateGroup("Absender", 16, 8, 577, 49)
    $iAbsender = GUICtrlCreateInput("", 24, 24, 329, 21, -1, $WS_EX_CLIENTEDGE)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $bAbsChg = GUICtrlCreateButton("Ändern", 496, 24, 89, 22)
    $grEmpf = GUICtrlCreateGroup("Empfängerliste", 16, 64, 577, 49)
    $cAdresslist = GUICtrlCreateCombo("", 24, 80, 329, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $bAdressAdd = GUICtrlCreateButton("Himzufügen", 384, 80, 89, 22)
    $bAdressDel = GUICtrlCreateButton("Entfernen", 496, 80, 89, 22)
    $grTextVar = GUICtrlCreateGroup("Textvariablen", 16, 120, 345, 49)
    $cTextVar = GUICtrlCreateCombo("", 24, 138, 329, 21)
    GUICtrlSetData(-1, "{Mail Nr: x}", "{Mail Nr: x}")  ; Platzhalter, werden bei Versand befüllt
    GUICtrlSetData(-1, "{Mail Nr: x von y}")            ; Platzhalter
    GUICtrlSetData(-1, "{Dateiname(n) Anhang}")         ; Platzhalter
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $grVarZiel = GUICtrlCreateGroup("Variable einfügen in:", 376, 120, 217, 49)
    $bVarBetreff = GUICtrlCreateButton("Betreff", 384, 138, 89, 22)
    $bVarMail = GUICtrlCreateButton("Mail", 496, 138, 89, 22)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $grBetreff = GUICtrlCreateGroup("Betreff", 16, 192, 577, 49)
    $iBetreff = GUICtrlCreateInput("", 24, 210, 561, 21, -1, $WS_EX_CLIENTEDGE)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $grMail = GUICtrlCreateGroup("Mail", 16, 248, 577, 209)
    $eMail = GUICtrlCreateEdit("", 24, 264, 561, 185, -1, $WS_EX_CLIENTEDGE)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $shape = GUICtrlCreateGraphic(16, 178, 577, 3, $SS_SUNKEN)
    $grAttach = GUICtrlCreateGroup("Mail - Anhang", 16, 464, 449, 161)
    $lAttach = GUICtrlCreateList("", 24, 486, 297, 149, -1, $WS_EX_CLIENTEDGE)
    $rAttachSame = GUICtrlCreateRadio("Für alle gleich", 352, 486, 105, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $rAttachDiff = GUICtrlCreateRadio("Für jeden anders", 352, 509, 105, 17)
    $bAttachAdd = GUICtrlCreateButton("Hinzufügen", 352, 560, 89, 22)
    $bAttachDel = GUICtrlCreateButton("Entfernen", 352, 587, 89, 22)
    $rAll4One = GUICtrlCreateRadio("an eine Adresse nacheinander", 352, 525, 97, 33, $BS_MULTILINE)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $bClean = GUICtrlCreateButton("Auswahl löschen", 488, 472, 105, 25)
    $bEscape = GUICtrlCreateButton("Abbrechen", 488, 507, 105, 25)
    $cbDownPC = GUICtrlCreateCheckbox("PC Herunterfahren nach Versand", 488, 542, 105, 50, $BS_MULTILINE)
    $bSend = GUICtrlCreateButton("Senden", 488, 600, 105, 25)
    GUISetState(@SW_SHOW)
    #endregion GUI
    
    
    #region Code
    Opt("WinTitleMatchMode",2)
    While 1
    	$msg = GuiGetMsg()
    	Select
    	Case $msg = $GUI_EVENT_CLOSE Or $msg = $bEscape
    		ExitLoop
    	Case $msg = $bAbsChg
    		_AbsChg()
    	Case $msg = $bAdressAdd
    		_AdressAdd()
    	Case $msg = $bAdressDel
    		_AdressDel()
    	Case $msg = $bVarBetreff
    		_InVarBetreff()
    	Case $msg = $bVarMail
    		_InVarMail()
    	Case $msg = $bAttachAdd
    		_AttachAdd()
    	Case $msg = $bAttachDel
    		_AttachDel()
    	Case $msg = $bClean
    		_GUIclean()
    	Case $msg = $bSend
    		$modeSame = GUICtrlRead($rAttachSame)
    		$modeDiff = GUICtrlRead($rAttachDiff)
    		$modeOne = GUICtrlRead($rAll4One)
    		If $modeSame = 1 Then _Same4All()     ; Text und Anhang für alle gleich
    		If $modeDiff = 1 Then                 ; Text und Anhang für jede Adresse individuell
    			$weiter = MsgBox(4, "Hinweis", "Alle Dateianhänge, die Sie versenden wollen," & @LF & "müssen bereits ausgewählt sein." & @LF & @LF & "Im folgenden Fenster ordnen Sie jedem Empfänger" & @LF & "individuell Betreff, Mailtext und Anhang zu." & @LF & @LF & "Wollen Sie fortsetzen?")
    			If $weiter = 6 Then
    				GUICtrlRead($sendBetreff)
    				GUICtrlRead($sendMail)
    				_FillEZ()
    				GUISetState(@SW_HIDE, $GUI_MailSchedul)
    				GUISetState(@SW_SHOW, $GUI_Mail_EZ)
    				;_Diff4All()
    			EndIf
    		EndIf
    		If $modeOne = 1 Then _All4One()      ; einzelner Empfänger erhält jeweils Mail + 1 Anhang bis Anhangliste leer (für gesplittete Anhänge)
    		If GUICtrlRead($cbDownPC) = 1 Then Sleep(10);Shutdown(9)
    	Case $msg = $bVorigerEZ
    
    
    	Case $msg =	$bNextEZ
    
    
    	Case $msg = $bAttachAddEZ
    
    
    	Case $msg = $bAttachDelEZ
    
    
    	Case $msg = $bVarBetreffEZ
    
    
    	Case $msg = $bVarMailEZ
    
    
    	Case $msg = $bEscapeEZ
    		GUISetState(@SW_HIDE, $GUI_Mail_EZ)
    		GUISetState(@SW_RESTORE, $GUI_MailSchedul)
    	Case $msg = $bSendEZ
    
    
    	EndSelect
    WEnd
    Exit
    #endregion Code
    
    
    #region Funktionen
    Func _AbsChg()
    ;	GUISetState(@SW_MINIMIZE, $GUI_MailSchedul)
    	Run($path)
    	WinWaitActive("Mozilla Thunderbird")
    	Sleep(500)
    	Send("!b")
    	Sleep(50)
    	Send("g")
    	MsgBox(0,"Absenderkonto","Bitte klicken Sie in der linken Spalte" & @LF & @LF & "auf das Absenderkonto." & @LF & @LF & @LF & "Bestätigen Sie die Auswahl mit <F9> !")
    	While _IsPressed("78") = 0 ; Warten bis User-Auswahl beendet und <F9> gedrückt
    		Sleep(150)
    	WEnd
    	Send("!e")
    	Sleep(50)
    	Send("+{HOME}")
    	Send("^c")
    	$absender = ClipGet()
    	GUICtrlSetData($iAbsender, $absender)
    	Send ("+{TAB}")
    	Send("{ESC}")
    	Sleep(50)
    	Send("!{F4}")
    ;	GUISetState(@SW_RESTORE, $GUI_MailSchedul)
    EndFunc
    
    
    Func _AdressAdd()
    Dim $state = 1, $weiter, $tmp
    ;	GUISetState(@SW_HIDE, $GUI_MailSchedul)
    	Run($path)
    	WinWaitActive("Mozilla Thunderbird")
    	Sleep(50)
    	Send("^2") ; öffnet Adressbuch
    	WinWaitActive("Adressbuch")
    	MsgBox(0,"Zieladresse","Bitte Doppelklick auf gewünschte Adresse im Adressbuch!")
    	Do 
    		ClipPut("")
    		WinWaitActive("Karte")
    		Sleep(250)
    		Send("{TAB 4}")	; markiert Adresse
    		Sleep(100)
    		Send("^c")		; kopieren
    		$adresse = ClipGet()
    		Send("{ESC}")
    		If $adresse <> "" Then
    			$tmp = _ArraySearch($aAdressen, $adresse, 1)
    			If $tmp = -1 Then
    				GUICtrlSetData($cAdresslist, $adresse, $adresse)
    				_ArrayAdd($aAdressen, $adresse)
    				_ArraySort($aAdressen)
    			Else
    				MsgBox(0, "Hinweis", "Diese Adresse wurde bereits ausgewählt")
    			EndIf
    		Else
    			MsgBox(0,"Hinweis", "Auswahl Adresseintrag ist fehlgeschlagen!")
    		EndIf
    		$weiter = MsgBox(4,"gewählte Adresse: " & $adresse, "..weitere Adresse auswählen?")
    		If $weiter = 7 Then Send("^q") ; nein (ja = 6)
    		$state = WinGetState("Adressbuch")
    	Until $state = 0
    	Send("!d")
    	Send("b")
    ;	GUISetState(@SW_RESTORE, $GUI_MailSchedul)
    EndFunc
    
    
    Func _AdressDel()
    Dim $tmp = GUICtrlRead($cAdresslist), $i = 1
    	While UBound($aAdressen) > 0
    		If $aAdressen[$i] = $tmp Then 
    			_ArrayDelete($aAdressen, $i)
    			ExitLoop
    		EndIf
    		$i = $i +1
    	WEnd
    	GUICtrlSetData($cAdresslist, "")
    	For $i = 1 To UBound($aAdressen) -1
    		GUICtrlSetData($cAdresslist, $aAdressen[$i], $aAdressen[$i])
    	Next
    EndFunc
    
    
    Func _InVarBetreff()
    Dim $tmp = GUICtrlRead($cTextVar), $tmp1 = GUICtrlRead($iBetreff)
    	$tmp = $tmp1 & "  " & $tmp
    	$tmp = StringStripWS($tmp, 1) 
    	GUICtrlSetData($iBetreff, $tmp)
    EndFunc
    
    
    Func _InVarMail()
    Dim $tmp = GUICtrlRead($cTextVar), $tmp1 = GUICtrlRead($eMail)
    	$tmp = $tmp1 & "  " & $tmp
    	$tmp = StringStripWS($tmp, 1) 
    	GUICtrlSetData($eMail, $tmp)
    EndFunc	
    
    Func _AttachAdd()
    Dim $tmp, $sDrive, $sDir, $sFName, $sExt, $aPath
    	$tmp = FileOpenDialog("",@HomePath, "Alle (*.*)")
    	$iKeyIndex = _ArrayBinarySearch ( $aFullPath, $tmp )
    	If Not @error Then
    		MsgBox(0, "Achtung", "Diese Datei wurde bereits ausgewählt!")
    	Else
    		If $tmp <> ""  And $tmp <> 1 Then
    			$aPath = _PathSplit($tmp, $sDrive, $sDir, $sFName, $sExt)
    			_ArrayAdd($aFullPath, $tmp)   ; Array m. kpl. Pfaden aller Anhänge
    			_ArraySort($aFullPath)        ; nur auf sortiertes Array _PathSplit() anwendbar
    			GUICtrlSetData($lAttach, $sFName & $sExt)
    			If $attachname = "" Then
    				$attachname = $sFName & $sExt
    			Else
    				$attachname = $attachname & ",  " & $sFName & $sExt
    			EndIf
    		EndIf
    	EndIf
    EndFunc
    
    
    Func _AttachDel()
    Dim $tmp = GUICtrlRead($lAttach), $tmp1, $sDrive, $sDir, $sFName, $sExt, $aPath, $i = 1
    	If $tmp <> "" Then
    		While UBound($aFullPath) > 0
    			$tmp1 = _PathSplit($aFullPath[$i], $sDrive, $sDir, $sFName, $sExt)
    			If $sFName & $sExt = $tmp Then 
    				_ArrayDelete($aFullPath, $i)
    				ExitLoop
    			EndIf
    			$i = $i +1
    		WEnd
    		GUICtrlSetData($lAttach, "")
    		For $i = 1 To UBound($aFullPath) -1
    			$tmp1 = _PathSplit($aFullPath[$i], $sDrive, $sDir, $sFName, $sExt)
    			GUICtrlSetData($lAttach, $sFName & $sExt)
    			If $attachname = "" Then
    				$attachname = $sFName & $sExt
    			Else
    				$attachname = $attachname & ",  " & $sFName & $sExt
    			EndIf			
    		Next
    	EndIf
    EndFunc
    
    
    Func _GUIclean()
    	GUICtrlSetData($cAdresslist, "")
    	GUICtrlSetData($iBetreff, "")
    	GUICtrlSetData($eMail, "")
    	GUICtrlSetData($lAttach, "")
    EndFunc
    
    
    Func _Same4All()
    Dim $tmp, $i
    ;	GUISetState(@SW_MINIMIZE, $GUI_MailSchedul)
    	Run($path)
    	WinWaitActive("Mozilla Thunderbird")
    	Sleep(500)
    	Send("^n")  ; öffnet Fenster für neue Mail, Cursor im Adressfeld
    	For $i = 1 To UBound($aAdressen) -1
    		Sleep(1000)
    		Send($aAdressen[$i])
    		Sleep(150)
    		Send("{DOWN}")
    		Sleep(150)
    	Next
    	Send("{TAB}")  ; Betreff
    	$sendBetreff = GUICtrlRead($iBetreff)
    	$tmp = _PlaceHolders($sendBetreff)
    	Send($tmp)
    	If UBound($aFullPath) > 1 Then     ; Mail-Anhang
    		For $i = 1 to UBound($aFullPath) - 1
    			Send("!d")
    			Sleep(150)
    			Send("h")
    			Sleep(150)
    			Send("a")
    			Sleep(300)
    			Send($aFullPath[$i])
    			Send("{ENTER}")
    		Next
    	EndIf
    	Send("{TAB}")  ; Mailtext
    	$sendMail = GUICtrlRead($eMail)
    	$tmp = _PlaceHolders($sendMail)
    	Send($tmp)
    ;  AUSWAHL ABSENDER  ????????
    	; Send("^{ENTER}")  ; versenden
    ;	GUISetState(@SW_RESTORE, $GUI_MailSchedul)	
    EndFunc
    
    
    Func _Diff4All()
    Dim $i, $tmp
    	$y = UBound($aAdressen) - 1
    	ReDim $aEZ[$y+1][5]
    ;;;============ noch in Arbeit =========
    
    EndFunc
    
    
    Func _All4One()
    Dim $i, $tmp	
    	If UBound($aAdressen) > 2 Then
    		MsgBox(0, "Hinweis)", "In diesem Modus darf nur ein Empfänger ausgewählt sein." & @LF & "Bitte korrigieren Sie.")
    	Else
    		$y = UBound($aFullPath) - 1
    		For $i = 1 To UBound($aFullPath) - 1
    ;			GUISetState(@SW_MINIMIZE, $GUI_MailSchedul)
    			Run($path)
    			WinWaitActive("Mozilla Thunderbird")
    			Sleep(500)
    			Send("^n")  ; öffnet Fenster für neue Mail, Cursor im Adressfeld
    			Sleep(1000)
    			Send($aAdressen[2])
    			Sleep(150)
    			Send("{TAB}")  ; Betreff
    			$sendBetreff = GUICtrlRead($iBetreff)
    			$tmp = _PlaceHolders($sendBetreff)
    			Send($tmp)
    			Send("!d")    ; Mail-Anhang
    			Sleep(150)
    			Send("h")
    			Sleep(150)
    			Send("a")
    			Sleep(300)
    			Send($aFullPath[$i])
    			Send("{ENTER}")			
    			Send("{TAB}")  ; Mailtext
    			$sendMail = GUICtrlRead($eMail)
    			$tmp = _PlaceHolders($sendMail)
    			Send($tmp)	
    ;  AUSWAHL ABSENDER  ????????			
    			; Send("^{ENTER}")  ; versenden
    			$x = $x + 1
    		Next
    ;		GUISetState(@SW_RESTORE, $GUI_MailSchedul)
    	EndIf
    EndFunc
    
    
    Func _PlaceHolders($string)
    Dim $tmp = StringInStr($string, "{Mail Nr: x}"), $tmp1 = StringInStr($string, "{Mail Nr: x von y}"), $tmp2 = StringInStr($string, "{Dateiname(n) Anhang}")
    	If $tmp <> 0 Then $string = StringReplace($string, "{Mail Nr: x}", "Mail Nr: " & $x,0,1)
    	If $tmp1 <> 0 Then $string = StringReplace($string, "{Mail Nr: x von y}", "Mail Nr: " & $x & " von " & $y,0,1)
    	If $tmp2 <> 0 Then $string = StringReplace($string, "{Dateiname(n) Anhang}", $attachname,0,1)
    	Return $string
    EndFunc
    
    
    Func _FillEZ()
    Dim $sDrive, $sDir, $sFName, $sExt, $aPath, $i, $tmp
    	For $i = 1 To UBound($aFullPath) - 1
    		$tmp = $aFullPath[$i]
    		$aPath = _PathSplit($tmp, $sDrive, $sDir, $sFName, $sExt)
    		GUICtrlSetData($cAttachlistEZ, $sFName & $sExt, $sFName & $sExt)
    	Next
    	GUICtrlSetData($iBetreffEZ, $sendBetreff)
    	GUICtrlSetData($eMailEZ, $sendMail)
    	For $i = 1 To UBound($aAdressen) - 1
    		If $i = 1 Then
    			GUICtrlSetData($cEmpfEZ, $aAdressen[$i], $aAdressen[$i])
    		Else
    			GUICtrlSetData($cEmpfEZ, $aAdressen[$i])
    		EndIf
    	Next
    EndFunc
    
    
    #endregion Funktionen
    Alles anzeigen
  • Thunderbird Mail

    • BugFix
    • 17. August 2006 um 12:42

    Wie ich sehe, habt ihr auch keine zündende Idee.
    Habe jetzt mal eine Anfrage ins Mozilla-Forum eingestellt. Mal sehen, ob die blickig sind.

    Möchte euch aber nicht vorenthalten, was es eigentlich werden sollte.
    Zum Testen bitte die Beta verwenden. Und euren Pfad für TB in "$path" eintragen (Zeile 8 ).

    Spoiler anzeigen
    C
    #include <GUIConstants.au3>
    #Include <Misc.au3>
    #include <Array.au3>
    #include <file.au3>
    
    
    #region Deklaration
    Global $absender, $adresse, $i, $aAdressen[1], $attachname = "", $x = 1, $y = 1, $aFullPath[1]
    $path = "E:\Mozilla Thunderbird\thunderbird.exe"
    ; Anmerkung zu 1D-Arrays: $array[0] wird nicht belegt, somit erster Eintrag auch auf $array[1]
    #endregion Deklaration
    
    
    #region GUI
    $GUI_MailSchedul = GUICreate("Thunderbird Mail Scheduler    ", 609, 642, -1, -1)
    $grAbsender = GUICtrlCreateGroup("Absender", 16, 8, 577, 49)
    $iAbsender = GUICtrlCreateInput("", 24, 24, 329, 21, -1, $WS_EX_CLIENTEDGE)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $bAbsChg = GUICtrlCreateButton("Ändern", 496, 24, 89, 22)
    $grEmpf = GUICtrlCreateGroup("Empfängerliste", 16, 64, 577, 49)
    $cAdresslist = GUICtrlCreateCombo("", 24, 80, 329, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $bAdressAdd = GUICtrlCreateButton("Himzufügen", 384, 80, 89, 22)
    $bAdressDel = GUICtrlCreateButton("Entfernen", 496, 80, 89, 22)
    $grTextVar = GUICtrlCreateGroup("Textvariablen", 16, 120, 345, 49)
    $cTextVar = GUICtrlCreateCombo("", 24, 138, 329, 21)
    GUICtrlSetData(-1, "{Mail Nr: x}", "{Mail Nr: x}")  ; Platzhalter, werden bei Versand befüllt
    GUICtrlSetData(-1, "{Mail Nr: x von y}")            ; Platzhalter
    GUICtrlSetData(-1, "{Dateiname(n) Anhang}")         ; Platzhalter
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $grVarZiel = GUICtrlCreateGroup("Variable einfügen in:", 376, 120, 217, 49)
    $bVarBetreff = GUICtrlCreateButton("Betreff", 384, 138, 89, 22)
    $bVarMail = GUICtrlCreateButton("Mail", 496, 138, 89, 22)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $grBetreff = GUICtrlCreateGroup("Betreff", 16, 192, 577, 49)
    $iBetreff = GUICtrlCreateInput("", 24, 210, 561, 21, -1, $WS_EX_CLIENTEDGE)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $grMail = GUICtrlCreateGroup("Mail", 16, 248, 577, 209)
    $eMail = GUICtrlCreateEdit("", 24, 264, 561, 185, -1, $WS_EX_CLIENTEDGE)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $shape = GUICtrlCreateGraphic(16, 178, 577, 3, $SS_SUNKEN)
    $grAttach = GUICtrlCreateGroup("Mail - Anhang", 16, 464, 449, 161)
    $lAttach = GUICtrlCreateList("", 24, 486, 297, 149, -1, $WS_EX_CLIENTEDGE)
    $rAttachSame = GUICtrlCreateRadio("Für alle gleich", 352, 486, 105, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $rAttachDiff = GUICtrlCreateRadio("Für jeden anders", 352, 509, 105, 17)
    $bAttachAdd = GUICtrlCreateButton("Hinzufügen", 352, 560, 89, 22)
    $bAttachDel = GUICtrlCreateButton("Entfernen", 352, 587, 89, 22)
    $rAll4One = GUICtrlCreateRadio("an eine Adresse nacheinander", 352, 525, 97, 33, $BS_MULTILINE)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $bClean = GUICtrlCreateButton("Auswahl löschen", 488, 472, 105, 25)
    $bEscape = GUICtrlCreateButton("Abbrechen", 488, 507, 105, 25)
    $cbDownPC = GUICtrlCreateCheckbox("PC Herunterfahren nach Versand", 488, 542, 105, 50, $BS_MULTILINE)
    $bSend = GUICtrlCreateButton("Senden", 488, 600, 105, 25)
    GUISetState(@SW_SHOW)
    #endregion GUI
    
    
    #region Code
    Opt("WinTitleMatchMode",2)
    While 1
    	$msg = GuiGetMsg()
    	Select
    	Case $msg = $GUI_EVENT_CLOSE Or $msg = $bEscape
    		ExitLoop
    	Case $msg = $bAbsChg
    		_AbsChg()
    	Case $msg = $bAdressAdd
    		_AdressAdd()
    	Case $msg = $bAdressDel
    		_AdressDel()
    	Case $msg = $bVarBetreff
    		_InVarBetreff()
    	Case $msg = $bVarMail
    		_InVarMail()
    	Case $msg = $bAttachAdd
    		_AttachAdd()
    	Case $msg = $bAttachDel
    		_AttachDel()
    	Case $msg = $bClean
    		_GUIclean()
    	Case $msg = $bSend
    		$modeSame = GUICtrlRead($rAttachSame)
    		$modeDiff = GUICtrlRead($rAttachDiff)
    		$modeOne = GUICtrlRead($rAll4One)
    		Select
    		Case $modeSame = 1
    			;_Same4All()     ; Text und Anhang für alle gleich
    		Case $modeDiff = 1
    			;_Diff4All()     ; Text und Anhang für jede Adresse individuell
    		Case $modeOne = 1
    			;_All4One()      ; einzelner Empfänger erhält jeweils Mail + 1 Anhang bis Anhangliste leer (für gesplittete Anhänge)
    		EndSelect
    		If GUICtrlRead($cbDownPC) = 1 Then
    			;PC Herunterfahren
    		EndIf
    	EndSelect
    WEnd
    Exit
    #endregion Code
    
    
    #region Funktionen
    Func _AbsChg()
    	GUISetState($GUI_MailSchedul, @SW_HIDE)
    	Run($path)
    	WinWaitActive("Mozilla Thunderbird")
    	Sleep(500)
    	Send("!b")
    	Sleep(50)
    	Send("g")
    	MsgBox(0,"Absenderkonto","Bitte klicken Sie in der linken Spalte" & @LF & @LF & "auf das Absenderkonto." & @LF & @LF & @LF & "Bestätigen Sie die Auswahl mit <F9> !")
    	While _IsPressed("78") = 0 ; Warten bis User-Auswahl beendet und <F9> gedrückt
    		Sleep(150)
    	WEnd
    	Send("!e")
    	Sleep(50)
    	Send("+{HOME}")
    	Send("^c")
    	$absender = ClipGet()
    	GUICtrlSetData($iAbsender, $absender)
    	Send ("+{TAB}")
    	Send ("+{TAB}") ; wechseln zum Kontonamen
    	Send("^c")
    	$konto = ClipGet()
    	Send("{ESC}")
    	Sleep(50)
    	Send("!{F4}")
    	GUISetState($GUI_MailSchedul, @SW_RESTORE)
    EndFunc
    
    
    Func _AdressAdd()
    Dim $state = 1, $weiter
    	GUISetState($GUI_MailSchedul, @SW_HIDE)
    	Run($path)
    	WinWaitActive("Mozilla Thunderbird")
    	Sleep(50)
    	Send("^2") ; öffnet Adressbuch
    	WinWaitActive("Adressbuch")
    	MsgBox(0,"Zieladresse","Bitte Doppelklick auf gewünschte Adresse im Adressbuch!")
    	Do 
    		ClipPut("")
    		WinWaitActive("Karte")
    		Sleep(250)
    		Send("{TAB 4}")	; markiert Adresse
    		Sleep(100)
    		Send("^c")		; kopieren
    		$adresse = ClipGet()
    		Send("{ESC}")
    		If $adresse <> "" Then
    			GUICtrlSetData($cAdresslist, $adresse, $adresse)
    			_ArrayAdd($aAdressen, $adresse)
    		Else
    			MsgBox(0,"Hinweis", "Auswahl Adresseintrag ist fehlgeschlagen!")
    		EndIf
    		$weiter = MsgBox(4,"gewählte Adresse: " & $adresse, "..weitere Adresse auswählen?")
    		If $weiter = 7 Then Send("^q") ; nein (ja = 6)
    		$state = WinGetState("Adressbuch")
    	Until $state = 0
    	Send("!d")
    	Send("b")
    	GUISetState($GUI_MailSchedul, @SW_RESTORE)
    EndFunc
    
    
    Func _AdressDel()
    Dim $tmp = GUICtrlRead($cAdresslist), $i = 1
    	While UBound($aAdressen) > 0
    		If $aAdressen[$i] = $tmp Then 
    			_ArrayDelete($aAdressen, $i)
    			ExitLoop
    		EndIf
    		$i = $i +1
    	WEnd
    	GUICtrlSetData($cAdresslist, "")
    	For $i = 1 To UBound($aAdressen) -1
    		GUICtrlSetData($cAdresslist, $aAdressen[$i], $aAdressen[$i])
    	Next
    EndFunc
    
    
    Func _InVarBetreff()
    Dim $tmp = GUICtrlRead($cTextVar), $tmp1 = GUICtrlRead($iBetreff)
    	$tmp = $tmp1 & "  " & $tmp
    	$tmp = StringStripWS($tmp, 1) 
    	GUICtrlSetData($iBetreff, $tmp)
    EndFunc
    
    
    Func _InVarMail()
    Dim $tmp = GUICtrlRead($cTextVar), $tmp1 = GUICtrlRead($eMail)
    	$tmp = $tmp1 & "  " & $tmp
    	$tmp = StringStripWS($tmp, 1) 
    	GUICtrlSetData($eMail, $tmp)
    EndFunc	
    
    Func _AttachAdd()
    Dim $tmp, $sDrive, $sDir, $sFName, $sExt, $aPath
    	$tmp = FileOpenDialog("",@HomePath, "Alle (*.*)")
    	$iKeyIndex = _ArrayBinarySearch ( $aFullPath, $tmp )
    	If Not @error Then
    		MsgBox(0, "Achtung", "Diese Datei wurde bereits ausgewählt!")
    	Else
    		If $tmp <> ""  And $tmp <> 1 Then
    			$aPath = _PathSplit($tmp, $sDrive, $sDir, $sFName, $sExt)
    			_ArrayAdd($aFullPath, $tmp)   ; Array m. kpl. Pfaden aller Anhänge
    			_ArraySort($aFullPath)        ; nur auf sortiertes Array _PathSplit() anwendbar
    			GUICtrlSetData($lAttach, $sFName & $sExt)
    			If $attachname = "" Then
    				$attachname = $sFName & $sExt
    			Else
    				$attachname = $attachname & ",  " & $sFName & $sExt
    			EndIf
    		EndIf
    	EndIf
    EndFunc
    
    
    Func _AttachDel()
    Dim $tmp = GUICtrlRead($lAttach), $tmp1, $sDrive, $sDir, $sFName, $sExt, $aPath, $i = 1
    	If $tmp <> "" Then
    		While UBound($aFullPath) > 0
    			$tmp1 = _PathSplit($aFullPath[$i], $sDrive, $sDir, $sFName, $sExt)
    			If $sFName & $sExt = $tmp Then 
    				_ArrayDelete($aFullPath, $i)
    				ExitLoop
    			EndIf
    			$i = $i +1
    		WEnd
    		GUICtrlSetData($lAttach, "")
    		For $i = 1 To UBound($aFullPath) -1
    			$tmp1 = _PathSplit($aFullPath[$i], $sDrive, $sDir, $sFName, $sExt)
    			GUICtrlSetData($lAttach, $sFName & $sExt)
    			If $attachname = "" Then
    				$attachname = $sFName & $sExt
    			Else
    				$attachname = $attachname & ",  " & $sFName & $sExt
    			EndIf			
    		Next
    	EndIf
    EndFunc
    
    
    Func _GUIclean()
    	GUICtrlSetData($cAdresslist, "")
    	GUICtrlSetData($iBetreff, "")
    	GUICtrlSetData($eMail, "")
    	GUICtrlSetData($lAttach, "")
    EndFunc
    
    
    #endregion Funktionen
    Alles anzeigen
  • anzahl an werte in einem array

    • BugFix
    • 16. August 2006 um 22:28

    Kann gut sein, dass der Zufall es wollte und ich bisher nur mit ebendiesen mehrdimensionalen Arrays gewerkelt habe. Muß ich in Zukunft mal drauf achten.

  • anzahl an werte in einem array

    • BugFix
    • 16. August 2006 um 22:24

    Die blöden Eindimensionalen Arrays bieten von Haus aus nix.
    Must halt mit 'Ubound' die Obergrenze abfragen.
    Bei den mehrdimensionalen Arrays hast du die Anzahl der Elemente in $array[0][0]

    Edit:
    Und schon wieder war Pee schneller! Naja, Hauptsache Problem gelöst.

  • Thunderbird Mail

    • BugFix
    • 16. August 2006 um 22:06

    Hi,
    ich bastele grade an meinem seeeeehr komfortablen :) Mailscheduler für Thunderbird. Etwa 60 % der Arbeit sind schon erledigt und jetzt hänge ich eigentlich am wichtigsten: Einfügen des Absenders bzw. Auswahl per Tastaturbefehl/kombination.
    Ich habe noch keine Möglichkeit gefunden per Tastatur eine im Vorfeld festgelegte Absenderadresse auszuwählen. Bei nur einem Konto wäre das egal - aber wer hat das schon.
    Und TB ist völlig Control-resistent :(
    Wenn ich hier nicht weiterkomm, kann ich das ganze Projekt in die Tonne treten. Wär echt schade.
    Also falls jemand einen goldigen Einfall hat...

    Edit:
    Ich war vielleicht etwas ungenau:
    Also die Absenderadresse liegt in einer Variable vor. Jetzt wird TB gestartet, 'Neue Nachricht' ausgewählt und in das Feld für Absender möchte ich jetzt die Adresse aus der Variablen haben/einfügen/auswählen -wie auch immer.

  • Schleife wird nicht beendet

    • BugFix
    • 16. August 2006 um 00:06

    Wer lange sucht, der findet.
    2 Ursachen:
    1. Opt(WinTitleMatchMode, 4) funktioniert hier nicht optimal, habe Flag 2 gesetzt und damit wurden erstmal die Fenster richtig erkannt.
    2. Ich hatte vorgesehen, dass der Nutzer mit Klick aufs Kreuz das Adressbuch wieder schließt.
    Paradoxerweise tritt dann das Programm nicht aus der Schleife, obwohl Status = 0.
    Wird das Adressbuch mit Tastaturbefehl STRG+Q geschlossen, wird die Schleife ordnungsgemäß beendet!
    Warum? - Ich hab keinen Schimmer.
    Hier der funktionierende Code:

    Spoiler anzeigen
    Code
    Func _AdressAdd()
    Dim $state = 1, $weiter
    	GUISetState($GUI_MailSchedul, @SW_HIDE)
    	Run($path)
    	WinWaitActive("Mozilla")
    	Sleep(50)
    	Send("^2") ; öffnet Adressbuch
    	WinWaitActive("Adressbuch")
    	MsgBox(0,"Zieladresse","Bitte Doppelklick auf gewünschte Adresse im Adressbuch!")
    	Do 
    		WinWaitActive("Karte")
    		Sleep(250)
    		Send("{TAB 4}")	; markiert Adresse
    		Send("^c")		; kopieren
    		$adresse = ClipGet()
    		Send("{ESC}")
    		GUICtrlSetData($cAdresslist, $adresse, $adresse)
    		$weiter = MsgBox(4,"","..nächste Adresse auswählen?")
    		If $weiter = 7 Then Send("^q") ; nein (ja = 6)
    		$state = WinGetState("Adressbuch")
    	Until $state = 0
    	Send("!d")
    	Send("b")
    	GUISetState($GUI_MailSchedul, @SW_RESTORE)
    EndFunc
    Alles anzeigen
  • Schleife wird nicht beendet

    • BugFix
    • 15. August 2006 um 22:58

    Ja, "Adressbuch" ist der volle Name.

  • Schleife wird nicht beendet

    • BugFix
    • 15. August 2006 um 22:29

    Hi,
    schaut mal den folgenden Code an. Ich habe als Abbruchbedingung der Schleife: Fenster wird geschlossen
    Habe das auch probiert mit " while $state <>0 ..... wend ". Aber seltsamerweise kann ich nicht aus der Schleife raus. Wenn ich mir mit MessageBox den Wert von $state anzeigen lasse, ist der auch '0'.
    Hat jemand 'ne Idee?

    Spoiler anzeigen
    Code
    Func _AdressAdd()
    Opt("WinTitleMatchMode",4)	
    Dim $state = 1	
    	Run($path)
    	WinWaitActive("classname=MozillaWindowClass")
    	Sleep(500)
    	Send("^2")
    	WinWaitActive("Adressbuch")
    	MsgBox(0,"Zieladresse","Bitte Doppelklick auf gewünschte Adresse im Adressbuch!" & @LF & @LF & @LF & "Sollen keine weiteren Adressen hinzugefügt werden,"& @LF & @LF & "schließen Sie bitte das Adressbuch!")
    	Do 
    		WinWaitActive("Karte")
    		Sleep(150)
    		Send("{TAB 4}")	; markiert Adresse
    		Send("^c")		; kopieren
    		$adresse = ClipGet()
    		Send("{ESC}")
    		GUICtrlSetData($cAdresslist, $adresse, $adresse)
    		MsgBox(0,"","..nächste Adresse oder beenden", 2)
    		$state = WinGetState("Adressbuch")
    	Until $state = 0
    	Send("!d")
    	Send("b")
    	GUISetState($GUI_MailSchedul, @SW_RESTORE)
    EndFunc
    Alles anzeigen
  • Kleine Frage

    • BugFix
    • 15. August 2006 um 10:45

    Das Prinzip von OOP hat sich nicht geändert, insofern kannst du als Grundlage auch Lehrmittel aus 2001 nutzen.
    Ich hatte mir zum Lernen eine Version von Visual Basic zugelegt, die den vollen Funktionsumfang enthält aber Compilieren nicht zuläßt. Man kann seine Programme also nur in der Entwicklungsumgebung testen. Reicht aber zum Erlernen aus.
    Der Umgang mit Objekten, Klassen, Methoden... ist nicht ohne und gerade am Anfang recht verwirrend. Besonders, wenn man vorher mit Fortran, Turbopascal 4 u.ä. gearbeitet hat.
    Also laß dich nicht entmutigen und hau rein - du kannst nur gewinnen. ;)

    Edit:
    Hab hier ein Tut gefunden. Vielleicht nützt es dir.

  • FAQ

    • BugFix
    • 15. August 2006 um 10:08
    Zitat

    Es soll wohl sogar die Möglichkeit bestehen diese Liste seine Bedürfnissen anzupassen, nur bin ich noch nicht dahinter gekommen wie das geht.

    Schaut erstmal nach, ob das überhaupt nötig ist ;) , denn eigentlich ist ja schon alles drin.
    Öffnet in SciTE die Datei "..\SciTE\au3abbrev.properties". Hier findet ihr die komplette Auflistung in der Form

    Code
    Kürzel=gesamter Befehl od. Makro
    z.B.
    slp1=Sleep(1000)\n|

    Wenn ihr also etwas erweitern möchtet, prüft mit Suchbefehl ob das Kürzel noch frei ist und fügt es dann mit der Befehlsfolge in obiger Form in der entsprechenden Gruppe oder einer eigenen (z.B. #; -- UserDef -- ) ein.

    Edit:
    Ihr könnt allerdings einige Vorlagen an eure Einstellungen anpassen, z.B. die Funktionsbeschreibung läßt sich mit "setupudf" erstellen, sieht dann so aus:

    Code
    ;===============================================================================
    ;
    ; Function Name:   
    ; Description::    
    ; Parameter(s):    
    ; Requirement(s):  
    ; Return Value(s): 
    ; Author(s):       
    ;
    ;===============================================================================
    ;
    Alles anzeigen

    Hier läßt sich schonmal der Autor eintragen und natürlich kann man dann auch deutsch schreiben. =)

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™