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

  • ListView - SubItem einzeln färben/formatieren, Finale Version! (v1.3)

    • BugFix
    • 10. Juli 2009 um 09:49
    Zitat von skyteddy

    jede zweite Reihe farbig mit einer Farbe zu versehen. Font ist mir derzeit nicht wichtig.


    Also das Ziel erreichst du ohne meine Formatfunktion. Das geht schon seit geraumer Zeit standardmäßig:

    [autoit]

    #include <GuiListView.au3>
    #include <GUIConstantsEx.au3>
    GUICreate('Test')

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

    $ListView1 = GUICtrlCreateListView("Spalte 1|Spalte 2", 15, 15, 300, 250)
    GUICtrlSetBkColor(-1, 0xFF4400) ; Farbe ungerade Zeilen
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_LV_ALTERNATE)
    _GUICtrlListView_SetColumnWidth($ListView1, 0, 148)
    _GUICtrlListView_SetColumnWidth($ListView1, 1, 148)

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

    For $i = 1 To 10
    GUICtrlCreateListViewItem(Random(10000, 1000000, 1) & '|' & Random(10000, 1000000, 1), $ListView1)
    GUICtrlSetBkColor(-1, 0xFFFF23) ; Farbe gerade Zeilen
    Next

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

    GUISetState()

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

    Do
    Until GUIGetMsg() = -3

    [/autoit]
  • Acronis Image Überprüfen

    • BugFix
    • 10. Juli 2009 um 09:44

    Machs mal so:

    Spoiler anzeigen
    [autoit]

    ; Erstelle dein Listview so, dass es NICHT sortiert ist oder sortiert werden kann.
    ; Dann sind die Indexangaben identisch mit den Index im Array!

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

    ; ...
    ; ...
    $LV = GUICtrlCreateListView('....')
    $hLV = GUICtrlGetHandle($LV)
    ; ...
    ; ...

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

    Local $path = 'Dein_Suchpfad'
    Local $aFiles = _GetFilesFolder_Rekursiv($path, 'tib', 0) ; Ausgabe in Array, nur Dateien
    If Not IsArray($aFiles) Then Exit MsgBox(0, 'Fehler', 'Keine "tib"-Files vorhanden.')
    _ArrayDelete($aFiles, 0) ; Zähler löschen für Indexübereinstimmung mit LV

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

    ; Dateinamen in LV eintragen
    Local $FileName
    For $i = 0 To UBound($aFiles) -1
    $FileName = StringRight($aFiles[$i], StringLen($aFiles[$i] - StringInStr($aFiles[$i], '\', -1)))
    _GUICtrlListView_AddItem($hLV, $FileName)
    Next

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

    ; beim Auslesen des markierten LV-Eintrages
    Local $index = _GUICtrlListView_GetSelectedIndices($hLV)
    ; den zugehörigen Dateipfad kannst du jetzt direkt aus dem Array auslesen
    Local $currFilePath = $aFiles[$index]

    [/autoit]
  • Acronis Image Überprüfen

    • BugFix
    • 9. Juli 2009 um 21:27

    Mal unabhängig von deiner Frage: Warum tust du dir das überhaupt an? Ich erstelle die Images standardmäßig mit Option Validierung. Dann hast du sofort die geprüften Images.

  • verschobene Darstellung im Portal

    • BugFix
    • 9. Juli 2009 um 19:07
    Zitat von progandy

    wenn ich als Auflösung <= 1024x786 wähle...


    Das ist die bei mir größtmögliche Auflösung... :D

  • verschobene Darstellung im Portal

    • BugFix
    • 9. Juli 2009 um 18:32

    Hi,
    habt ihr auch auf der Portalseite unseres Forums solch verschobene Darstellung?
    Habe es mit mehreren Browsern getestet - sieht überall gleichermaßen besch.. aus. ;)

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

  • ListView - SubItem einzeln färben/formatieren, Finale Version! (v1.3)

    • BugFix
    • 9. Juli 2009 um 18:25
    Zitat von skyteddy

    Du schreibst, daß die aktuellste Version in der Datei "FormatSubItemLV_new.au3" zu finden ist. Die ist aber viel kleiner als "FormatSubItemLVex.au3" (10 anstatt 18kb).
    Obendrein ist nichts kommentiert und es fehlen Funktionen, wie z.B. _OneRowSetCol.

    Ja klar ist die neueste Version viel kleiner, habe ich doch auch geschrieben:

    Zitat

    Code ist kürzer und schneller. s. Post 1, Bsp.: FormatSubItemLV_new.au3


    Mit der Funktion:
    _SetItemParam($hWnd, $iItem, $iSubItem, $iBkCol=-1, $iCol=-1, $iSize=-1, $iWeight=-1, $sFont=-1)
    kannst du alle notwendigen Einstellungen vornehmen, also Einzelzelle, Zeile oder Spalte formatieren. Mußt sie halt notwendigerweise in einer Schleife mehrfach ausführen.

  • Rekursive Datei/Ordner Auflistung per Objekt

    • BugFix
    • 8. Juli 2009 um 20:57
    Zitat

    Ihr übergebt Pfad (für aktuellen Pfad kann '.' und für übergeordneten Pfad kann '..' verwendet werden), Dateierweiterung ('*' oder -1 für alle[Standard]) und ein OrdnerFlag (-1 Datei+Ordner[Standard], 0 nur Dateien, 1 nur Ordner).


    Was von den erforderlichen Parametern soll bitte "poker" sein? ;)

  • Arbeitszeit Rechner

    • BugFix
    • 6. Juli 2009 um 18:58
    Zitat von Zero2q

    geht iwie nicht =(

    Die genaueste Fehlerbeschreibung seit Erfindung der deutschen Sprache... :rofl:

  • Befehle aus einem Array ausführen

    • BugFix
    • 6. Juli 2009 um 13:21
    Zitat von L0c4lh0sT

    Dann versteh ich die Hilfe nicht.


    ?( Was ist denn dadran so unverständlich?

    Zitat von Hilfe FileSaveDialog und FileOpenDialog

    Rückgabewert
    Erfolg: Gibt den kompletten Pfad der ausgewählten Datei zurück. Rückgabe mehrerer Dateien wie folgt: "Verzeichnis|Datei1|Datei2|..."

  • Befehle aus einem Array ausführen

    • BugFix
    • 6. Juli 2009 um 13:08
    Zitat von L0c4lh0sT

    Wo wird gesagt was er speichern soll bei FileSaveDialog und wo bei FileOpenDialog


    Der Rückgabewert der Funktionen enthält den Pfad. Steht aber auch in der Hilfe ;)

  • Befehle aus einem Array ausführen

    • BugFix
    • 6. Juli 2009 um 09:53

    Kein Problem, das geht so:

    [autoit]

    Local $aExecute[3] = ['Beep(50,30)','Sleep(20)','Beep(2000, 20)']
    For $i = 0 To UBound($aExecute) -1
    Execute($aExecute[$i])
    Next

    [/autoit]
  • Bug - Array bearbeiten mit 8 bzw. 9 Einträgen geht nicht?

    • BugFix
    • 5. Juli 2009 um 22:55

    Schau dir mal in der Hilfe die For - Next - Schleife an, dann löst sich dein Problem sicher von selbst.
    Außerdem solltest du nicht die Werte aus dem Array löschen, nachdem du diese für deine Checkboxen verwendet hast. Ist sinnlos und kostet nur Rechenzeit.

  • AutoIt ... für Linux

    • BugFix
    • 4. Juli 2009 um 12:17

    Ich habe selbst mal ein wenig mit Tk/Tcl rumprobiert. Soweit ich das beurteilen kann, sind zumindest grundlegende GUI-Konstruktionen problemlos möglich. Feinheiten, wie ReBar o.ä. habe ich dort noch nicht gesucht und in den Musterkripts auch nicht entdeckt.
    Ist aber auch intuitiv erlernbar. Also durchaus einen Versuch wert.

  • µit - Juli

    • BugFix
    • 4. Juli 2009 um 11:04
    Zitat von eukalyptus

    Eine weitere Frage drängt sich auf:
    Wenn $sSearch = Leerstring, dann sollen alle Zeichen gezählt werden.
    Sollen in diesem Fall auch die @lf,@cr und/oder Leerzeichen mitgezählt werden.
    Das wäre dann kein Unterschied zu StringLen!


    Mit der momentanen Testsuite wird ja derselbe Wert, wie bei StringLen ermittelt. Soll das nun so bleiben oder wollen wir uns von StringLen abgrenzen und uns auf die sichtbaren Zeichen beschränken (also auch Leerzeichen aber kein @LF, @CR) ? Das wäre dann auch die Zählweise, wie sie in Word verwendet wird. Ist m.E. praxisnäher.

  • Assembly

    • BugFix
    • 2. Juli 2009 um 17:33

    Das hieße dann aber wirklich das Fahrrad neu erfinden. ;)
    Schließlich gibt es Gacutil.exe

  • Problem mit VBS Übersetzung in AutoIt

    • BugFix
    • 30. Juni 2009 um 08:41

    Hi,
    nur ganz kurz bevor ich losfahr:
    MSIINSTALLCONTEXT_MACHINE ist eine Konstante, da muß noch der Wert zu rausgesucht werden.
    Ich bin mir auch nicht ganz sicher ob alles rund ist. Im Moment hab ich nur keine Zeit weiter zu probieren. Evtl. komme ich heute Abend oder morgen nochmal dazu.

  • Problem mit VBS Übersetzung in AutoIt

    • BugFix
    • 29. Juni 2009 um 23:04

    Hi,
    dann sollte man vielleicht das ganze Objekt-Gedöns weglassen :D und mit der DLL arbeiten.

    Ich habe mich mal dran versucht und die Objekteigenschaft ProductsEx in den Dll-Funktionsaufruf MsiEnumProductsExW umgesetzt. Sollte (wenn es denn klappt) auch deutlich schneller sein.
    Kleiner Aufruf an progandy: Schau bitte mal drüber, ob das OK ist.
    Habs noch nicht getestet. Und bin im Moment auch zu müde. :P
    Ich hänge mal die OriginalInfo zu dieser Funktion mit an.
    Es werden noch die Werte für einige Konstanten benötigt, aber da kannst du ja selber mal schauen. Nimm es als Arbeitsansatz. ;)

    Func MsiEnumProductsEx
    [autoit]

    Func MsiEnumProductsEx($strProductCode, $strUserSid, $dwContext, $dwIndex)
    Local $szProductCode = DllStructCreate('wchar[' & StringLen($strProductCode)+1 & ']')
    Local $szUserSid = DllStructCreate('wchar[' & StringLen($strUserSid)+1 & ']')
    Local $pdwInstalledContext = DllStructCreate('int')
    Local $szSid = DllStructCreate('wchar[128]')
    Local $pcchSid = DllStructCreate('int')
    DllStructSetData($szProductCode, 1, $strProductCode)
    DllStructSetData($szUserSid, 1, $strUserSid)
    DllStructSetData($pdwInstalledContext, 1, $dwContext)
    Local $ret = DllCall('Msi.dll', 'uint', 'MsiEnumProductsExW', _
    'ptr', DllStructGetPtr($szProductCode), _
    'ptr', DllStructGetPtr($szUserSid), _
    'dword', $dwContext, _
    'dword', $dwIndex, _
    'wchar', 'szInstalledProductCode[40]', _
    'ptr', DllStructGetPtr($pdwInstalledContext), _
    'ptr', DllStructGetPtr($szSid), _
    'ptr', DllStructGetPtr($pcchSid))
    Local $aOut[4]
    $aOut[0] = $ret[5] ; ProductCode GUID
    $aOut[1] = DllStructGetData($pdwInstalledContext, 1); can be MSIINSTALLCONTEXT_USERMANAGED, MSIINSTALLCONTEXT_USERUNMANAGED, MSIINSTALLCONTEXT_MACHINE
    $aOut[2] = DllStructGetData($szSid, 1) ; string SID of the account under which this product instance exists
    $aOut[3] = DllStructGetData($pcchSid, 1) ; number of TCHAR in the szSid buffer
    Return $aOut
    EndFunc

    [/autoit]


    Und hier die Infos aus der Beschreibung zur Dll:

    Spoiler anzeigen
    [autoit]

    #cs

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

    UINT MsiEnumProductsEx(
    __in_opt LPCTSTR szProductCode,
    __in LPCTSTR szUserSid,
    __in DWORD dwContext,
    __in DWORD dwIndex,
    __out_opt TCHAR szInstalledProductCode[39],
    __out_opt MSIINSTALLCONTEXT *pdwInstalledContext,
    __out_opt LPTSTR szSid,
    __inout_opt LPDWORD pcchSid

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

    szProductCode [in, optional]
    ProductCode GUID of the product to be enumerated. Only instances of products within the scope of the context specified by the
    szUserSid and dwContext parameters are enumerated. This parameter can be set to NULL to enumerate all products in the
    specified context.

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

    szUserSid [in]
    Null-terminated string that specifies a security identifier (SID) that restricts the context of enumeration.
    The special SID string s-1-1-0 (Everyone) specifies enumeration across all users in the system.
    A SID value other than s-1-1-0 is considered a user-SID and restricts enumeration to the current user or any user in the system.
    This parameter can be set to null to restrict the enumeration scope to the current user.
    SID Meaning
    type

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

    NULL Specifies the currently logged-on user.

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

    User SID Specifies enumeration for a particular user in the system. An example of user SID is
    "S-1-3-64-2415071341-1358098788-3127455600-2561".

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

    s-1-1-0 Specifies enumeration across all users in the system.

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

    Note:
    The special SID string s-1-5-18 (System) cannot be used to enumerate products or patches installed as per-machine.
    When dwContext is set to MSIINSTALLCONTEXT_MACHINE only, szUserSid must be null.

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

    dwContext [in]
    Restricts the enumeration to a context. This parameter can be any one or a combination of the values shown in the following table.

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

    Context Meaning
    MSIINSTALLCONTEXT_USERMANAGED Enumeration extended to all per–user–managed installations for the users specified by szUserSid.
    An invalid SID returns no items.

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

    MSIINSTALLCONTEXT_USERUNMANAGED Enumeration extended to all per–user–unmanaged installations for the users specified by szUserSid.
    An invalid SID returns no items.

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

    MSIINSTALLCONTEXT_MACHINE Enumeration extended to all per-machine installations. When dwInstallContext is set
    to MSIINSTALLCONTEXT_MACHINE only, the szUserSID parameter must be null.

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

    dwIndex [in]
    Specifies the index of the product to retrieve. This parameter must be zero for the first call to the MsiEnumProductsEx function
    and then incremented for subsequent calls. The index should be incremented, only if the previous call has returned ERROR_SUCCESS.
    Because products are not ordered, any new product has an arbitrary index. This means that the function can return products in any
    order.

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

    szInstalledProductCode [out, optional]
    Null-terminated string of TCHAR that gives the ProductCode GUID of the product instance being enumerated. This parameter can be
    null.

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

    pdwInstalledContext [out, optional]
    Returns the context of the product instance being enumerated. The output value can be MSIINSTALLCONTEXT_USERMANAGED,
    MSIINSTALLCONTEXT_USERUNMANAGED, or MSIINSTALLCONTEXT_MACHINE. This parameter can be null.

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

    szSid [out, optional]
    An output buffer that receives the string SID of the account under which this product instance exists. This buffer returns an
    empty string for an instance installed in a per-machine context.
    This buffer should be large enough to contain the SID. If the buffer is too small, the function returns ERROR_MORE_DATA (0x000000EA)
    and sets *pcchSid to the number of TCHAR in the SID, not including the terminating NULL character.
    If szSid is set to NULL and pcchSid is set to a valid pointer, the function returns ERROR_SUCCESS (0x00000000) and sets
    *pcchSid to the number of TCHAR in the value, not including the terminating NULL. The function can then be called again to
    retrieve the value, with the szSid buffer large enough to contain *pcchSid + 1 characters.
    If szSid and pcchSid are both set to NULL, the function returns ERROR_SUCCESS if the value exists, without retrieving the value.

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

    pcchSid [in, out, optional]
    When calling the function, this parameter should be a pointer to a variable that specifies the number of TCHAR in the
    szSid buffer. When the function returns, this parameter is set to the size of the requested value whether or not the function
    copies the value into the specified buffer. The size is returned as the number of TCHAR in the requested value, not including
    the terminating null character.
    This parameter can be set to NULL only if szSid is also NULL, otherwise the function returns ERROR_INVALID_PARAMETER (0x00000057).
    #ce

    [/autoit]
  • Browserfunktion (Link Klicken detailliert)

    • BugFix
    • 29. Juni 2009 um 20:03

    Ich denke mal, dass eine Automatisierung von Opera nur über Java/Javascript läuft. Aber das ist nicht meine Baustelle. Stilgar ist auf dem Gebiet absolut firm. Er hat, wie du evtl. gesehen hast, die Automatisierung des Firefox geschrieben.

  • Browserfunktion (Link Klicken detailliert)

    • BugFix
    • 29. Juni 2009 um 19:16

    Es handelt sich hierbei um Methoden und Eigenschaften des Objektes: "InternetExplorer.Application"
    Näheres findest du hier: MSDN
    Sinn der UDF ist es ja, dass man sich nicht mit den Objektdetails beschäftigen muß, sondern dies von den Funktionen der UDF machen läßt.

  • 2 PCs mit Winamp - Synchronisation?

    • BugFix
    • 29. Juni 2009 um 18:09

    Fahr auf deinem PC Knoppix-Live CD hoch und streame mit Kaffeine. :D
    Naja, ganz so einfach ist es evtl. nicht, ich weiß nicht ob bei den aktuellen Knoppix-CD alle Codecs bereits bei sind.
    Vor Jahren war das alles inklusive, aber aufgrund geänderter Rechtslage kann es sein, dass die Codecs offiziell nicht dabei sind.
    Auf den andren Maschinen kann ja Windows laufen, der Stream kommt ja per LAN.

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™