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

  • Forum-Umstellung Problemsammlung

    • BugFix
    • 15. Oktober 2014 um 18:52
    Zitat von i2c

    Einfach auf den Avatar des Users mit der letzten Antwort klicken.


    ?? - damit springt man doch nicht zum ersten Beitrag sondern landet im Profil des Users.
    Wenn du mit der Maus im Post bist bekommst du doch unten rechts ein Overlay mit "gehe zum Anfang".

  • Like oder nicht Like - das ist die Frage!

    • BugFix
    • 15. Oktober 2014 um 16:43
    Zitat von General Kaboom

    Moment ich habe wohl übersehen, dass du dich irgendwo DAFÜR ausgesprochen hast


    Tja, "Opt-Out": wenn es nicht explizit abgelehnt wird, gilt es als toleriert. :rofl:

  • Like oder nicht Like - das ist die Frage!

    • BugFix
    • 15. Oktober 2014 um 16:31
    Zitat von General Kaboom

    Allerdings für den nächsten Nutzer der eine sinnvolle Antwort sucht vielleicht nicht.


    Na siehste - deshalb ist liken und Danke-Button Quark.
    Das geplante Markieren der hilfreichsten Antwort und das Platzieren dieses Posts direkt unter der Frage erfüllt doch genau diesen Anspruch.
    Sollen jetzt noch weitere 186.000 User einen raufzählen für "hat mir auch geholfen"? :S

  • Like oder nicht Like - das ist die Frage!

    • BugFix
    • 15. Oktober 2014 um 16:06

    Um das nochmal klarzustellen:

    Ich habe nichts dagegen, wenn sich jemand für Hilfe bedanken möchte oder einem Autor für ein sehr gelungenes Skript Lob aussprechen möchte.

    Wogegen ich aber schon immer etwas habe, ist die Reduzierung unserer Sprache auf einen Mausklick!
    Jeder sollte in der Lage sein sich auch mit Worten auszudrücken. Und wenn mir jemand schreibt: "Danke, dein Bsp. hat mir sehr geholfen.", dann ist das tausend mal mehr wert als ein Zähler, der jetzt um eins erhöht wurde.

  • Forum-Umstellung Problemsammlung

    • BugFix
    • 15. Oktober 2014 um 14:37
    Zitat von elektronenpeter

    Bug:ISN AutoIt Studio

    "Dieser Beitrag wurde 9521 mal editiert, zum letzten Mal von Blubkuh: Morgen, 02:28."

    ?( 9521 mal? zuletzt MORGEN?


    Das steht in der Signatur des Users und ist natürlich ein Joke. :rofl:

  • Forum-Umstellung Problemsammlung

    • BugFix
    • 15. Oktober 2014 um 12:55
    Zitat von chip

    Ich meine den normalen Punkt Einstellungen.


    Meinte ich auch - und da jibbet et nüscht:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

  • Like oder nicht Like - das ist die Frage!

    • BugFix
    • 15. Oktober 2014 um 11:43
    Zitat von chesstiger

    Ich habe auch schon Like-Systeme gesehen, bei denen du den Grund angeben konntest.


    Na und selbst wenn: Das gibt dir doch dann immer noch keine Auskunft darüber.
    Dann steht eben bei 50 Likes "Tolles Thema" oder "Super Code".
    Warum fällt mir gerade jetzt der abgewandelte Spruch ein:
    "Der Tadel des Meisters, der schmerzt mich nicht sehr.
    Das Lob eines Deppen, das schmerzt um so mehr."
    :whistling:

  • Forum-Umstellung Problemsammlung

    • BugFix
    • 15. Oktober 2014 um 11:38
    Zitat von autoiter

    Mit dem Firefox klappt das "Eingeloggt bleiben" nicht mehr. Ich muss mich nach jedem Schließen des Bowsers neu einloggen :( Kann das jemand nachvollziehen?


    Soweit ich weiß geht das momentan generell nicht - zumindest habe ich bisher noch von niemandem gehört, dass es funktioniert.

  • Like oder nicht Like - das ist die Frage!

    • BugFix
    • 15. Oktober 2014 um 11:34

    Ganz klar: NEIN - sowas braucht die Welt nicht.

    Ich denke, das hatten wir doch schon in ausgiebiger Vielfalt diskutiert. Ihr erinnert euch: Einführen eines Danke-Button. Was anderes stellt ein Like-System nicht dar.
    Zumal es sich mir nach wie vor nicht erschließt, welche Info ich über einen Post habe, wenn dieser 8 oder 80 Likes hat!
    Der Informationsgehalt ist genau gleich Null!!
    Warum?
    Ich habe keine Ahnung warum geliked wurde
    - qualitativ gut - oder
    - ich mag den User - oder
    - mir gefällt dein Nickname - oder
    - ich hab gerade Langeweile und like mal - oder....

    Liken ist nichts als medialer Müll, der andere zum Gröhlen in der Meute veranlassen soll.
    Bewahrt euch eure Individualität, heult nicht mit den Wölfen und nutzt euren Verstand um Wohlgefallen an einer Sache (Post) mit Worten zum Ausdruck zu bringen.

  • Forum-Umstellung Problemsammlung

    • BugFix
    • 15. Oktober 2014 um 10:53
    Zitat von chip

    Kann es sein das du das nicht über die Profileinstellungen machst sondern unten über den Link "Stil ändern"? Weil der Link "Stil ändern" ist nur eine Vorschauversion und nicht zum kompletten ändern gedacht.

    In den Profileinstellungen gibt es auf keiner Seite einen Button zum Stil ändern! (Chrome)
    Und selbst auf der Portalseite erscheint dieser Pfeil nur gelegentlich nach dem gefühlt 10.ten Neuladen der Seite.

    Weiteres Problem: Erledigt - Cookies löschen.
    Sowie ich auf einen anderen Tab wechsele ist meine Sitzung angeblich abgelaufen. Ich kann mich aber nicht neu anmelden, da ich noch angemeldet bin.
    Muss mich dann abmelden und erneut anmelden um "wirklich" angemeldet zu sein. - Sehr verstörend. ;(

  • Forum-Umstellung Problemsammlung

    • BugFix
    • 14. Oktober 2014 um 22:52

    Design-Änderung ist nur temporär und nicht speicherbar. Nach jedem Login hat man wieder das light/edge-Design.

  • BitXOR rückwerts

    • BugFix
    • 13. Oktober 2014 um 16:32
    Zitat von Freaky

    Muss man denn immer nach dem Hintergrund fragen?


    Ich will nur wissen:
    - Daten vorher
    - wie sollen diese hinterher aussehen - das geht aus deiner Frage nicht hervor

  • BitXOR rückwerts

    • BugFix
    • 13. Oktober 2014 um 16:25

    Vielleicht erzählst du einfach mal, was du damit bezwecken willst? Bis jetzt erkenne ich keinen Sinn dahinter.
    (und bei Bedarf: In meiner Signatur findest du ein Bit-Tutorial)

  • Schleifenabbruchmöglichkeit durch Button

    • BugFix
    • 13. Oktober 2014 um 16:16
    [autoit]


    $button_Exit = GuiCtrlCreateButton(...)

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

    ;..
    ;..

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

    While True
    Switch GuiGetMsg()
    Case -3, $button_Exit
    Exit
    ;...
    EndSwitch
    WEnd

    [/autoit]
  • Schleifenabbruchmöglichkeit durch Button

    • BugFix
    • 13. Oktober 2014 um 15:30

    Was machst du denn für ein Kauderwelsch? GuiGetMsg gehört nur einmal in ein Skript, in die Main-Loop. Sollte man nicht in Funktiionen packen.
    Schau einfach mal die Gui-Konzepte in der Hilfe an.

  • BinomiRechner [(a+b)^n Rechner]

    • BugFix
    • 13. Oktober 2014 um 09:52

    Mal als Tipp:
    Radio-Ctrl und Checkboxen nicht direkt mit GuiCtrlRead auswerten. Das kann daneben gehen, da du einen Summenwert abfragst. Besser den gesuchten Wert mit BitAnd extrahieren.
    Somit kannst du dir deine Funktion "Checked" komplett sparen, zumal die Funktion auch zuviel tat - wenn du auf CHECKED prüfst und das trifft nicht zu, kann der Status ja nur UNCHECKED sein. Somit brauchst du darauf nicht prüfen. ;) :

    [autoit]


    ; statt
    $vMalzeichen = Checked( GUICtrlRead( $malzeichen ) )

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

    ; besser
    $vMalzeichen = BitAnd(GUICtrlRead($malzeichen), $GUI_CHECKED)
    ; Wert ist dann 1 bei CHECKED und 0 bei UNCHECKED

    [/autoit]
  • CheatEngine PointerSearch

    • BugFix
    • 12. Oktober 2014 um 11:34

    Ich hatte zwar von Anfang an keine Illusionen, worum es hier geht - war aber mal neugierig wie sich der Aal windet. :rofl:
    Nun ist aber alles gesagt, was in unserem Forum zu diesem Thema zu sagen ist. Somit hänge ich jetzt hier ein Schloß vor.

    [CLOSED]

  • Netzwerk ohne Router erstellen

    • BugFix
    • 11. Oktober 2014 um 18:29

    Genau, wozu WLAN! Ein Switch mit der Anzahl Ports der Mitspieler, fixe IP an allen beteiligten Rechnern vergeben, Kabel einstöpseln - ferdisch!
    Ist dann wenigstens 'ne echte LAN-Party :D
    Denn wenn ihr auf WLAN-Entfernung zusammen hockt, könnt ihr eh auch Kabel nehmen. :thumbup:

  • Excel - Leere (Zwischen-) Zeilen löschen

    • BugFix
    • 10. Oktober 2014 um 10:11
    Zitat von tobius

    Wie kann ich ihm sagen, dass er ab dem Zeitpunkt alle darüberliegenden Leerzeilen löschen soll, ab dem er von hinten beginnend das erste mal in einer der Spalten A-J Inhalt findet. Also sozusagen wie dein Code, nur dass die Spalte A mit den anderen Spalten "oder" verknüpft wird?

    Dazu brauchst du eine Funktion, die für jede Spalte deines Bereiches einzeln abprüft, welches die letzte benutzte Zeile ist und den höchsten Wert verwendest du dann. Ich habe das mal in meinem Bsp. erstellt.

    Zitat von tobius

    Und da die Excel schon vorher offen ist suche ich schon die ganze Zeit, wie ich die Excel-Datei anspreche, anstatt zu öffnen

    [autoit]

    ObjGet

    [/autoit]

    ;)

    Spoiler anzeigen
    [autoit]


    $xls = "C:\Temp\Test.xls"

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

    ; Wenn Datei geschlossen:
    ;~ Local $oExcel = ObjCreate("Excel.Application") ; Excel-Objekt erstellen
    ;~ $oExcel.Visible = 1 ; 0=unsichtbar/ 1=sichtbar
    ;~ Local $oBook = $oExcel.Workbooks.Open($xls) ; Datei öffnen

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

    ; Wenn Datei bereits offen:
    Local $oExcel = ObjGet('', "Excel.Application") ; wir brauchen eine Referenz auf das Excelobjekt..
    Local $oBook = ObjGet($xls) ; und eine auf das geöffnete Workbook

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

    Local $oSheet = $oBook.Sheets(1) ; erstes Tabellenblatt verwenden - bei Bedarf ändern, kann auch Name sein

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

    For $zeile = _GetLastUsedRow($oSheet, 'A:G') To 1 Step -1
    If $oExcel.WorksheetFunction.CountA($oSheet.Range("A" & $zeile & ":G" & $zeile)) = 0 Then
    $oSheet.Rows($zeile & ":" & $zeile).Delete
    EndIf
    Next

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

    Func _GetLastUsedRow(ByRef $oSheet, $sRange) ; in der Variante aber nur bis Spalte Z !!
    Local $aRange = StringSplit($sRange, ':')
    Local $iStart = Asc(StringUpper($aRange[1])) -64
    Local $iEnd = Asc(StringUpper($aRange[$aRange[0]])) -64
    Local $iLastRow = 0, $iTmp
    For $i = $iStart To $iEnd
    $iTmp = $oSheet.Cells($oSheet.Rows.Count, $i).End(-4162).Row ; -4162 = xlUp
    If $iTmp > $iLastRow Then $iLastRow = $iTmp
    Next
    Return $iLastRow
    EndFunc

    [/autoit]


    Um die entsprechenden Methoden und Properties zu finden ist meine erste Anlaufstelle Excel Object Model Reference und auch VBA Language Reference.
    Aber häufig sind die Probleme schon aufgetaucht und wurden in einem VBA-Forum gepostet. Somit ist Google-Suche mit "VBA SUCHWORT" allererste Wahl. ;)
    Der Großteil an Funktion des täglichen Gebrauchs mit Excel wurde aber in der neuen Excel-UDF von water integriert - also auch immer mal da nen Blick reinwerfen, wenn man mit den VBA-Funktionen nicht so vertraut ist.

    Achja: Für dein Thema Duplikate löschen - Google mal "vba excel duplikate löschen", den Rest schaffst du dann bestimmt selbst. ;)
    Einen Hinweis noch, wenn du dich mit VBA-Funktionen beschäftigst um diese nach AutoIt zu portieren:
    In VBA werden beim Funktionsaufruf generell nur Parameter übergeben, die nicht mit den Standardwerten belegt sind. Das kennen wir auch von AutoIt-Funktionen. Jedoch muss die AutoIt-Variante der VBA-Funktion immer alle Funktionsparameter übergeben bekommen. D.h., wenn du in einem VBA-Code eine Funktion findest musst du zuerst in der Doku nach allen Parametern und den vorbelegten Werten suchen um diese in AutoIt verwenden zu können.

  • Excel - Leere (Zwischen-) Zeilen löschen

    • BugFix
    • 8. Oktober 2014 um 20:37

    Das Prüfen auf leer solltest du keinesfalls Zelle für Zelle machen, viel zu langsam.

    Hier mal ein Bsp. wie man einen Bereich (Range) auf leer prüft:

    [autoit]


    $xls = "C:\Temp\Test.xls"
    Local $oExcel = ObjCreate("Excel.Application") ; Excel-Objekt erstellen
    $oExcel.Visible = 1 ; 0=unsichtbar/ 1=sichtbar
    Local $oBook = $oExcel.Workbooks.Open($xls) ; Datei öffnen
    Local $oSheet = $oBook.Sheets(1) ; erstes Tabellenblatt verwenden - bei Bedarf ändern, kann auch Name sein

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

    $zeile = 26
    If $oExcel.WorksheetFunction.CountA($oSheet.Range("A" & $zeile & ":G" & $zeile)) = 0 Then
    ConsoleWrite('Zeile ' & $zeile & ' ist leer.' & @CRLF)
    Else
    ConsoleWrite('Zeile ' & $zeile & ' ist nicht leer.' & @CRLF)
    EndIf

    [/autoit]

    Wenn du die Zeilen löschen willst: Durchlaufe das Tabellenblatt in einer Schleife von hinten beginnend! Sonst stimmt nach dem Löschen die verwendete Zeilennummer nicht mehr. ;)

    Edit:
    Die einfachste Variante wäre also:

    Spoiler anzeigen
    [autoit]

    $xls = "C:\Temp\Test.xls"
    Local $oExcel = ObjCreate("Excel.Application") ; Excel-Objekt erstellen
    $oExcel.Visible = 1 ; 0=unsichtbar/ 1=sichtbar
    Local $oBook = $oExcel.Workbooks.Open($xls) ; Datei öffnen
    Local $oSheet = $oBook.Sheets(1) ; erstes Tabellenblatt verwenden - bei Bedarf ändern, kann auch Name sein

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

    For $zeile = $oSheet.Cells($oExcel.Rows.Count, 1).End(-4162).Row To 1 Step -1 ; -4162 = xlUp
    If $oExcel.WorksheetFunction.CountA($oSheet.Range("A" & $zeile & ":J" & $zeile)) = 0 Then
    $oSheet.Rows($zeile & ":" & $zeile).Delete
    EndIf
    Next

    [/autoit]

    Jedoch wird hier nur das "normale" Ende des Inhalts berücksichtigt. Dazu muss die erste Spalte einen Inhalt haben um erkannt zu werden. Sollten deine Zeilen nicht immer auch in der ersten Spalte inhalte haben, würden Zeilen ohne Inhalte in A, die am Ende der Tabelle sind, ignoriert werden.

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™