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

  • ***ultimative Variablenfunktion***

    • BugFix
    • 11. Oktober 2010 um 11:19

    Du kannst auch die Variablen in ein 2D-Array packen, um sie nach Fenstern (oder Subroutinen etc.) zu sortieren. Wobei die in der Enumeration verwendeten Variablen trotzdem eineindeutig sein müssen - es sei denn, du verwendest z.B. $OK immer an derselben Position im Array bei den einzelnen Dimensionen.
    Würde ich aber von abraten. Ein kurzes Präfix vereinfacht die Zuordnung.
    Mal ein Bsp., wie es aussehen könnte:

    Spoiler anzeigen
    [autoit]

    ; === Enumeration der verschiedenen Fenster (Main, Sub1, Sub2 [, etc.])
    Enum $main, $sub1, $sub2, $iCol

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

    ; === Enumeration Variablen für die einzelnen Fenster
    ; === Main
    Enum $M_bla, $M_blub, $M_blob, $iRowMain
    ; === Sub1
    Enum $1_bla, $1_blub, $1_blob, $1_aha, $iRowS1
    ; === Sub2
    Enum $2_bla, $2_blub, $2_blob, $iRowS2

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

    ; === max. Zeilenzahl(Variablen des Fensters) ermitteln
    Local $iMax = 0
    If $iRowMain > $iMax Then $iMax = $iRowMain
    If $iRowS1 > $iMax Then $iMax = $iRowS1
    If $iRowS2 > $iMax Then $iMax = $iRowS2

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

    ; === ein Globales Array erstellen
    Global $aVar[$iMax][$iCol] ; [Variable][Fenster]

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

    ; === Zugriff wäre dann so:
    $aVar[$M_bla][$main] = ....
    $aVar[$1_bla][$sub1] = ....
    $aVar[$2_bla][$sub2] = ....

    [/autoit]
  • Happy Birthday Progandy

    • BugFix
    • 11. Oktober 2010 um 10:44

    Einen schönen Geburtstag wünsch ich dir. Verbinden möchte ich das mit einem Dankeschön für all die programmiertechnischen Bereicherungen, mit denen du uns geholfen hast, Licht am Ende des Tunnels zu sehen. :thumbup:

  • Maximiertes Fenster erkenne + Portfrage

    • BugFix
    • 7. Oktober 2010 um 10:51
    Zitat von PokerFace

    Aber leider funktioniert das immer noch nicht.


    Äh, du willst doch, dass du Hilfe bekommst. Mit dieser überaus präzisen Fehlerbeschreibung ( :rofl: ) kannst du niemanden hinterm Ofen vorlocken.
    Es gibt extra ein Tut, "Wie frage ich richtig" - oder ähnlich. Bemühe mal die SuFu und nimm dir die dortigen Tipps zu Herzen.

  • Dateinamen automatisch vervollständigen

    • BugFix
    • 7. Oktober 2010 um 09:41

    Andere Möglichkeit:
    - User sucht über FileOpenDialog() die Installationsdatei aus
    - In deinem Skript brauchst du den vollen Titel zur Fensteridentifikation nicht verwenden, sondern nur "CCleaner" bei Verwendung von Opt("WinTitleMatchMode", 2)

  • Stuttgart 21

    • BugFix
    • 7. Oktober 2010 um 09:27
    Zitat von Ezzora

    Sollange Ihr die polizei nicht braucht sind sie eure "Feinde" Nummer 1, wenn ihr sie allerdings mal benötigt seit ihr ihnen dankbar. Natürlich ist nicht alles Toll ( Bin auch ungern am Strafzettel verteilen oder ähnlichem ) aber wir machen was uns der Staat vorschreibt, und das macht der Grossteil gewissenhaft und Ordendlich, und wie immer in der presse hochgepusht ist es nicht, z.B. wird bei Video´s wo ein Polizist auf jemanden hinschlägt NIE 5 minuten VOR dem Schlag gezeigt. Wieso den nicht? Weil dann vielleicht die Provokation oder die Aggresivität des Anderen gezeigt wird und dann währ ja "der Bürger" der böse, und "der BÜRGER" ist der kunde der Presse und die presse verdient geld durch den Bürger. Würdest du deinen Brötchengeber anschwärtzen?


    Na, wie hoch ist denn gerade dein Frustfaktor? :wacko:
    Ich denke mal, du bekommst hier einiges in den falschen Hals. Wohl kaum einer hier betrachtet DIE Polizei als Feind. Und wenn ich ein Strafmandat kassiere bin wohl eher ich der Trottel, da ich eine Vorschrift (egal wie sinnvoll) mißachtet habe.
    Als Bürger bin ich aber in meinem Selbstverteidigungsrecht auch zur Maßgeblichkeit der Mittel verpflichtet. Heißt: Ich darf immer nur mit angemessenen Mitteln mich wehren. Mal übertrieben gesagt: Greift mich ein Hühne an, darf ich die Keule nehmen, ist es ein besoffener Hänfling, muß die Faust reichen.
    Und diese Maßgeblichkeit der Mittel habe ich bei den Polizisten nicht erkennen können.
    Dass die Medien niemals das tatsächliche Geschehen abbilden sollte auch jedem klar sein. Ich kann mich an einen Zusammenstoß zw. Demonstranten und Polisten erinnern, der real etwa 2 min gedauert hat. Es waren aber an die 20 Kamerateams zugegen, die aus allen möglichen Winkeln das Geschehen filmten. Im Zusammenschnitt der Nachrichten hatte man den Eindruck, als ob dort ein 30-minütiger Bürgerkrieg tobte.
    Da du auf "die Brötchengeber" anspielst: Bitte verdeutliche dir mal, wer die Brötchengeber der Polizei sind (wenn du das schon für einen verwertbaren Faktor hältst). Das sind nämlich die Bürger, die Demonstranten, meine Nachbarn und ich - all die kleinen Steuerzahler!

  • Stuttgart 21

    • BugFix
    • 7. Oktober 2010 um 00:25
    Zitat von Ezzora

    das sobald die Polizei eine Demonstration beginnt zum Auflösen ist die Demonstation auch beendet und jeder Bürger ist dazu verpflichtet sich von der masse zu trennen was allerdings nicht gemacht wird. Jeder der es aber nicht macht it in dem Fall ein Strafftäter

    Darfst du nicht verallgemeinern: Wenn eine angemeldete Demonstration stattfindet (Die Demo im Park WAR angemeldet!), hat die Polizei keine Legitimation diese aufzulösen. Sie darf Störenfriede abtrennen und ruhigstellen - damit ist dann aber ritze.

    Zitat von Ezzora

    KEIN POLIZIST SCHLÄGT ZU WENN ER NICHT BEDROHT WIRD

    Da liegst du aber gewaltig schief. Sicher trifft das für die Mehrzahl der Polizisten zu. Aber auch unter diesen gibt es schwarze Schafe, die solche Situationen dann für z.B. Frustbewältigung ausnutzen. Kann mich an Verfahren gegen Polizisten aus solchen Gründen erinnern. Nicht dass du denkst, dass wäre ein Blöd-Zeitung Behauptung. :whistling:

  • Punkt 15 Uhr - Drucken nicht mehr möglich [GELÖST]

    • BugFix
    • 6. Oktober 2010 um 22:59

    Ich kann noch mehr Kuriositäten anbieten:
    Unser Server läuft mir Win2000 Server. Uhrzeit/Datum - alles korrekt. Die Arbeitsstationen, XP und Win2k (nur in Workgroup genutzt) zeigen jeder für sich auch das korrekte Datum.
    Nun aber der Clou. Wenn auf irgendeiner Arbeitsstation die Datensicherung auf dem Server angeschoben wird, ist als Dateieigenschaft-Datum des Archivs immer ein beliebiges Datum des Jahres 2002 (ohne erkennbaren Zusammenhang zum Sicherungsdatum). Im Log selbst steht das korrekte Datum.
    Auch die per Task auf dem Server nachts automatisch laufende Sicherung zeigt diesen Datumsfehler.
    Ich habe es aufgegeben nach einer Ursache zu suchen. Da die Archive fortlaufend nummeriert sind und im Log das richtige Datum enthalten ist, habe ich mich mit dem Zustand arrangiert. :whistling:

  • Punkt 15 Uhr - Drucken nicht mehr möglich [GELÖST]

    • BugFix
    • 5. Oktober 2010 um 21:33

    So, Problem gelöst. Auch wenn ich keinen direkten Zusammenhang erkennen kann:
    Punkt 15 Uhr versuchte sich immer die Systemzeit zu synchronisieren über "time.windows.com". Da der PC im Intranet läuft und somit keinen Internetzugang hat, schlägt dieser Versuch fehl. Dabei sollte dann eigentlich außer 3-4 weiteren Fehlversuchen und entsprechendem Eintrag im Systemprotokoll nichts weiter passieren.
    Aber seltsamerweise hängt sich dabei der Spooler auf - aber ausschließlich auf diesem PC. Die anderen PC's mit identischen Einstellungen sind völlig unbeeindruckt von solchen Fehlversuchen. :D
    Die Synchronisation ist als Standardeinstellung in XP aktiv und hat mich noch nie ernsthaft gestört. (Habe es jetzt abgeschaltet und Problem ist weg)

  • Stuttgart 21

    • BugFix
    • 4. Oktober 2010 um 22:00

    Nun, dass Nichtwählen die Extremisten bevorteilt ist doch hausgemacht bei unserem Wahlsystem. Also soll sich gefälligst kein Politiker darüber aufregen.
    Die Frage ist doch wohl, warum wird nicht gewählt? Nun - weil man nicht mit 'NEIN' stimmen kann. Wäre das möglich, dann würden die Nein-Stimmen (also Stimmen die keiner Partei zugerdnet werden aber als Gesamtzahl in den Stimmen enthalten sind und somit die prozentuale Verteilung beeinflussen) dafür sorgen, dass es solange keine klaren Mehrheiten für 1-2 Parteiensysteme gibt, wie diese am Bürger vorbei regieren. Somit bliebe nur eine Koalition aus 3 oder mehr Parteien. Dann müßten die Politiker endlich mal mit ihrer Profilierungssucht aufhören und sich mal mit den tatsächlichen Problemen beschäftigen.
    Aber das ist Wunschdenken. Zumal sich unser Land nach wie vor (gemessen an Volksvertreter/Bürger) eines der größten Parlamente der Welt leistet. Wir haben es ja dicke.

  • Stuttgart 21

    • BugFix
    • 3. Oktober 2010 um 18:09

    @Mattthias: Deine Betrachtung ist viel zu pauschal und oberflächlich.
    So ist es z.B. im kommunalen Bereich völlig Rille, wer was für ein Parteibuch in der Tasche hat. Denn auf dieser Ebene (und leider wohl nur dort) hat man schon oft begriffen, dass Parteidirektiven keine Probleme lösen. Deshalb arbeitet man dort viel öfter Hand in Hand mit dem Ziel der Problemlösung, statt sich zu profilieren.
    Und ich denke, gerade den Grünen kann man Stammtischmentalität am wenigsten vorwerfen. Sie haben von Anbeginn Ziele verfolgt, für die sich anfangs kaum ein Bürger interessiert hat.

  • Stuttgart 21

    • BugFix
    • 3. Oktober 2010 um 16:12

    Ich denke, wenn man es mal ganz nüchtern und ohne Emotionen runterrechnet, haben wir in etwa folgende Situation.
    - Rein rechtlich sind die Arbeiten am Bahnprojekt grundsätzlich zulässig.
    - Somit befindet sich jeder Gegenr automatisch im Unrecht.
    - Um das "Recht" durchzusetzen, darf die Executive eingesetzt werden.
    Unstrittig ist aber auch:
    - Das Projekt wurde mit ganz anderen (finanziellen) Größenordnungen geplant.
    - Mit den jetzigen Kosten liegt ein Verstoß gegen die Ausschreibungsrichtlinien vor (Die Kosten dürfen nach Zuschlag nicht plötzlich unbegrenzt wachsen.).
    - Somit ist wiederum die Rechtmäßigkeit des Projektes in Frage gestellt, da es auf Lügen und Verdummung beruht. Meiner Meinung nach liegt hier ein Gesetzesverstoß vor und das Projekt würde somit illegal sein.

    Und dagegen sollen sich die Bürger nicht zur Wehr setzen dürfen?
    Ich hoffe nur, dass die Bürger in BW bei der nächsten Landtagswahl sich sehr gut an die bürgerfeindliche Politik der jetzigen Regierung erinnern werden und die entsprechende Quittung ausstellen.

  • _IsPressed Denkfehler?

    • BugFix
    • 3. Oktober 2010 um 11:30

    _IsPressed ist immer eine unglückliche Lösung.
    Um das "geschmeidig" :D zu programmieren müßtest du mit Hooks arbeiten. Ob du das aber gebacken bekommst, da habe ich so meine Zweifel. Dazu solltest du schon sehr fest im Sattel sitzen. Zumal das System Fehler im Hook übel nimmt und z.B. einfriert/abschmiert. ;)
    Kannst dir ja mal das Hilfebeispiel zu Hooks reinziehen. Wenn du das problemlos verstehst, kannst du ja versuchen es für dich umzustricken.

  • [Auswertung läuft...] µitLight September/Oktober

    • BugFix
    • 2. Oktober 2010 um 00:45

    Nun habe ich gerade noch ein zweites Control erstellt, will alles abschicken - aaaber: Einsendungen erst ab 11. Oktober.
    Wäre nett, dass du nach dem 11. nochmal trommelst, nicht dass wir vergessen unsere Skripte einzureichen. :D

  • Statische Variablen in Funktionen

    • BugFix
    • 30. September 2010 um 21:18

    Dieses ganze Variablenproblem liegt m.M. zum Teil auch dadrin begründet, dass AutoIt (leider) geradezu zu schlampiger Programmierung verleitet. Ich nehme mich da auch gar nicht von aus: Es ist halt einfach sehr bequem eine Variable dann zu deklarieren, wenn man sie gerade benötigt.
    Früher (seeehr viel früher :D), als ich noch mit z.B. TurboPascal gearbeitet habe, kannte ich es gar nicht anders, als alle Variablen am Programmanfang zu deklarieren. Dies würde ich mir noch für AutoIt wünschen.

  • Kalenderelemente in Abhängigkeit von einander und vom Wochentag einstellen

    • BugFix
    • 30. September 2010 um 18:54
    Zitat von dnm24

    Leider stellt der Code aber nicht am Montag 3 Tage zurück sondern am Dienstag.

    Zitat von dnm24

    Hat sich erledigt
    Funktioniert super.
    Durch das erste Local date wird der @wday ein weniger also muss
    If $wDay = 0 heißen


    Ist auch korrekt, die Funktion _DateToDayOfWeekISO gibt "0" für Montag zurück (laut Hilfe). Aber auf meinem Laptop seltsamerweise 1, deshalb hatte ich dort die 1 verwendet. ;)

    (Setze mal bitte im ersten Beitrag den Präfix auf 'gelöst'.)

  • Statische Variablen in Funktionen

    • BugFix
    • 30. September 2010 um 18:47
    Zitat von Andy

    Nur passt es etwas besser in den Stil, möglichst wenig "Global" zu verwenden (wieso eigentlich? )


    Ein Grund dafür findet sich hier: Globale Variablen - besser vermeiden

  • Kalenderelemente in Abhängigkeit von einander und vom Wochentag einstellen

    • BugFix
    • 28. September 2010 um 18:25
    Zitat von dnm24

    Das heisst wenn Freitag ist muss das zweite Datumselement auf Freitag gesetzt werden.


    Das zweite Datumsfeld ist doch immer einen Tag zurück - ergo sollte es am Montag zurückzeigen auf Freitag. Das macht in meinen Augen Sinn.
    Aber Freitag auf Freitag.. :wacko:

    So sieht es für Mo auf Fr aus. Kannst du bei Bedarf auch abändern.:

    [autoit]

    Func _datumChange()
    If Not BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) Then Return
    Local $date = StringRight(GUICtrlRead($Date1), 10), $add = -1
    Local $wDay = _DateToDayOfWeekISO(StringRight($date,4), StringMid($date,4,2), StringLeft($date,2))
    If $wDay = 1 Then $add = -3
    $date = _DateAdd('D', $add, StringRight($date,4) & '/' & StringMid($date,4,2) & '/' & StringLeft($date,2))
    GUICtrlSetData($Date2, $date)
    EndFunc

    [/autoit]
  • Problem mit warten auf Fenster zu dann weiter

    • BugFix
    • 28. September 2010 um 17:57

    Eine unnütze While-Schleife drin. ProcessWaitClose läßt dass Skript pausieren, bis der Prozeß beendet ist.

    Spoiler anzeigen
    [autoit]

    DriveMapAdd("W:", "C:\temp\proeinstall\")
    If FileExists ('W:\cd1\setup.exe') Then
    run("W:\cd1\setup.exe -uitrail W:\install.txt")
    WinWaitActive("[CLASS:Dialog]","",10)
    $pid = WinGetProcess("[CLASS:Dialog]")
    ProcessWaitClose ($pid)
    DriveMapDel ('W:')
    Else
    MsgBox(0,0,'Verbindung zu \\mech00i\Proeconfig\ProE132x64 nicht möglich')
    EndIf

    [/autoit]
  • Kalenderelemente in Abhängigkeit von einander und vom Wochentag einstellen

    • BugFix
    • 28. September 2010 um 17:50
    Zitat von dnm24

    Bekomme jetzt nur nicht hin wie ich das Datum in @WDAY bekomme, um dann am Montag 3 Tage vorzustellen.


    Soll gleich beim Programmstart das Datum auf Donnerstag gesetzt werden, wenn Montag ist? Und in welchem Datumsfeld?

  • Problem mit warten auf Fenster zu dann weiter

    • BugFix
    • 28. September 2010 um 13:40
    Zitat von Mitnick

    geht auch nicht wahrscheinlich weil "_" ab und an drin ist


    Der Unterstrich wird mit "\w" im Pattern erkannt. Dadran kann es nicht liegen.
    Aber mal ganz anderer Hinweis. Hast du es mal versucht mit Erkennung teilweiser Fenstertext? Also nur den Teil vom Titel verwenden, der immer gleich ist?
    Kannst du mit Opt("WinTitleMatchMode", 2) erreichen.

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™