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

Beiträge von autoBert

  • Anfängerfragen zur GUI(Checkbox,Inputbox und welches Gui Konzept)

    • autoBert
    • 10. April 2009 um 09:51

    Hallo Oscar ,

    ich seh zwar dass du dir die Einstellung merkst,

    Spoiler anzeigen
    [autoit]

    Local $iEventMode = Opt('GUIOnEventMode', 0)

    [/autoit]

    aber schaltet du hiermit auch schon den OnEvenModus aus?
    das du in am Ende wieder auf den Ursprung schaltest hab ich gesehen.


    Mfg (Auto)Bert

  • Anfängerfragen zur GUI(Checkbox,Inputbox und welches Gui Konzept)

    • autoBert
    • 10. April 2009 um 09:36

    Hallo Oscar ,

    gut dass du meine Falsche Wortwahl verbessert hast, bevor zuviele Hilferufe kommen. Noch besser ist dein Beispiel :thumbup:. Werd ich mir gleich in mein Example-Archiv legen.

    mfg (Auto)Bert

  • Anfängerfragen zur GUI(Checkbox,Inputbox und welches Gui Konzept)

    • autoBert
    • 10. April 2009 um 07:44

    Hallo obs,

    zu Frage 1:

    • ist meiner Ansicht nach Geschmackssache, OnEvent erfordert evtl. ein Paar Zeilen mehr zum Tippen ist aber die sauberere Lösung
    • Bei MessageLoop brauchst du die Beispiele nicht an OnEvent anpassen, was aber nicht also schwer ist
    • Mann kann die beiden Stile auch mischen, habs mal in einem Post von Oscar (Mod) gesehen

    zu Frage 2: schau dir falls du dich für den OnEvent-Modus entscheidest mal meinen Post Anwendung mit mehreren Fenstern: Toolwindow aktiv, trotzdem reagiert Hauptfenster auf Anklicken an.

    zu Frage 3: such in der Hilfe nach GuiCtrlGetState zum lesen, bsw. falls du Programmtechnisch Werte setzen willst GuiCtrlSetSTate an

    zu deinen Versuchen mit Variablen, dies ist der richtige Ansatz, poste einfach mal einen Versuch und ich schaus mir bei Gelegenheit an.

    mfg (Auto)Bert

  • .blob file lesen

    • autoBert
    • 10. April 2009 um 06:13

    Hallo moiskid,

    also bei mir klappt das mit SQLight wunderbar,

    so les ich den Text aus:

    Spoiler anzeigen
    [autoit]

    ...
    ;allgemeine Bemerkungen aus der Tabelle Bem einlesen später eventuell auf weitere Tabs erweitern
    $aSql = 'Select * from Bem where AdrNr="'&$iAdrNr&'"'
    If $SqlITE_OK <> _SQlite_Query (-1, $aSql, $hQuery) Then _ ; erstellt das Query mit den Daten
    MsgBox(0,"SQLite Error","Error Code: " & _SQLite_ErrCode() & @CR & "Error Message: " & _SQLite_ErrMsg())
    $j=0
    while _SQLite_FetchData ($hQuery, $aRow ) = $SqlITE_OK ; gibt 1D-Array zurück mit den Daten einer Zeile aus Query
    If $aRow[0]=$iAdrNr Then ; wenn mehere Tabs dann hier anpassen
    if $j =0 Then GUICtrlSetData($hedtBem, $aRow[2])
    ;Else gehört nicht zu dieser Adresse
    EndIf
    $j = $j + 1
    WEnd
    ...

    [/autoit]


    und so sieht die Tabellendefinition aus:

    Spoiler anzeigen
    [autoit]


    ...
    $aSql = "CREATE TABLE [Bem] ([AdrNr] INTEGER NOT NULL,[ID] INTEGER NOT NULL,[LINES] TEXT NULL,PRIMARY KEY ([AdrNr],[ID]))"
    $res = _SQLite_Exec (-1, $aSql)
    ...

    [/autoit]


    EDIT1 ..(eingefügt): und so ist der Abschnitt bei der GUI-Erstellung

    Spoiler anzeigen
    [autoit]


    ...
    $htabItemNotiz = GUICtrlCreateTabItem("Bemerkungen")
    $hedtBem=GUICtrlCreateInput("Erste Zeile"& @CRLF, 2,367,447,102, $ES_AUTOVSCROLL+$WS_VSCROLL+$ES_MULTILINE+$ES_WANTRETURN)
    GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
    GUICtrlCreateTabItem("")
    ...

    [/autoit]


    durch die Eigenschaften $ES_MULTILINE+$ES_WANTRETURN kann ich den ganzen Bemerkungstext auf einmal einlesen, weshalb die Bezeichnung Lines für das Tabellenfeld eher irreführend ist
    .. /EDIT1
    wie du siehst hab ich als Eigenschaft für das Feld Lines die Eigenschaft TEXT ausgewählt, das dürfte für deine Zwecke völli ausreichen, denn du willst ja Text auslesen.

    mfg (Auto)Bert

  • Zeit Differenz berechnen

    • autoBert
    • 10. April 2009 um 00:42

    Hallo Tom Tom,

    nimm die Routine von BugFix, die berücksichtigt sogar die Schaltjahre :thumbup: beim berechnen

    mfg (Auto)Bert

  • Parameter bei hotkeyset oder GUIctrlsetonevent() mitgeben???

    • autoBert
    • 9. April 2009 um 22:21

    hallo @night,

    in aus obigem Skript erkennen kann hast du meinen Lösungsvorschlag zu deinem Post

    mehrere Fenster mit gui^^ nicht richtig verstanden hast. Schau dir das nochmal genau an. Nachdem ich dort gesehen hatte, dass du Arrays vewendest hab ich dies auch auf die Spieler angewandt und nur die Daten der Steuerelemente (Orginal 1 Label für Stadtinfo, von mir eingefügt Label für Anzeige des aktuellen Spielers und einen Button zum Spieler wechseln) nach dem Clicken des Buttons ausgetauscht. Dies geschieht anhand der Globalen Variable $iSpieler wobei ich mich gewundert habe, dass du 3 Spieler aber 21 Städte hast.
    Durch die Arrays ist es nähmlich nicht nötig mehre Fenster aufzubauen, es reicht wenn man die Daten über GUICtrlSetData austauscht.
    Und wenn du das Label info aufteilst für jede Info eines mit Eingabefeld (oder anderem) dahinter, kannst über das gleiche Fenster auch Eingaben vonehmen, und wenn du die bei bestimmten Bedingungen sperren willst so ist auch das möglich aber das hat dir Prizma ja schon gepostet.

    Es kann aber auch sein ich habe dein Konzept nicht erkannt habe, dazu hab ich im Forum schon öfters gelesen

    Zitat

    Meine Glaskugel ist defekt (oder so ähnlich).



    Deshalb erklär mal etwas genauer wie du dir dein Spiel vorstellst also Aufbau der GUI etc., damit ich weis in welche Richtung (Programmtechnisch) das ganze gehen soll und in wie weit ich dir dazu Tipps geben kann.


    mfg (Auto)Bert

  • mehrere Fenster mit gui^^

    • autoBert
    • 9. April 2009 um 20:19

    Hallo @night@,

    ich würde dafür nur einmal die GUI aufbauen und dann die Infos zur Stadt ändern z.B. so

    Spoiler anzeigen
    [autoit]


    #include <GDIPlus.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus
    Opt("MustDeclareVars", 1) ; Variablen müssen deklariert werden (TIPPFEHLER werden dadurch beim Testen schneller bemerkt)
    Global $asSpieler[3] ;Array für Strings der Spielernammen
    Global $iSpieler ;Integer für Anzahl der Spieler
    Global $hGui ;Gui
    Global $hlblSpieler ;Label mit dem Spielernamen
    Global $hlblinfo ;Label mit der Info zu Stadt
    Global $hbtnWeiter ;Button nächster Spieler
    $asSpieler[0]="Player1"
    $asSpieler[1]="Player2"
    $asSpieler[2]="Player3"

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

    ;-------------------------------------------------------------------- deklaration der standardvariablen
    Global $einwohneranz[21], $minenstufe[21], $kirchenstufe[21], $militstufe[21], $tavernenstufe[21], $anzk[21], $anzrit[21], $anzkreuzrit[21]
    Global $beliebtheit[21], $steuerstufe[21]
    ;-------------------------------------------------------------------------------
    ;Intalisierung der stanardvariablen
    #Region
    For $i = 0 To 20
    $einwohneranz[$i] = 1000
    $minenstufe[$i] = 1
    $kirchenstufe[$i] = 1
    $militstufe[$i] = 1
    $tavernenstufe[$i] = 1
    $anzk[$i] = 0
    $anzrit[$i] = 0
    $anzkreuzrit[$i] = 0
    $beliebtheit[$i] = 90
    $steuerstufe[$i] = 1
    Next
    #EndRegion

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

    _Main()

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

    Func _Main()
    $hGui=GUICreate("DEIN GAMENAME", @desktopwidth-100, @desktopheight-100)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_exitMain')
    $hlblSpieler=GUICtrlCreateLabel("Spieler", 20,10,@DesktopWidth-120,20)
    $hlblinfo = GUICtrlCreateLabel("Städteinfo", 20,40,@DesktopWidth-120,@DesktopHeight-180)
    $hbtnWeiter = GUICtrlCreateButton("nächster Spieler",@DesktopWidth-200,@DesktopHeight-150,90,20)
    GUIctrlsetonevent($hbtnWeiter, "_naechster")
    GUISetState(@SW_SHOW,$hGui)
    $iSpieler=-1
    _naechster()
    While $iSpieler<1000 ;also immer
    Sleep(1000)
    WEnd
    EndFunc

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

    Func _naechster()
    $iSpieler = $iSpieler+1
    if $iSpieler >2 Then $iSpieler=0
    ConsoleWrite($asSpieler[$iSpieler])
    GUICtrlSetData($hlblSpieler,$asSpieler[$iSpieler])
    GUICtrlSetData($hlblInfo,"Stadtinformationen: " & @crlf & "Einwohneranzahl:" & $einwohneranz[$iSpieler] & @crlf & "Beliebtheit: " & $beliebtheit[$iSpieler] & @crlf & "Kämpfer: " & $anzk[$iSpieler] & @crlf & "Ritter: " & $anzrit[$iSpieler] & @crlf & "Kreuzritter: " & $anzkreuzrit[$iSpieler] & @crlf & "Steuereinnahmen: " & $steuerstufe[$iSpieler] * $einwohneranz[$iSpieler])
    EndFunc

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

    Func _exitMain()
    Exit
    EndFunc
    #cs Ab hier kannst du alles löschen
    spieler11()
    Func vorschau()
    ;----------------------------- Vorschau anfang FUNKT NOCH NICHT^^
    ;$vorschau = GUICreate("Game", @desktopwidth, @desktopheight, 0, 0, $WS_POPUP, $WS_EX_TRANSPARENT)
    ;GUISetState()
    ;WinSetTrans ($vorschau, "", 0) ;So mach ich das Fentser transparent
    ;Sleep(2000)
    ;$vorschaupic = GUICtrlCreatePic("C:\Dokumente und Einstellungen\Clemens\Desktop\Autoit\Game\nightentertainment.jpg", 300, 200, 550, 500)
    ;Sleep(2000)
    ;spieler11()
    ;------------------------Vorschau ende
    EndFunc
    Func spieler11()
    GUIcreate($p1name & "s Zug")
    $info = GUICtrlCreateLabel("Stadtinformationen: " & @crlf & "Einwohneranzahl:" & $einwohneranz[0] & @crlf & "Beliebtheit: " & $beliebtheit[0] & @crlf & "Kämpfer: " & $anzk[0] & @crlf & "Ritter: " & $anzrit[0] & @crlf & "Kreuzritter: " & $anzkreuzrit[0] & @crlf & "Steuereinnahmen: " & $steuerstufe[0] * $einwohneranz[0], 20, 20)
    GUISetState()
    $naechstersp = GUIctrlcreatebutton("Nächste Stadt!", 50, 300)
    GUIctrlsetonevent($naechstersp, "spieler12")
    While 1
    Sleep(1000)
    Wend
    endfunc
    func spieler12()
    GUIDelete()
    GUIcreate($p1name & "s Zug")
    Guisetstate()
    $info = GUICtrlCreateLabel("Stadtinformationen: " & @crlf & "Einwohneranzahl:" & $einwohneranz[1] & @crlf & "Beliebtheit: " & $beliebtheit[1] & @crlf & "Kämpfer: " & $anzk[1] & @crlf & "Ritter: " & $anzrit[1] & @crlf & "Kreuzritter: " & $anzkreuzrit[1] & @crlf & "Steuereinnahmen: " & $steuerstufe[1] * $einwohneranz[1], 20, 20)
    $naechstersp1 = GUIctrlcreatebutton("Nächste Stadt!", 50, 300)
    GUIctrlsetonevent($naechstersp1, "spieler13")
    While 1
    Sleep(1000)
    Wend
    Endfunc

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

    Func spieler13()
    GUIdelete()
    GUIcreate($p1name & "s Zug")
    Guisetstate()
    $info = GUICtrlCreateLabel("Stadtinformationen: " & @crlf & "Einwohneranzahl:" & $einwohneranz[2] & @crlf & "Beliebtheit: " & $beliebtheit[2] & @crlf & "Kämpfer: " & $anzk[2] & @crlf & "Ritter: " & $anzrit[2] & @crlf & "Kreuzritter: " & $anzkreuzrit[2] & @crlf & "Steuereinnahmen: " & $steuerstufe[2] * $einwohneranz[2], 20, 20)
    $naechstersp2 = Guictrlcreatebutton("Nächste Stadt!", 50, 300)
    GUIctrlsetonevent($naechstersp2, "spieler21")
    While 1
    Sleep(1000)
    Wend
    endfunc

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

    Func spieler21()
    Guidelete()
    Guicreate($p2name & "s Zug")
    $info = GUICtrlCreateLabel("Stadtinformationen: " & @crlf & "Einwohneranzahl:" & $einwohneranz[3] & @crlf & "Beliebtheit: " & $beliebtheit[3] & @crlf & "Kämpfer: " & $anzk[3] & @crlf & "Ritter: " & $anzrit[3] & @crlf & "Kreuzritter: " & $anzkreuzrit[3] & @crlf & "Steuereinnahmen: " & $steuerstufe[3] * $einwohneranz[3], 20, 20)
    $naechstersp3 = GUIctrlcreatebutton("Nächste Stadt!", 50, 300)
    GUIctrlsetonevent($naechstersp3, "close")
    While 1
    Sleep(1000)
    WEnd
    endfunc

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

    Func close()
    Exit ;<----hier hast du beim ersten Aufruf von CLOSE dein ganzes Programm geschlossen
    endfunc
    #ce

    [/autoit]

    deine alten Scriptzeilen hab ich noch drin gelassen ausserdem würde ich das Label für die Info in einzelne aufteilen, funktioniert aber auch so

    viel Spass beim weiteren Ausbau des Spiels

    mfg (Auto)Bert

  • Quick Downloader v1.6

    • autoBert
    • 9. April 2009 um 17:21

    Hallo Team2Way,

    Du schreibst,

    Zitat

    was is nu wo war dein fehler

    Meine Aussagen in #30 waren

    Zitat

    den ScreenShot elgoog.jpg in Post #26 zeigt an, was dein Programm zu laden versuchte. Die Bildschirmdarstellung ist gespiegelt. Na ja FireFox hat kurz danach abgebrochen,

    Anstatt mich auf eventuell nötige Softwareeinstellungen aufmerksam zu machen bzw. zu hinterfragen schreibst du nur pauschal

    Zitat


    du musst aber schon zugeben, dass du nie auf den punkt kommst...viel geschrieben und nichts damit ausgesagt und das regt einen halt auf...
    jetzt auch wieder...was is nu wo war dein fehler und was sollen die virenuntersuchungen, hab das nur mit autoit gecodet.

    Die Aussagen in #26 und #30 sollten ausreichen, der Zusatz in #32 ist doch wohl auch eindeutig:

    Zitat


    Nach diesem Post hab ich vorsichtshalber mal FreeGoogleDownloader bei VirusTotal.com auf Viren untersuchen lassen:

    Ergebnis:

    Antivirus Version letzte aktualisierung Ergebnis
    ClamAV 0.94.1 2009.04.09 W32.Autoit.Obfus-3
    NOD32 3995 2009.04.08 Win32/Packed.Autoit.Gen
    VBA32 3.12.10.2 2009.04.09 Trojan.Autoit.FINT

    Sie sagt, dass 3 Antivirenhersteller, den FreeGoogleDownloader als Virenvedächtig einstufen. Ich hab dir das gemeldet. Nun liegt es an dir diese Hersteller und mich zu überzeugen, dass es kein Virus ist.
    Mich könntest du damit überzeugen, dass du entweder

    • den Source veröffentlichst oder mir als PN sendest, damit ich schauen kann was du in diesem Programm für Funktionen verwendest.
    • mir melden kannst, dass die 3 Hersteller eine Falschmeldung hatten, dass heisst sie haben ihr Ergbnis zurückgenommen

    Du schreibst

    Zitat

    hab das nur mit autoit gecodet

    Wie wenn man mit AutoIT keinen Virus oder Fehlfunktionen (die eventuell as solcher eingestuft werden) programmieren könnte. Commander21 hat in #20 ja auch schon einen Verdacht bei deinem Quick Downloader v1.6 geäußert und in #24 geschrieben:

    Zitat

    Sry, aber bevor ich net weis, was auf meinem PC installiert wird und zu was es gut ist, werd ich das Prog wohl löschen.

    Bleibt nur zu hoffen, das man bald zur einsicht kommt und doch mal das script veröffnetlicht...
    Klar sachen wie z.B. FileInstall, ( denke mal das dass verwendet wurde ) setzen eine .exe vorraus, aber das script selbst, könnte mal ja noch dazu tun..

    Ich denke das es nun an dir liegt den Verdacht von 3 Antivirenhersteller, Commander21 und mir auszuräumen

    mfg (Auto)Bert

  • µit - März

    • autoBert
    • 9. April 2009 um 09:59

    Hallo @ Andy,

    dieses Sudoku wird laut dem Grader auf Sudoku Solver by Andrew Steward mit Extreme Grade Overall Score 847 bewertet. Die Solution-Count-Funktion auf der Webseite bricht ab:

    Zitat


    All Solutions to a Sudoku
    Timed Out!

    There are simply too few clues for a solution count to be able to return a value in a reasonable amount of time. This may or may not be a valid sudoku with a single solution

    Und ich dachte, dass ich mit diesem mühsam erstellten Sudoku schon ein schweres geschafft hätte.

    100020008020004070003500600005400000300000407002006010004305700030000080000060009

    Es wird mit Diabolic Grade Overall Score 489 bewertet. Die Solution-Count-Funktion meldet nach 389779 Rekursionen 1 mögliche Lösung

    Du kannst ja mal deinen Solver daran testen.

    Viel Spaß damit wünscht dir (Auto)Bert

    Ps. ein leeres Sudoku bricht die Solution-Count-Funktion auch ab

    Zitat


    All Solutions to a Sudoku
    There are at least 500 solutions. Stopped computing beyond 500.
    (recursed 11962 times)

  • Quick Downloader v1.6

    • autoBert
    • 9. April 2009 um 01:21
    Zitat von team2way

    du hast immer noch nicht richtig den fehler beschrieben...ich weiß nicht was du hast, aber um den brei reden kannst du gut!


    bist du so ein boon das du elgoog nicht kennst (sry4t). zunächst mal muss ich sagen, dass ich für die inhalte von den links nicht verantwortlich bin. bei den links handelt es sich um alternative googleseiten - elgoog ist eine davon. der sinn von elgoog ist es alles spiegelverkehrt darzustellen (wie der name schon sagt!). diese seite ist vollkommen ungefährlich und ich weiß nicht was da bei dir passiert ist. hab die seiten mit ie, ff und safari getestet und da liefs einwandfrei. liegt vllt an deinem pc ^^
    also ich weiß nicht was dein problem ist - du kannst es ja noch mal genauer beschreiben, aber an meinem programm liegt es nach deiner schliderung nicht.

    cya hfgl nl2p

    Nach diesem Post hab ich vorsichtshalber mal FreeGoogleDownloader bei VirusTotal.com auf Viren untersuchen lassen:

    Ergebnis:

    Antivirus Version letzte aktualisierung Ergebnis
    ClamAV 0.94.1 2009.04.09 W32.Autoit.Obfus-3
    NOD32 3995 2009.04.08 Win32/Packed.Autoit.Gen
    VBA32 3.12.10.2 2009.04.09 Trojan.Autoit.FINT

    Auch solltest du dich bei deinen Posts an die Forenregeln halten, der oben Zitierte ist meines Erachtens nach schon über der Grenze.

    trotzdem mfg (Auto)Bert

  • Quick Downloader v1.6

    • autoBert
    • 8. April 2009 um 22:07

    Hallo Team2Way,

    den ScreenShot elgoog.jpg in Post #26 zeigt an, was dein Programm zu laden versuchte. Die Bildschirmdarstellung ist gespiegelt. Na ja FireFox hat kurz danach abgebrochen, sonst hätte ich vielleicht noch versucht Spiegelschrift zu lesen und mir dabei die Augen ruiniert.

    Komm aber jetzt bitte nicht mit dem Wunsch ich soll versuchen den Fehler zu reproduzieren, der 1. Versuch dieses Programm zu testen hat mir gründlich die Lust darauf verdorben. Ich denke das es anderen, die es downgeloaded haben genauso ergeht, deshalb sollte man (und frau) seine Programme vorher besser testen. Auch Funktionen, die man nur zum Spaß hinzu gefügt hat gehören zum Programm und wenn sie dessen Funktion beeinträchtigen sollte man sie besser wieder entfernen bevor die möglichen Nutzer entnervt aufgeben. Denn ob ein so abgeschreckter Nutzer deine anderen Programme downloaded ist sehr fraglich.

    Mein Post ist nur eine Anregung, worüber du dir Gedanken machen kannst.

    mfg (Auto)Bert

  • Quick Downloader v1.6

    • autoBert
    • 8. April 2009 um 17:54

    Hallo Team2Way,

    schau dir doch einfach die beiden Screenshots an, (mit Doppelklick öffnen) ich denke sie erklären alles

    mfg (Auto)Bert

  • Quick Downloader v1.6

    • autoBert
    • 8. April 2009 um 17:13
    Zitat von team2way

    Hier ist mein "Qick Downloader v1.6.1"

    ...


    Wenn ihr noch Verbesserungsvorschläge oder Anmerkungen habt einfach hier posten^^
    Also dann HFGL team2way

    Download

    Hallo Team2Way,

    1. Verbesserungsvorschlag: Dein Link sollte auch funktionieren, es kommt nur die Felermeldungssite

    2. Anmerkung: Nachdem ich schonmal auf deiner Seite war, hab ich mir das Programm Free Google Downloader downgeloaded. Ich wollte doch mal schauen was du so drauf hast. Leider kam beim 1. Versuch gleich eine Fehlermeldung.

    Hier die dazu gehörigen Screenshots:

    Dein Programm nach Designauswahl:

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

    Die aufgerufene Seite kurz vor dem Abbrechen des Ladens:

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

    Ich hoffe für dich, dass dein Quickdownloader 1.6 dieses Stadium schon überwunden hat, konnte ihn aber leider nicht downloaden, und dass dir die beiden Screenshots helfen den Fehler in dem anderen Programm zu beseitigen.

    mfg (Auto)Bert

  • Videos von YouTube mit AutoIt?

    • autoBert
    • 8. April 2009 um 09:46

    Hallo PokerFace,

    hier noch ein Link zu FreeYouTubeDownloader

    schau dir doch mal an wie er es macht (Batchverarbeitung)

    mfg (Auto)Bert

  • Quick Downloader v1.6

    • autoBert
    • 8. April 2009 um 07:33

    Hallo Team2Way,

    Zitat von team2way

    schade das sich hier keiner richtig mit dem programm befasst hat...

    Das liegt wohl daran das du es im falschen Forum eingestellt hast, die DataBase (neu?) wäre auch nicht schlecht dafür

    mfg (Auto)Bert

  • TreeView-(Un)Checked-Example

    • autoBert
    • 8. April 2009 um 07:05

    Hallo Oscar ,

    versuche gerade dein Beispiel auf 3-DState zu erweitern, beim Durchtesten deines Skriptes ist mir aufgefallen, daß man es an 2 Stellen optimieren könnte:

    Spoiler anzeigen
    [autoit]


    ; Überprüft (rekursiv) ob alle Sibling-Items angehakt sind und setzt,
    ;wenn zutreffend, den Haken beim Parent-Item
    ;wenn nicht wird abgebrochen und mit _SetParentItemsUnchecked (rekursiv) alle Parent-Haken entfernt
    Func _VerifySiblingItems($hTreeView, $hItem)
    Local $hTmp, $hSave = $hItem, $iCount = _GUICtrlTreeView_GetSiblingCount($hTreeView, $hItem)
    Do
    If _GUICtrlTreeView_GetChecked($hTreeView, $hItem) Then
    $hItem = _GUICtrlTreeView_GetNextSibling($hTreeView, $hItem)
    $iCount -= 1
    Else
    $iCount = $iCount *-1
    EndIf
    Until Not ($hItem and $iCount>0)
    if $iCount >0 Then
    $hItem = $hSave
    Do
    If _GUICtrlTreeView_GetChecked($hTreeView, $hItem) Then
    $iCount -= 1
    $hItem = _GUICtrlTreeView_GetPrevSibling($hTreeView, $hItem)
    Else
    $iCount = $iCount *-1
    EndIf
    Until Not ($hItem and $iCount>0)
    EndIf
    ;1. Änderung bishierher kein merklicher Vorteil
    If Not $iCount Then
    Local $hParent = _GUICtrlTreeView_GetParentHandle($hTreeView, $hSave)
    If $hParent Then
    _GUICtrlTreeView_SetChecked($hTreeView, $hParent)
    $checked = _GUICtrlTreeView_GetChecked($hTreeView, $hParent)
    If $checked Then ;2. Änderung dies bringt in großen Bäumen mit vielen unchecked(en) Zweigen ca. Faktor 20
    _VerifySiblingItems($hTreeView, $hParent)
    Else
    _SetParentItemsUnchecked($hTreeView, _GUICtrlTreeView_GetLastChild($hTreeView,_GUICtrlTreeView_GetParentHandle($hTreeView,$hParent)))
    EndIf
    EndIf
    EndIf
    EndFunc

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

    Jetzt hoffe ich nur noch, daß es bei mir mit dem Umsetzen auch klappt

    mfg (Auto)Bert

  • Kurze Frage: Finden von Einträgen in einer Liste

    • autoBert
    • 7. April 2009 um 13:34

    Hallo Commander21,

    die Funktion hat noch weitere Parameter

    _GUICtrlListBox_FindInText($hWnd, $sText[, $iStart = -1[, $fWrapOK = True]])

    wenn du $iStart auf den Wert des zuletzt gefundenen setzt, wird der nächste gültige Eintrag gesucht.

    mfg (Auto)Bert

  • Anwendung mit mehreren Fenstern: Toolwindow aktiv, trotzdem reagiert Hauptfenster auf Anklicken

    • autoBert
    • 6. April 2009 um 21:24

    Hallo zusammen,

    ich bin immer noch an meiner Adressenverwaltung, habe derzeit folgendes Problem: wie verhindere ich bei einem aktiven Toolwindow, dass das Hauptfenster anklickbar ist. Dadurch kommt nämlich dieses in den Vordergrund und mein Toolwindow veschwindet. Im Moment behelfe ich mich mit einem Menüeintrag der das letzte Toolwindow bei Bedarf wieder restored.

    Die Toolwindows hab ich so definiert:

    Spoiler anzeigen
    [autoit]


    $hfrmConf = GUICreate($sTitelConf, 350, 200, 355, 355, $DS_MODALFRAME +$DS_SETFOREGROUND + $WS_CAPTION + $WS_SYSMENU + $WS_SIZEBOX, $WS_EX_TOOLWINDOW)

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

    Also obwohl ich mit $DS_MODALFRAME + $DS_SETFOREGROUND erklärt habe ist es weder modal, noch bleibt es vor dem Hauptfenster.

    und hier ein Beispielskript in dem man das Problem nachvollziehen kann

    Spoiler anzeigen
    [autoit]


    ; *** Start added by AutoIt3Wrapper ***
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <StaticConstants.au3>
    #include <TreeViewConstants.au3>
    #include <WindowsConstants.au3>
    ; *** End added by AutoIt3Wrapper ***
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Add_Constants=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <GUIConstantsEx.au3>
    #Include <Misc.au3>

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

    Opt('GUIOnEventMode', 1)
    Opt('MUSTDECLAREVARS' ,1)

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

    Global $sTitel = 'Test mehrerer Fenster mit OnEvent'
    Global $sTitelMain = $sTitel & ' Adressstammdaten'
    Global $sTitelDate = $sTitel & ' wichtige Daten'
    Global $sTitelKom = $sTitel & ' Kontaktmöglichkeiten'
    Global $sTitelConf = $sTitel & ' Einstellungen'

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

    Global $out
    If _Singleton($sTitel, 1) = 0 Then
    MsgBox(64, $sTitel, $sTitel & ' ist bereits gestartet',5)
    WinActivate($sTitelMain)
    If _Singleton($sTitelConf,1) Then
    ;WinSetState($sTitelMain,"",@SW_RESTORE)
    ;WinSetState($sTitelConf,"",@SW_RESTORE)
    WinActivate($sTitelConf)
    EndIf
    If _Singleton($sTitelKom,1) Then
    ;WinSetState($sTitelMain,"",@SW_RESTORE)
    ;WinSetState($sTitelKom,"",@SW_RESTORE)
    WinActivate($sTitelKom)
    EndIf
    If _Singleton($sTitelDate,1) Then
    ;WinSetState($sTitelMain,"",@SW_RESTORE)
    ;WinSetState($sTitelDate,"",@SW_RESTORE)
    WinActivate($sTitelDate)
    EndIf
    Exit
    EndIf

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

    Global $hfrmMain ;Hauptfenster Adressstammdaten wird immer sofort erzeugt
    Global $hfrmConf=0 ;Konfigurationsfenster nur bei Bedarf 1mal erzeugt
    Global $hfrmDate=0 ;Fenster wichtige Daten " zum Bearbeiten der Listview
    Global $hfrmKom=0 ;Fenster Kontaktmöglichkeiten
    Global $hfrmAkt=0 ;aktuell geöffnetes Fenster

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

    ;Steuerelemente von $hfrmMain
    Global $hmnuitmFile, $hmnuitmExit, $hmnuitmWindow, $hmnuitmRestore, $nMsg
    Global $hbtnDate, $hbtnKom, $hbtnConf ;Buttons für Zusatzfenster
    Global $bbtnDate, $bbtnKom, $bbtnConf
    Global $hsavbtnDate, $hsavbtnKom ;Sicherung der Buttonsdaten
    Global $hdsicoFirst, $hdsicoPrevious, $hdsicoNext, $hdsicoLast
    Global $hdsicoEdit, $hdsicoInsert, $hdsicoDelete, $hdsicoSave, $hdsicoCancel
    Global $hicoDate, $hicoKom, $hicoMember ;Icons (analog zu Buttons)
    Global $hedtSuch, $hgrpMember, $hedtMember[12], $hedtAnschrift[4] ;Eingabefelder, TABS, List- und TreeViews
    Global $hedtAnrede[2], $hedtFunktion, $hedtBei, $hbtnHP, $hedtHomePage
    Global $hlstvwDaten, $hlstvwKom, $htab, $htab2, $htabItemNotiz
    Global $hedtBem, $htabItemArchiv, $hlstvwArchiv, $hTreeView
    Global $hsplitter1, $hsplitter2 ;evtl. fürs Resizing
    Global $dummy
    Global $iAdrNr ;aktuell angezeigte Adresse für Verknüpfung Master- Detail
    ;jeweils vor Änderungen also beim Einlesen aus DB
    Global $hTreeView2

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

    _Main()

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

    Func _Main()
    Local $iLeft, $iWith, $iNr, $hLine1, $aText, $hImage
    $hfrmMain = GUICreate($sTitelMain, 800, 540, -1, -1, $WS_SIZEBOX + $WS_SYSMENU +$WS_MAXIMIZEBOX +$WS_MINIMIZEBOX)
    $hfrmAkt = $hfrmMain ;zum vergleichen merken
    GUISetOnEvent($GUI_EVENT_CLOSE, '_exitMain')

    $hmnuitmFile = GUICtrlCreateMenu("&Datei")
    $hmnuitmWindow = GUICtrlCreateMenu("&Fenster")
    $hmnuitmExit = GUICtrlCreateMenuItem("Be&enden", $hmnuitmFile)
    GUICtrlSetOnEvent(-1, '_exitMain')
    $hmnuitmRestore = GUICtrlCreateMenuItem("letztes aktives Fenster &restaurieren", $hmnuitmWindow)
    GUICtrlSetOnEvent(-1, '_gotoLastActiveWindow')

    $iNr = -1
    $iLeft = 2
    $iWith = 120

    $iNr = $iNr + 1
    ;$iLeft = $iLeft + $iWith
    $hicoDate = GUICtrlCreateIcon(@ScriptDir & '\edtDateE.ico', $iNr, $iLeft+4, 6, 48, 48)
    GUICtrlSetState(-1, $GUI_DISABLE) ;wichtig damit der darüberliegende Button gedrückt werden kann
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    $hbtnDate = GUICtrlCreateButton('&wichtige Daten', $iLeft, 2, $iWith, 70, BitOR($WS_CLIPSIBLINGS, $BS_BOTTOM))
    GUICtrlSetOnEvent(-1, '_edtDate')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)

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

    $iNr = $iNr + 1
    $iLeft = $iLeft + $iWith
    ;$iWith = 56
    $hicoKom = GUICtrlCreateIcon(@ScriptDir & '\edtComE.ico', $iNr, $iLeft+4, 6, 48, 48)
    GUICtrlSetState(-1, $GUI_DISABLE) ;wichtig damit der darüberliegende Button gedrückt werden kann
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    $hbtnKom = GUICtrlCreateButton('Kontakt&möglichkeiten', $iLeft, 2, $iWith, 70, BitOR($WS_CLIPSIBLINGS, $BS_BOTTOM))
    ;GUICtrlSetOnEvent(-1, '_edtKom')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)

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

    $iNr = $iNr + 1
    $iLeft = $iLeft + $iWith
    ;$iWith = 56
    $hicoKom = GUICtrlCreateIcon(@ScriptDir & '\edtGrpE.ico', $iNr, $iLeft+4, 6, 48, 48)
    GUICtrlSetState(-1, $GUI_DISABLE) ;wichtig damit der darüberliegende Button gedrückt werden kann
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    $hbtnConf = GUICtrlCreateButton('&Einstellungen', $iLeft, 2, $iWith, 70, BitOR($WS_CLIPSIBLINGS, $BS_BOTTOM))
    GUICtrlSetOnEvent(-1, '_edtConf')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)

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

    $hLine1 = GUICtrlCreateGraphic(2, 73, 798, 2, $SS_GRAYFRAME)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT +$GUI_DOCKRIGHT + $GUI_DOCKTOP)

    GUICtrlCreateLabel("&Kurzbezeichnung", 8, 87,140,26)
    GUICtrlSetFont(-1,14)
    GUICtrlSetOnEvent(-1, '_goToSuch')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    $hedtSuch = GUICtrlCreateInput("", 150, 87, 225, 26, $ES_UPPERCASE)
    GUICtrlSetFont(-1,14)
    ;GUICtrlSetState(-1, $GUI_FOCUS)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    GUICtrlSetLimit(-1,25) ; um die Eingabe auf 25 Zeichen zu begrenzen

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

    $hgrpMember=GUICtrlCreateGroup("gehört zu &Gruppen:",452, 77,342,40) ; Gruppe MEMBER beginnen
    GUICtrlSetOnEvent(-1, '_goToMember')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    For $i = 0 to 11
    $hedtMember[$i] = GUICtrlCreateInput("", 457+$i*28, 93, 24, 18, $ES_NUMBER)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    GUICtrlSetLimit(-1,3) ; um die Eingabe auf 3 Zeichen zu begrenzen
    Next
    GUICtrlCreateGroup ("",-99,-99,1,1) ; Gruppe MEMBER schliessen

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

    GUICtrlCreateGroup("&Anschrift:",2, 115,265,100) ; Gruppe ANSCHRIFT beginnen
    GUICtrlSetOnEvent(-1, '_goToAdress')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    For $i = 0 to 3
    Select
    Case $i =0
    $aText = "Name 1:"
    Case $i =1
    $aText = "Name 2:"
    Case $i =2
    $aText = "Strasse:"
    Case $i =3
    $aText = "PLZ/Ort:"
    EndSelect
    GUICtrlCreateLabel($aText, 8, 130+$i*20)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    $hedtAnschrift[$i] = GUICtrlCreateInput("", 65, 130+$i*20, 200, 18)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    GUICtrlSetLimit(-1,30) ; um die Eingabe auf 30 Zeichen zu begrenzen
    Next
    GUICtrlCreateGroup ("",-99,-99,1,1) ; Gruppe ANSCHRIFT schliessen

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

    GUICtrlCreateLabel("Funktion:", 8, 225)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    $hedtFunktion = GUICtrlCreateInput("", 65, 225, 200, 18)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    GUICtrlSetLimit(-1,30) ; um die Eingabe auf 30 Zeichen zu begrenzen
    GUICtrlCreateLabel("bei:", 8, 245)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    $hedtBei = GUICtrlCreateInput("", 65, 245, 200, 18)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    GUICtrlSetLimit(-1,30) ; um die Eingabe auf 30 Zeichen zu begrenzen

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

    GUICtrlCreateLabel("Anrede &1:", 8, 270)
    GUICtrlSetOnEvent(-1, '_goToAnrede1')
    ;GUICtrlSetColor(-1,
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    $hedtAnrede[0] = GUICtrlCreateInput("", 65, 270, 200, 18)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    GUICtrlSetLimit(-1,30) ; um die Eingabe auf 30 Zeichen zu begrenzen
    GUICtrlCreateLabel("Anrede &2:", 8, 290)
    GUICtrlSetOnEvent(-1, '_goToAnrede2')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    $hedtAnrede[1] = GUICtrlCreateInput("", 65, 290, 200, 18)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    GUICtrlSetLimit(-1,30) ; um die Eingabe auf 30 Zeichen zu begrenzen

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

    ;GUICtrlCreateLabel("HomePage:", 8, 315)
    $hbtnHP=GUICtrlCreateButton('Home&Page', 4, 315, 60, 20, BitOR($WS_CLIPSIBLINGS, $BS_BOTTOM))
    GUICtrlSetOnEvent(-1, '_goToHomePage')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    $hedtHomePage = GUICtrlCreateInput("", 65, 315, 200, 18)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    GUICtrlSetLimit(-1,64) ; um die Eingabe auf 64 Zeichen zu begrenzen

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

    $hsplitter1 = GUICtrlCreateGraphic(270, 125, 4, 205, $SS_BLACKRECT)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT +$GUI_DOCKSIZE + $GUI_DOCKTOP)

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

    $hlstvwDaten=GUICtrlCreateListView("Ereignis | Datum | Bemerkung", 280, 120, 165, 105)
    GUICtrlSetResizing(-1, $GUI_DOCKHEIGHT + $GUI_DOCKLEFT + $GUI_DOCKTOP+$GUI_DOCKRIGHT)
    GUICtrlCreateListViewItem("Geburt|29.02.1992",$hlstvwDaten)
    GUICtrlCreateListViewItem("Eintritt JRK|01.01.1997",$hlstvwDaten)
    $hlstvwKom=GUICtrlCreateListView("Kom-Art |Nummer", 280, 230, 165, 105)
    GUICtrlSetResizing(-1, $GUI_DOCKHEIGHT + $GUI_DOCKLEFT + $GUI_DOCKTOP+$GUI_DOCKRIGHT)
    ; GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKTOP +$GUI_DOCKRIGHT)
    GUICtrlCreateListViewItem("Festnetz|09341/47118899",$hlstvwKom)
    GUICtrlCreateListViewItem("Mobil|0172/47118899",$hlstvwKom)
    GUICtrlCreateListViewItem("Firma|09341/0815",$hlstvwKom)
    GUICtrlCreateListViewItem("Eltern|09341/18899",$hlstvwKom)
    GUICtrlCreateListViewItem("EMAIL|NoReply@NoMail.please",$hlstvwKom)
    GUICtrlCreateListViewItem("EMAIL 2|Urgent@HotMail.Net",$hlstvwKom)

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

    $hsplitter2 = GUICtrlCreateGraphic(2, 338, 448, 4, $SS_BLACKRECT)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKTOP+ $GUI_DOCKHEIGHT)

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

    $htab=GUICtrlCreateTab(2,345,450,127)
    GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
    $htabItemNotiz = GUICtrlCreateTabItem("Bemerkungen")
    $hedtBem=GUICtrlCreateInput("Erste Zeile"& @CRLF, 2,367,447,102, $ES_AUTOVSCROLL+$WS_VSCROLL+$ES_MULTILINE+$ES_WANTRETURN)
    GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
    $htabItemArchiv = GUICtrlCreateTabItem("Briefe EMails etc.")
    $hlstvwArchiv=GUICtrlCreateListView("Art |Datum |Anlass |Serienfelder", 2, 367, 447, 102)
    GUICtrlSetResizing(-1, $GUI_DOCKHEIGHT + $GUI_DOCKLEFT + $GUI_DOCKTOP+$GUI_DOCKRIGHT)
    ; GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKTOP +$GUI_DOCKRIGHT)
    GUICtrlCreateTabItem("")
    $dummy=GUICtrlCreateDummy()
    GUICtrlSetState($dummy,$GUI_FOCUS)
    $hTreeView = GUICtrlCreateTreeView(452,120, 345, 345, $GUI_SS_DEFAULT_TREEVIEW,$WS_EX_CLIENTEDGE)
    ;GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
    GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKTOP +$GUI_DOCKBOTTOM+$GUI_DOCKWIDTH)
    GUISetState(@SW_SHOW,$hfrmMain)

    $iNr = 0

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

    While 1
    Sleep(1000)
    WEnd
    EndFunc

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

    Func _exitMain()
    ; Switch @GUI_WINHANDLE
    ; Case $hfrmMain
    ; _SQLite_Close()
    ; _SQLite_Shutdown()
    Exit
    ; EndSwitch
    EndFunc

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

    Func _exitConf()
    ; Switch @GUI_WINHANDLE
    ; Case $hfrmConf
    GUISetState(@SW_HIDE,$hfrmConf)
    GUISwitch($hfrmMain)
    GUISetState(@SW_ENABLE,$hfrmConf)
    GUISetState(@SW_UNLOCK,$hfrmConf)
    ;ConsoleWrite("$hfrmConf wird versteckt")
    $hfrmAkt =$hfrmMain ;jetzt wieder im Hauptfenster
    GUISetOnEvent($GUI_EVENT_CLOSE, '',$hfrmConf)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_exitMain',$hfrmMain)
    GUICtrlSetOnEvent($hmnuitmExit, '_exitMain')
    _restoreAllBtns()
    ; EndSwitch
    EndFunc

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

    Func _exitDate()
    ; Switch @GUI_WINHANDLE
    ; Case $hfrmDate
    GUISetState(@SW_HIDE,$hfrmDate)
    GUISwitch($hfrmMain)
    GUISetState(@SW_ENABLE,$hfrmMain)
    GUISetState(@SW_UNLOCK,$hfrmMain)
    ;ConsoleWrite("$hfrmDate wird versteckt")
    $hfrmAkt =$hfrmMain ;jetzt wieder im Hauptfenster
    GUISetOnEvent($GUI_EVENT_CLOSE, '',$hfrmDate)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_exitMain',$hfrmMain)
    GUICtrlSetOnEvent($hmnuitmExit, '_exitMain')
    _restoreAllBtns()
    ; EndSwitch
    EndFunc

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

    Func _exitKom()
    ; Switch @GUI_WINHANDLE
    ; Case $hfrmKom
    GUISetState(@SW_HIDE,$hfrmKom)
    GUISwitch($hfrmMain)
    GUISetState(@SW_ENABLE,$hfrmMain)
    GUISetState(@SW_UNLOCK,$hfrmMain)
    ;ConsoleWrite("$hfrmKom wird versteckt")
    $hfrmAkt =$hfrmMain ;jetzt wieder im Hauptfenster
    GUISetOnEvent($GUI_EVENT_CLOSE, '',$hfrmKom)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_exitMain',$hfrmMain)
    GUICtrlSetOnEvent($hmnuitmExit, '_exitMain')
    _restoreAllBtns()
    ; EndSwitch
    EndFunc

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

    Func _disableAllBtns()
    $bbtnDate = GUICtrlGetState($hbtnDate)
    $bbtnKom = GUICtrlGetState($hbtnKom)
    $bbtnConf = GUICtrlGetState($hbtnConf)
    GUICtrlSetState($hbtnDate,$GUI_DISABLE)
    GUICtrlSetState($hbtnKom,$GUI_DISABLE)
    GUICtrlSetState($hbtnConf,$GUI_DISABLE)
    EndFunc

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

    func _restoreAllBtns()
    GUICtrlSetState($hbtnDate,$bbtnDate)
    GUICtrlSetState($hbtnKom,$bbtnKom)
    GUICtrlSetState($hbtnConf,$bbtnConf)
    GUICtrlSetState($hlstvwDaten, $GUI_FOCUS)
    EndFunc

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

    Func _edtConf()
    ;ConsoleWrite("bin bei _edtConf "&@CRLF)
    _disableAllBtns()
    Local $iNr = 0
    if $hfrmConf=0 Then
    ;ConsoleWrite("$hfrmConf wird erzeugt"&@CRLF)
    $hfrmConf = GUICreate($sTitelConf, 350, 200, 355, 355,$DS_MODALFRAME+$DS_SETFOREGROUND+$WS_CAPTION+$WS_SYSMENU+$WS_SIZEBOX,$WS_EX_TOOLWINDOW)
    $htab2=GUICtrlCreateTab(0,0,300,180)
    GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
    GUICtrlCreateTabItem("Gruppenstammdaten")
    $hTreeView2 = GUICtrlCreateTreeView(2,22, 300, 175, $GUI_SS_DEFAULT_TREEVIEW,$WS_EX_CLIENTEDGE)
    GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
    GUICtrlCreateTabItem("")

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

    ; _BaumZeigen($iNr,$hTreeView2,$hTreeView2) ;SingleUser
    ;WinSetOnTop('Confstammdaten', '', 1)
    Else
    ;_GUICtrlTreeView_DeleteAll($hTreeView2) ;MultiUser
    ;ConsoleWrite("$hfrmConf wird gezeigt"&@CRLF)
    ;GUISetState(@SW_SHOW,$hfrmConf)
    EndIf
    $hfrmAkt = $hfrmConf
    GUISetOnEvent($GUI_EVENT_CLOSE, '_gotoLastActiveWindow',$hfrmMain) ;$hfrmMain darf nicht geschlossen werden
    GUICtrlSetOnEvent($hmnuitmExit, '_gotoLastActiveWindow')
    GUISetState($GUI_DISABLE,$hfrmMain)
    ;GUISetState(@SW_LOCK,$hfrmMain)
    GUISwitch($hfrmConf)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_exitConf',$hfrmConf)
    GUISetState(@SW_SHOW,$hfrmConf)
    ;_BaumZeigen($iNr,$hTreeView2,$hTreeView2) ;MultiUser
    EndFunc

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

    Func _edtDate()
    _disableAllBtns()
    Local $iNr = 0
    Local $tab, $tab0, $tab0OK, $tab0input
    Local $tab1, $tab1combo, $tab1OK
    Local $tab2, $tab2OK, $msg
    Local $tabOK

    if $hfrmDate=0 Then
    ;ConsoleWrite("$hfrmDate wird erzeugt"&@CRLF)
    $hfrmDate = GUICreate($sTitelDate, 400, 200, 355, 355,$DS_MODALFRAME+$WS_CAPTION+$WS_SYSMENU,$WS_EX_TOOLWINDOW)
    ;Beispiel aus Hilfe
    ;GUICreate("My GUI Tab", 250, 150); will create a dialog box that when displayed is centered

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

    GUISetBkColor(0x00E0FFFF)
    GUISetFont(9, 300)

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

    $tab = GUICtrlCreateTab(10, 10, 200, 100)

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

    $tab0 = GUICtrlCreateTabItem("tab0")
    GUICtrlCreateLabel("label0", 30, 80, 50, 20)
    $tab0OK = GUICtrlCreateButton("OK0", 20, 50, 50, 20)
    $tab0input = GUICtrlCreateInput("default", 80, 50, 70, 20)

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

    $tab1 = GUICtrlCreateTabItem("tab----1")
    GUICtrlCreateLabel("label1", 30, 80, 50, 20)
    $tab1combo = GUICtrlCreateCombo("", 20, 50, 60, 120)
    GUICtrlSetData(-1, "Trids|CyberSlug|Larry|Jon|Tylo", "Jon"); default Jon
    $tab1OK = GUICtrlCreateButton("OK1", 80, 50, 50, 20)

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

    $tab2 = GUICtrlCreateTabItem("tab2")
    GUICtrlSetState(-1, $GUI_SHOW); will be display first
    GUICtrlCreateLabel("label2", 30, 80, 50, 20)
    $tab2OK = GUICtrlCreateButton("OK2", 140, 50, 50)

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

    GUICtrlCreateTabItem(""); end tabitem definition
    $tabOK = GUICtrlCreateButton("Schliessen", 160, 150, 100)
    GUICtrlSetOnEvent(-1,"_exitDate")
    GUISetState()
    Else
    ;_GUICtrlTreeView_DeleteAll($hTreeView2) ;MultiUser
    ;ConsoleWrite("$hfrmDate wird gezeigt"&@CRLF)
    ;GUISetState(@SW_SHOW,$hfrmDate)
    EndIf
    $hfrmAkt = $hfrmDate
    GUISetOnEvent($GUI_EVENT_CLOSE, '_gotoLastActiveWindow',$hfrmMain) ;$hfrmMain darf nicht geschlossen werden
    GUICtrlSetOnEvent($hmnuitmExit, '_gotoLastActiveWindow')
    GUISetState($GUI_DISABLE,$hfrmMain)
    ;GUISetState(@SW_LOCK,$hfrmMain)
    GUISwitch($hfrmDate)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_exitDate',$hfrmDate)
    GUISetState(@SW_SHOW,$hfrmDate)
    ;_BaumZeigen($iNr,$hTreeView2,$hTreeView2) ;MultiUser
    EndFunc

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

    Func _edtKom()
    _disableAllBtns()
    Local $tab, $tab0, $tab0OK, $tab0input
    Local $tab1, $tab1combo, $tab1OK
    Local $tab2, $tab2OK, $msg
    Local $iNr = 0
    if $hfrmKom=0 Then
    ;ConsoleWrite("$hfrmKom wird erzeugt"&@CRLF)
    $hfrmKom = GUICreate($sTitelKom, 400, 200, 355, 355,$DS_MODALFRAME+$WS_CAPTION+$WS_SYSMENU,$WS_EX_TOOLWINDOW)

    ;GUICreate("My GUI Tab", 250, 150); will create a dialog box that when displayed is centered

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

    GUISetBkColor(0x00E0FFFF)
    GUISetFont(9, 300)

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

    $tab = GUICtrlCreateTab(10, 10, 200, 100)

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

    $tab0 = GUICtrlCreateTabItem("tab0")
    GUICtrlCreateLabel("label0", 30, 80, 50, 20)
    $tab0OK = GUICtrlCreateButton("OK0", 20, 50, 50, 20)
    $tab0input = GUICtrlCreateInput("default", 80, 50, 70, 20)

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

    $tab1 = GUICtrlCreateTabItem("tab----1")
    GUICtrlCreateLabel("label1", 30, 80, 50, 20)
    $tab1combo = GUICtrlCreateCombo("", 20, 50, 60, 120)
    GUICtrlSetData(-1, "Trids|CyberSlug|Larry|Jon|Tylo", "Jon"); default Jon
    $tab1OK = GUICtrlCreateButton("OK1", 80, 50, 50, 20)

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

    $tab2 = GUICtrlCreateTabItem("tab2")
    GUICtrlSetState(-1, $GUI_SHOW); will be display first
    GUICtrlCreateLabel("label2", 30, 80, 50, 20)
    $tab2OK = GUICtrlCreateButton("OK2", 140, 50, 50)

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

    GUICtrlCreateTabItem(""); end tabitem definition
    Else
    ;_GUICtrlTreeView_DeleteAll($hTreeView2) ;MultiUser
    ;ConsoleWrite("$hfrmKom wird gezeigt"&@CRLF)
    ;GUISetState(@SW_SHOW,$hfrmKom)
    EndIf
    $hfrmAkt = $hfrmKom
    GUISetOnEvent($GUI_EVENT_CLOSE, '_gotoLastActiveWindow',$hfrmMain) ;$hfrmMain darf nicht geschlossen werden
    GUICtrlSetOnEvent($hmnuitmExit, '_gotoLastActiveWindow')
    GUISetState($GUI_DISABLE,$hfrmMain)
    ;GUISetState(@SW_LOCK,$hfrmMain)
    GUISwitch($hfrmKom)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_exitKom',$hfrmKom)
    GUISetState(@SW_SHOW,$hfrmKom)
    ;_BaumZeigen($iNr,$hTreeView2,$hTreeView2) ;MultiUser
    EndFunc

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

    Func _gotoLastActiveWindow()
    ;ConsoleWrite('muss zum Fenster'&$hfrmAkt&@CRLF)
    Switch $hfrmAkt
    Case $hfrmKom
    GUISwitch($hfrmKom)
    GUISetState(@SW_RESTORE)
    ;WinActivate($sTitelKom)
    Case $hfrmDate
    GUISwitch($hfrmDate)
    GUISetState(@SW_RESTORE)
    ;WinActivate($sTitelDate)
    Case $hfrmConf
    GUISwitch($hfrmConf)
    GUISetState(@SW_RESTORE)
    ;WinActivate($sTitelDate)
    EndSwitch
    EndFunc

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

    Func _goToSuch()
    if $hfrmAkt = $hfrmMain Then GUICtrlSetState($hedtSuch, $GUI_FOCUS)
    EndFunc

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

    Func _goToMember()
    if $hfrmAkt = $hfrmMain Then GUICtrlSetState($hedtMember[0], $GUI_FOCUS)
    EndFunc

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

    Func _goToAdress()
    if $hfrmAkt = $hfrmMain Then GUICtrlSetState($hedtAnschrift[0], $GUI_FOCUS)
    EndFunc

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

    Func _goToAnrede1()
    if $hfrmAkt = $hfrmMain Then GUICtrlSetState($hedtAnrede[0], $GUI_FOCUS)
    EndFunc

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

    Func _goToAnrede2()
    if $hfrmAkt = $hfrmMain Then GUICtrlSetState($hedtAnrede[1], $GUI_FOCUS)
    EndFunc

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

    Func _goToHomePage()
    if $hfrmAkt = $hfrmMain Then GUICtrlSetState($hedtHomePage, $GUI_FOCUS)
    ;hier Funktion einbauen damit automatisch die Homepage aufgerufen wird
    EndFunc

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

    Edit1: gelöst ich musste nur das Handle des Hauptfensters bei der Erstellung mit angeben
    Edit2: $DS_SETFOREGROUND ist dann auch nicht mehr nötig. Warscheinlich sind bei dem Versuch das Problem zu lösen auch unnötige Programmzeilen enstanden. Falls etwas auffällt bitte trotz gelöst anworten

    Spoiler anzeigen
    [autoit]


    $hfrmConf = GUICreate($sTitelConf, 350, 200, 355, 355, $DS_MODALFRAME + $WS_CAPTION + $WS_SYSMENU + $WS_SIZEBOX, $WS_EX_TOOLWINDOW,$hfrmMain)

    [/autoit]

    vielen Dank im Voraus und freundliche Grüße von (Auto)Bert

  • Gibt es ein OCR script für Autoit?

    • autoBert
    • 6. April 2009 um 01:15

    Hallo NeedHelpQuick,

    für die Beispiele die du genannt hast benötigst du Word 2007 mit den die entsprechenden Office Tools "Microsoft® Office Document Imaging 2003" zum Scannen, hab ich leider nicht mehr, da meine Testzeit für die kostenlose TRIAL abgelaufen ist.

    Edit1 in #77 wird auf den Link MSDN-LINK verwiesen, dort kannst du die fehlenden Datei MODI2003.exe herunterladen (nach Prüfung auf gültige MS-Produkt Installation), außerdem ist eine Hilfe-Datei (englisch) dabei.

    mfg (Auto)Bert

  • progress

    • autoBert
    • 6. April 2009 um 00:39

    Hallo @ChaosKeks,

    klappt bei mir wunderbar der Link stimmt, hast du es schon einmal mit einem anderen Link probiert?

    EDIT1: Wenn erfolgreich downgeloaded befindet sich auf C:\ die Datei MyDownload.zip

    mfg (Auto)Bert

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™