Clipboard-Problem mit Format etc.

  • Ich mach gerade ein Programm ,mit dem ich die Zwischenablage erweitern kann.
    Mit Text und auch wenn ich ordner markiere und kopieren will gehts.
    Wenn ich jedoch im I net ein bild in die ablage kopiere, bekomm ich Probleme.
    Funzt nämlich nicht( Logisch, ich würde ja dann n bild in ne ini reinschreiben, geht natürlich nicht)
    Wie kriege ich das jetzt am besten hin, dass ich eine Grafik abspeicher, und zb, nach nen Neustart wieder in die ablage bring,ohne dass ich im inet das bild wieder suchen muss?

  • Kann mir mal zusätzlich jemand sagen warum diese Func schwarz zurückgibt anstatt grün oder blau?

    Spoiler anzeigen
    [autoit]

    Func Farbezuordnen($Button)
    If FileExists("C:\Programme\Cliptomatik\Settings\Settings"&$Button&".ini") =1 Then
    $ReturnFarbe=0xff0000
    Else
    $ReturnFarbe=0x008000
    Return $ReturnFarbe
    EndIf
    EndFunc

    [/autoit]


    verwendet hab ich sie so:

    Spoiler anzeigen
    [autoit]

    $Farbe1=Farbezuordnen($Button1)

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

    GUICtrlSetBkColor($Button1,$Farbe1)

    [/autoit]

    edit, Bzw schwarze gui erzeugt, obwohl bei msgbox das richtige rauskommt?
    Im anhang ein bild

  • Ganz einfach, da ist ein Fehler im Script.

    Sollte besser so aussehen:

    Spoiler anzeigen
    [autoit]


    Func Farbezuordnen($Button)
    If FileExists("C:\Programme\Cliptomatik\Settings\Settings" & $Button & ".ini") = 1 Then
    $ReturnFarbe = 0xff0000
    Else
    $ReturnFarbe = 0x008000
    EndIf
    Return $ReturnFarbe
    EndFunc ;==>Farbezuordnen

    [/autoit]

    Das Return muss hinter das Endif, da es sonst den Returnwert des If - Falls nicht zurückgibt;), da dann nichts zurückgegeben wird, wird der Returnwert der Funktion als 0 interpretiert, was der Farbe schwarz entspricht.

    greetz DJ

    • Offizieller Beitrag

    Hallo

    Nur kurz zur Erklärung: Wenn nichts zurückgegeben wird (kein Return) gibt AutoIt automatisch für die Funktion False, also 0 zurück.

    Spoiler anzeigen

    Bei dir sah das so aus:

    [autoit]

    Func Farbezuordnen($Button)
    If FileExists("C:\Programme\Cliptomatik\Settings\Settings" & $Button & ".ini") = 1 Then
    $ReturnFarbe = 0xff0000 ;Wenn Datei existiert, setze $ReturnFarbe auf 0xff0000. Aber Return Fehlt
    Else
    $ReturnFarbe = 0x008000 ;Wenn nicht setze $ReturnFarbe auf 0x080000 und gib das auch zurück.
    Return $ReturnFarbe ;Hier das Return
    EndIf
    EndFunc ;==>Farbezuordnen

    [/autoit]

    Mfg Spider :thumbup: