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

Beiträge von Jescho

  • Problem mit Control ID

    • Jescho
    • 23. August 2010 um 23:12

    Hallo Leute,

    ich habe mal wieder eine Verständnisfrage. Wenn ich die Hilfe für "SplashTextOn" richtig verstanden habe, wird das Handle des Fensters zurückgegeben. Jetzt habe ich versucht neue Einträge an Fenster über "ControlSetText" mit Hilfe des Handles zu senden. Leider ohne Erfolg. Wenn ich wie im Bsp. der Hilfe von "ControlSetText" mit "Static1" anspreche geht es - aber solte es über den anderen Weg nicht auch gehen?

    Spoiler anzeigen
    [autoit]

    Dim $CID
    Dim $message = ''

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

    $CID = SplashTextOn('Titelleiste',$message, 500 , 150, -1,-1, 1);anzeige des Infofensters
    $message = $message & 'erster Nachricht' & @CRLF
    ControlSetText('Titelleiste','', $CID, $message);aktual. des Infofensters
    Sleep(2000)
    $message = $message & 'zweiter Nachricht' & @CRLF
    ControlSetText('Titelleiste','', $CID, $message);aktual. des Infofensters
    Sleep(2000)
    $message = $message & 'Ende' & @CRLF
    ControlSetText('Titelleiste','', $CID, $message);aktual. des Infofensters
    Sleep(1000)
    SplashOff();schleißen des Infofensters

    [/autoit]

    so geht es

    Spoiler anzeigen
    [autoit]

    Dim $message = ''
    SplashTextOn('Titelleiste',$message, 500 , 150, -1,-1, 1);anzeige des Infofensters
    Dim $CID = 'Static1'
    $message = $message & 'erster schritt' & @CRLF
    ControlSetText('Titelleiste','', $CID, $message);aktual. des Infofensters
    Sleep(1000)
    $message = $message & 'zweiter schritt' & @CRLF
    ControlSetText('Titelleiste','', $CID, $message);aktual. des Infofensters
    Sleep(1000)
    $message = $message & 'Ende' & @CRLF
    ControlSetText('Titelleiste','', $CID, $message);aktual. des Infofensters
    Sleep(1000)
    SplashOff();schleißen des Infofensters
    ;~ #ce

    [/autoit]
  • Array filtern

    • Jescho
    • 28. Mai 2010 um 00:33

    @Oskar thx top :thumbup:

    ich hoffe mal das ich mit Hilfe des "StringRegExp Tutorial / Reguläre Ausdrücke in AutoIt" und diesem Beispiel den Code bald verstanden habe. :pinch:

  • Array filtern

    • Jescho
    • 27. Mai 2010 um 10:20

    @ Andy,

    der Link mit dem Tutorial -> super, so etwas wollte ich haben.

    Zitat

    das einfachste wäre, direkt hier anzusetzen. Und zwar nicht die gesamte Tabelle einzulesen, sondern nur die Spalte mit "Name, Vorname".

    als Array habe ich nur die Spalte mit den Namen eingelesen! Ich hatte folgende Vorstellung: Wenn ich über eine Namen-Auswahlbox (die mit dem besagten Array gespeist wird) den Mitarbeiter ausgewählt habe, wollte ich in der Exceltabelle gehen und für den Mitarbeiter die Schicht entsprechend dem Kalendertag suchen und ausgeben. Soweit der Plan.

    Zitat

    Denn ich wäre sehr gespannt auf den Regex, der folgende Namen richtig filtert:

    So sah mein angepasster Demoarray nach dem Post von AMrK aus

    [autoit]

    $aArray[0] = 'chef'
    $aArray[1] = 'Nachname, Vorname'
    $aArray[2] = 0098300
    $aArray[3] = ''
    $aArray[4] = 'Mueller-Meier, Manfred'
    $aArray[5] = ''
    $aArray[6] = 'Abteilung Finanz, Personal'
    $aArray[7] = 'Abteilung Produktion, Kontrolle'

    [/autoit]

    was ich ausschließen kann, es gibt immer ein Leerzeichen zwischen Nachname," " und Vorname.

  • Array filtern

    • Jescho
    • 26. Mai 2010 um 23:34

    @AMrK
    nein es Gibt das gleiche Bild wie Oscar seine Funktion.
    Da es aber bei dem Demo-Array was ich ins Forum gestellt habe funktioniert, frage ich mich ob es eventuell an meinen Daten liegt. Ich erstelle ein Array aus einer Exceltabelle wo ich den Filter drüber laufen lasse. Ich denke mal es lieget daran, dass da auch Leerzeilen in der Tabelle enthalten sind?

    Wie kann ich den StringRegExpReplace entsprechend anpassen. Bitte nicht nur den Code, für eine Erklärung zum nachvollziehen wäre ich sehr dankbar.

  • Array filtern

    • Jescho
    • 26. Mai 2010 um 22:52

    Oscar
    danke ich habe die Variante gleich auf mein Projekt umgesetzt. Leider muss ich sagen, das zwar die entsprechenden Einträge ausgefiltert werden, jedoch erscheinen jetzt im Array leere Einträge. Ich würde ja gerne die Func StringRegExpReplace anpassen, leider muss ich sagen, ich verstehe sie bis jetzt noch nicht. Ich werde mir noch mal die Hilfe verinnerlichen.

  • Array filtern

    • Jescho
    • 25. Mai 2010 um 23:47

    ja super. Das bringt mich wieder ein Stück weiter. Danke

  • Array filtern

    • Jescho
    • 25. Mai 2010 um 21:47

    also das mit den Arrays ist wirklich nicht einfach! Jetzt habe ich den Tipp umgesetzt und die Liste ist auch schon super.

    Leider musste ich feststellen, dass bei der Filterung zwei falsche Einträge auch dieses Format haben. Jetzt möchte ich diese Fehler auch noch aus filtern.

    Als Lösungsansatz habe ich einen zweiten Array mit den Fehlereinträgen erstellt und wollte es gegeneinander checken lassen. Ich habe auch schon versucht es über ein Zwischen-Array zu lösen, aber leider ohne gewünschten Erfolg. Schlimmer noch jetzt sind alle Einträge doppelt da. Wo ist mein Denkfehler bzw. Unwissenheit. Anbei mein Code:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>

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

    Dim $aArray[8]

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

    $aArray[0] = 'chef'
    $aArray[1] = 'Nachname, Vorname'
    $aArray[2] = 0098300
    $aArray[3] = 'test'
    $aArray[4] = 'Mueller, Manfred'
    $aArray[5] = '23000'
    $aArray[6] = 'Abteilung Finanz, Personal'
    $aArray[7] = 'Abteilung Produktion, Kontrolle'

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

    Dim $aFehler[2]

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

    $aFehler[0] = 'Abteilung Finanz, Personal'
    $aFehler[1] = 'Abteilung Produktion, Kontrolle'

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

    For $i = 0 To UBound($aArray) - 1
    For $j = 0 To UBound($aFehler) - 1
    If StringRegExp($aArray[$i], ',') <> $aFehler[$j] Then ConsoleWrite($i & '=' & $aArray[$i] & @CRLF)
    Next
    Next

    [/autoit]
  • Array filtern

    • Jescho
    • 25. Mai 2010 um 15:04

    ja ich lese erstmal und meistens kann ich damit meine Fragen schon beantworten. Bis jetzt sind sie noch nicht so tiefgreifend. Ich bin auch programmiertechnisch eher die Kategorie Anfänger, habe mich aber voll vom Fieber packen lassen. Schuld ist natürlich dieses Forum :thumbup:

  • Array filtern

    • Jescho
    • 25. Mai 2010 um 13:30

    danke das war's :rock: jetzt versuche ich erst mal wieder selber weiter zu kommen.

  • Array filtern

    • Jescho
    • 25. Mai 2010 um 13:04

    [4]/[5] - das war nur ein Tippfehler. Natürlich muß die Zahl fortlaufend sein :rock:

  • Array filtern

    • Jescho
    • 25. Mai 2010 um 12:50

    Hallo miteinander,

    ich beschreite gerade meine ersten Gehversuche mit Array's. Leider komme ich gerade nicht weiter. Ich möchte aus dem Array gerne alle Einträge löschen die nicht folgendem Format entsprechen: "*, *", Das heißt es sollte ein Array zurückgegeben werden der nur Zeilen mit den Nachnamen, Vornamen enthält. Wenn ich in der $string den Namen eintippe kommt ein! richtiges Resultat aber nicht alle.

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>

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

    Dim $aArray[5]

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

    $aArray[0]='chef'
    $aArray[1]='Nachname, Vorname'
    $aArray[2]=0098300
    $aArray[3]='test'
    $aArray[4]='Mueller, Manfred'
    $aArray[4]='23000'

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

    $string = '*, *';mit 'Nachname, Vorname' bekomme ich zwar einen Datenstz zurück - es sollten aber hier zwei sein
    For $i = 0 To UBound($aArray) - 1
    If $aArray[$i] = $string Then ConsoleWrite($i&'='&$aArray[$i]&@CRLF)
    NEXT

    [/autoit]
  • Hilfe reicht nicht

    • Jescho
    • 21. Februar 2010 um 22:46

    danke, das werde ich ich mir mal in Ruhe ansehen.

    Thx Jescho

  • Hilfe reicht nicht

    • Jescho
    • 21. Februar 2010 um 22:36

    ja ok, aber warum gibt es dann diese Variante? Es muss doch dafür einen Speziellen Verwendungszweck geben.

  • Hilfe reicht nicht

    • Jescho
    • 21. Februar 2010 um 22:20

    nur für Verständnis, wieso geht das aus der Hilfe nicht?

  • Hilfe reicht nicht

    • Jescho
    • 21. Februar 2010 um 22:18

    habs selbst gefunden:

    _GUICtrlTab_SetItemSize($hTab, 70, 40)

  • Hilfe reicht nicht

    • Jescho
    • 21. Februar 2010 um 22:17

    danke funktioniert.

    eine Frage habe ich noch. Wie binde ich die Funtion _GUICtrlTab_SetItemSize zum setzen der Spaltenbreite am besten ein?

  • Hilfe reicht nicht

    • Jescho
    • 21. Februar 2010 um 21:57

    In der Hilfe habe ich folgendes als Beispiel gefunden:

    [autoit]

    #AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #include <GuiConstantsEx.au3>
    #include <GuiTab.au3>

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

    Opt('MustDeclareVars', 1)

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

    $Debug_TAB = False ; Prüft den Klassennamen (ClassName), der an die Tab-Funktion übergeben wird. Setze dies versuchsweise auf True und verwende dann ein Handle zu einem anderen Control, um die Funktionsweise zu verstehen.

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

    _Main()

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

    Func _Main()
    Local $hTab

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

    ; Erstellt eine GUI
    GUICreate("Tab-Control: Setzt die minimale Tabbreite", 400, 300)
    $hTab = GUICtrlCreateTab(2, 2, 396, 296)
    GUISetState()

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

    ; Fügt Tabs hinzu
    _GUICtrlTab_SetMinTabWidth($hTab, 80)
    _GUICtrlTab_InsertItem($hTab, 0, "Tab 1")
    _GUICtrlTab_InsertItem($hTab, 1, "Tab 2")
    _GUICtrlTab_InsertItem($hTab, 2, "Tab 3")

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

    ;wie erstelle ich einen Button im Tab 2

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

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
    EndFunc ;==>_Main

    [/autoit]
  • Hilfe reicht nicht

    • Jescho
    • 21. Februar 2010 um 21:31

    ja das habe ich schon gemacht - das funktioniert auch gut, aber es geht mir um den lerneffekt. Es muss doch möglich sein, oder etwa nicht?.

  • Hilfe reicht nicht

    • Jescho
    • 21. Februar 2010 um 21:22

    Hallo miteinander,

    in der Hilfe habe ich das Beispiel der Funktion _GUICtrlTab_SetMinTabWidth getestet. Leider kann ich auf den einzelnen Tabs mit GUICtrlCreateButton keine Buttons erstellen. Wie sage ich ihm, dass der Button auf dem mit _GUICtrlTab_InsertItem erstelltem Tab erscheinen soll.

    Wahrscheinlich ist es nur wieder eine Kleinigkeit, aber ich komme einfach nicht weiter.

  • Problem mit der Monitoranordnung nach Auflösungsänderung

    • Jescho
    • 17. Januar 2010 um 05:24

    Hallo AutoBert,

    das mit den Bildern versuche ich gleich noch einmal. Bin noch recht neu.

    Leider hat es wieder nicht funktioniert. Was mache ich falsch? Auf Bild einfügen klicken, den Pfad zum Speicheort (lokale Festplatte) eingeben. Im Editor zeigt er den Speicherpfad auch an - aber das Bild nicht. Ich werd es mal als Dateianhang versuchen.


    Das der Code nicht von mir selbst ist ist ja unter der Bemerkung >>> Autor(s) <<< zu lesen. :rock:

    Das sollte nur ausdrücken, das die Funktion soweit schon funktioniert.

    Wie meinst Du das mit dem virtuellen Gesamtdesktop?

    Den Post von Oskar hatte ich bereits gefunden. Leider hat er mich nicht weitergebracht.

    Grüße

    Dateien

    Anzeigeeinstellungen_falsch.jpg 37,79 kB – 0 Downloads Anzeigeeinstellungen_richtig.jpg 36,35 kB – 0 Downloads

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™