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

Beiträge von K.K.

  • Monat kompakt definieren

    • K.K.
    • 3. Februar 2016 um 17:43

    Die erste Zeile ist ein Array, in dem die Monatsnamen enthalten sind. Mit $a_months[x] kann man das Element aus dem Array mit dem Index x erhalten.
    Mit @Mon erhält man dann für Januar z.B. 1 (oder für Febrauar 2, also der wievielte Monat es im Kalenderjahr ist). Allerdings sind Arrays nullbasiert. Das heißt, dass das erste Element den Index 0 hat. (somit der Index aller Monate im Array um 1 kleiner ist als ihr @Mon Wert)

    Würde man $a_months[@Mon] nehmen, würde man also immer einen Monat später zurückbekommen. Jetzt im Februar also März (und bei Dezember einen Fehler, da @Mon im Dezember 12 ist, das Array aber nur die Elemente 0...11 hat). Also einfach @Mon - 1 nehmen, dann erhält man das richtige Element und gleicht sozusagen aus, dass das Array nullbasiert ist. (Bsp Februar: @Mon = 2-> @Mon - 1 = 1 -> $a_months[1] = Februar)

    Sonst ist die MsgBox die, die Du auch im ersten Post hattest, nur dass ich die festen Monatsnamen durch das Array ersetzt habe.

  • Monat kompakt definieren

    • K.K.
    • 3. Februar 2016 um 17:12

    Hi,
    ich würde es so machen:

    AutoIt
    Dim $a_months[12] = ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"]
    
    
    MsgBox(0, "Datum", "Heute ist der" & Chr(32) & @MDAY & "." & Chr(32) & $a_months[@Mon - 1] & Chr(32) & @YEAR)
  • Visual Basic und AutoIT

    • K.K.
    • 7. Januar 2016 um 22:35
    Zitat von Eistee

    ist es möglich per VB eine andere .exe ( in dem fall einen AutoitSript ) mit parametern zu starten, so das die Au3 beim start alles bekommt was ich in VB an daten habe.

    Ja, das ist möglich.

    Per Process.Start in VB.NET: https://msdn.microsoft.com/de-de/library/…5(v=vs.80).aspx

    Zum Auslesen der Parameter in AutoIt: https://www.autoitscript.com/forum/topic/13…line-parameter/


    LG

  • Number Strike - ein Zahlenspiel

    • K.K.
    • 14. Mai 2014 um 16:12

    Hi,

    das Spiel ist durchaus spaßig für zwischendurch. Vor Jahren hab ich das auch mal gespielt, dann aber wieder vollkommen vergessen.

    Das EasterEgg habe ich bisher noch nicht gefunden. Aber bei der EXE meint Windows (8.1) eine Gefahr zu erkennen (siehe Bild):
    Vielleicht schaffst Du es ja das noch zu beheben.

    LG K.K.

    Dateien

    Unbenannt.png 22,33 kB – 826 Downloads
  • ListView, Item Auslesen

    • K.K.
    • 11. März 2014 um 20:08

    _GUICtrlListView_GetSelectedIndices gibt unter Umständen mehrere Items zurück. Ich würde ein Array als Rückgabe empfehlen (zweiten Parameter auf True setzen). So wie es jetzt ist, bekommst du die Items durch einen "|" getrennt zurück. Und solch ein Item mit dem Index gibt findet er natürlich nicht.

    Siehe Dir nochmal die Hilfe dazu an:
    http://translation.autoit.de/onlinehilfe/li…ctedIndices.htm

  • ListView, Item Auslesen

    • K.K.
    • 11. März 2014 um 19:19

    Hi,

    schau Dir mal _GUICtrlListView_GetItemText und _GUICtrlListView_GetSelectedIndices an. Ich denke das sollte es sein, was du suchst.

    LG K.K.

  • C# / VB .NET DLLs erstellen und in AutoIt verwenden

    • K.K.
    • 10. Januar 2014 um 16:15

    Ja, das stimmt, das sollte man importieren, um nicht so viel zu tippen.

    Aber solange die Funktion in der DLL nicht als Public (bzw. das Äquivalent in C# dazu) deklariert ist, kann ich auf die Funktion nicht zugreifen, auch nicht mit Import. //EDIT: Also mit VB nicht, mit AutoIt komischerweise schon!


    Aber ich denke, dass es hier eigentlich um AutoIt gehen sollte, deswegen belassen wir das Thema jetzt mal dabei, oder?
    Und - wie ich schon erwähnt hatte - für AutoIt finde ich dein Tutorial sehr nützlich. Bis hierhin wusste ich noch gar nicht, dass es eine Möglichkeit gibt, VB-/C#-DLLs in AutoIt zu benutzen.

  • C# / VB .NET DLLs erstellen und in AutoIt verwenden

    • K.K.
    • 10. Januar 2014 um 15:56

    Hallo alpines,

    Den VB-Code hatte ich auch schon hinbekommen, ich meinte eher, dass ich mit einem VB-Programm nicht auf die Funktion in deiner C#-DLL zugreifen kann! (siehe Bild 1; Verweis ist gesetzt, was eig. ausreicht, wie bei meiner VB-Übersetzung siehe Bild 2)


    Noch eine kleine Anmerkung zu deinem VB-Code:
    Markiert dir die IDE da gar nichts? Wenn ich nichts übersehen habe, gibt deine Funktion gar keinen Wert zurück, welcher hier checkPrime wäre.
    Dass man zum Exportieren einer Funktion in einer DLL das <DLLExport...> braucht wäre mir auch neu... Oder braucht man das nur, wenn man die DLL für AutoIt kompatibel machen möchte?

    Hier noch mein VB-Code:

    Code
    Public Class checkPrimeVB
    	Public Shared Function checkPrime(a As Integer) As Boolean
        	Dim b As Integer = 2, c As Integer = 0
    
    
        	While a >= b
            	If (a Mod b) = 0 Then
                	c += 1
            	End If
            	b += 1
        	End While
    
    
        	If c > 2 Then
            	c = 0
        	End If
        	If c = 1 Then
            	Return True
        	Else
            	Return False
        	End If
    	End Function
    End Class
    Alles anzeigen

    Der entscheidende Unterschied ist, dass ich meine Funktion als Public deklariert habe, was entscheidend ist, damit anderes außer die gleiche Klasse in der die Funktion ist (hier die Klasse checkPrimeVB in der DLL), darauf Zugriff haben.

    Ich habe meine DLL mal angehängt, dann kannst du das ja mal ausprobieren. Ist die .zip-Datei. DLLs kann man nicht anhängen.

    P.S: Nenne am besten deine Klasse in der DLL um. Noch muss man die über Class1 ansprechen, was eher unschön ist.

    Dateien

    img.png 78,79 kB – 1.095 Downloads img2.png 66,02 kB – 1.094 Downloads checkPrimeVB.zip 4,1 kB – 963 Downloads
  • C# / VB .NET DLLs erstellen und in AutoIt verwenden

    • K.K.
    • 9. Januar 2014 um 09:30

    Hallo alpines,

    meiner Meinung nach ist Dir das Tutorial durchaus gut gelungen. Der Test unter AutoIt funktionierte bei mir gut.
    Nur unter VB.NET konnte ich nicht auf die Funktion in deiner DLL zugreifen. Möglicherweise hast Du die Funktion falsch deklariert (Private statt Public?)

    Insgesamt jedoch finde ich Dein Tutorial sehr nützlich, da ich in letzter Zeit häufiger mit VB.NET arbeite und es daher sehr praktisch wäre, eine VB-DLL in AutoIt nutzen zu können.

    LG K.K.

  • GUI soll maximiert werden, Taskleiste verschwindet aber...

    • K.K.
    • 5. Juli 2013 um 14:04

    Mit dem Koda Form Designer habe ich folgenden Code generiert. Das sollte das sein, was du wolltest, glaube ich:

    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 615, 438, 192, 124, BitOR($GUI_SS_DEFAULT_GUI,$WS_MAXIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_MAXIMIZE,$WS_TABSTOP))
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit]

    LG K.K.

  • Autoit in eine Zip Datei packen

    • K.K.
    • 7. Februar 2013 um 16:37

    Hi,

    nur so als Idee:

    Musst du vielleicht beim ersten Parameter die Datei selbst mitangeben?
    Bei dir wäre das dann

    [autoit]

    $oZip = @ScriptDir & "\tmp\minecraft.zip"
    _Zip_AddFile($oZip & "\mob\char.png", @ScriptDir & "\tmp\char.png")

    [/autoit]

    Ich habe es nicht ausprobiert, weiß also nicht ob das das Problem löst!

    LG K.K.

  • In "Pic"-Steuerlement srollen

    • K.K.
    • 24. August 2012 um 11:11

    Hallo UEZ,

    vielen Dank ür die Antwort.

    Bei Koda habe ich nun die Styles "WS_HSCROLL" und "WS_VSCROLL" gefunden.

    [autoit]

    $Pic1 = GUICtrlCreatePic("", 48, 24, 65, 137, BitOR($GUI_SS_DEFAULT_PIC,$WS_HSCROLL,$WS_VSCROLL))

    [/autoit]

    Weiß jemand ob und wie das damit funktioniert?
    Zudem möchte ich, wenn ich ein Bild lade, dass dieses in Originalgröße angezeigt wird, aber die Größe des Pic-Steuerlements nicht verändert wird. Wenn man bei Koda bei Pic1 unter "Stretch" "sRealSize" auswählt, wird die Größe der Picturebox auf die Originalgröße des Bildes verändert!Gibt es dort eine Lösung?

    LG K.K.

  • In "Pic"-Steuerlement srollen

    • K.K.
    • 23. August 2012 um 19:46

    Hallo,

    ich möchte in ein Pic-Steuerlement ($Pic1 = GUICtrlCreatePic...) ein Bild laden lassen. Wenn dieses jedoch zu groß ist, sollen Scrollbars erscheinen, um zu scrollen.

    Wie kann ich dieses Problem lösen?

    Ich hoffe ihr könnt mir helfen!

    LG K.K.

  • 2 x Splashtext gleichzeitig

    • K.K.
    • 27. Juli 2012 um 16:40

    Ja, denke ich schon.

    LG K.K.

  • 2 x Splashtext gleichzeitig

    • K.K.
    • 27. Juli 2012 um 16:24

    Hallo,

    in der Hilfe zu
    SplashTextOn
    habe ich folgendes gefunden:

    "Nur ein SplashImage/Text Fenster ist zur selben Zeit erlaubt. Sollen
    verschiedene Image/Text Fenster durchgegangen werden, ist
    SplashImageOn/SplashTextOn wiederholt mit den neuen Informationen
    aufzurufen."

    Daher denke ich kannst du nicht 2 gleichzeitig anzeigen lassen.

    LG K.K.

  • CD rippen mit BASS UDF

    • K.K.
    • 25. Juli 2012 um 12:04

    Hallo,

    ich habe mir die BASS UDF mal angesehen, aber ich blicke nicht wirklich durch die vielen Funktionen durch.

    Meine Frage wäre, ob man mit der BASS UDF überhaupt CDs rippen kann und wenn ja mit welchen Funktionen?

    Ich hoffe ihr könnt mir helfen!
    Vielen Dank schonmal im vorraus!

    LG K.K.

  • MP3 schneiden

    • K.K.
    • 3. April 2012 um 20:29

    Hallo,

    mich würde es interessieren, ob es in AutoIt eine Möglichkeit gibt MP3s zu schneiden, z.B. eine UDF o.ä.

    Kennt jemand eine Möglichkeit?

    LG K.K.

  • Laufwerke in Combox einlesen

    • K.K.
    • 27. Februar 2012 um 15:49

    Hallo,

    wenn du Dateien auf eine CD/DVD brennen willst, kannst du das mit der IMAPI2-UDF machen. Damit kannst du dann auch alle Laufwerke auslesen lassen:

    [autoit]


    #include <IMAPI2.au3>

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

    $ID = _IMAPI2_DrivesGetID()

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

    If $ID[0] = 0 Then
    MsgBox(48, "Fehler", "Kein Laufwerk gefunden!")
    ElseIf $ID[0] = 1 Then
    GuiCtrlSetData($Combo1, _IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[1])) & ":")
    ElseIf $ID[0] = 2 Then
    GuiCtrlSetData($Combo1, _IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[1])) & ":"&"|"&_IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[2])) & ":")
    ElseIf $ID[0] = 3 Then
    GuiCtrlSetData($Combo1, _IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[1])) & ":"&"|"&_IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[2])) & ":"&"|"&_IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[3])) & ":")
    ElseIf $ID[0] = 4 Then
    GuiCtrlSetData($Combo1, _IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[1])) & ":"&"|"&_IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[2])) & ":"&"|"&_IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[3])) & ":"&"|"&_IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[4])) & ":")
    ElseIf $ID[0] = 5 Then
    GuiCtrlSetData($Combo1, _IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[1])) & ":"&"|"&_IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[2])) & ":"&"|"&_IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[3])) & ":"&"|"&_IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[4])) & ":"&"|"&_IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[5])) & ":")
    ElseIf $ID[0] = 6 Then
    GuiCtrlSetData($Combo1, _IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[1])) & ":"&"|"&_IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[2])) & ":"&"|"&_IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[3])) & ":"&"|"&_IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[4])) & ":"&"|"&_IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[5])) & ":"&"|"&_IMAPI2_DriveGetLetter(_IMAPI2_DriveGetObj($ID[6])) & ":")
    EndIf

    [/autoit]

    Erklärung:
    In $ID[0] ist die Anzahl der Laufwerke gespeichert.
    _IMAPI2_DriveGetLetter ermittelt den Laufwerksbuchstaben ("E:\", "D:\",...), dafür benötigt man dann noch _IMAPI2_DriveGetObj
    Alle Buchstaben mit einem ":" (,da _IMAPI2_DriveGetLetter nur z.B. "E" zurückgibt) werden in eine Combobox geschrieben ($Combo1)


    Die IMAPI2.au3 ist im Anhang!

    Ich hoffe ich konnte helfen!

    LG K.K.

    Dateien

    IMAPI2.au3 33,63 kB – 71 Downloads
  • Hilfe mit Funktion von Buttons und ihrer Zuweisung

    • K.K.
    • 17. Januar 2012 um 08:17

    Um den Text einer inputbox zu ändern kannst du

    [autoit]

    GuiCtrlSetData

    [/autoit]


    Benutzen.

    [autoit]

    GuiCtrlSetData($InputboxID, $Text)

    [/autoit]

    Ich hoffe ich konnte helfen!

    LG K.K.

    //Edit: chip war schneller :)

  • Kopierverlauf in Progressbar darstellen lassen

    • K.K.
    • 7. Dezember 2011 um 18:02

    Ja, den Dateinamen musst du angebeben.
    Du kannst alle Dateien eines Pfades mit _FileListToArray() ermitteln. Dann bekommst du ein Array[0], indem die Anzahl der Dateien ist.
    Kannst du ja auch nochmal in der Hilfe angucken:
    http://translation.autoit.de/onlinehilfe/li…ListToArray.htm

    LG K.K.

    EDIT: shadow667 war schneller! ;)

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™