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

Beiträge von Rigobert

  • Funktions Deklaration?

    • Rigobert
    • 14. Juni 2017 um 11:28

    Danke euch allen!
    Der Tipp von autoiter ist super.
    Geht wirklich Flott damit.

    Vor allem wenn man es gleich macht wenn man die Funktion erstellt hat.

    Mein Problem war nur, ich bin zwar der Admin hier bei uns, aber ich melde mich ja nicht ständig als Administrator an.
    Ausserdem bekomme ich auf jeden PC meine Software nachgeliefert.
    Wenn ich allerdings unter der Useranmeldung gerade arbeite, muss ich mir die Installpakete Extra abholen.
    Dazu kommt unsere Profile lege ich im Netz ab.
    Daher muss ich eine Lösung nutzen die auf jedem PC sofort Funktioniert.
    Möchte da nicht wenn ich bei einem User mal was teste gleich die NTUser.dat verändern müssen.
    Darum hab ich mir einen Unsichtbaren Pfad im Netz angelegt worauf ich in der SciTE config den Pfad legte, damit funktioniert das super.

    Danke

  • Funktions Deklaration?

    • Rigobert
    • 14. Juni 2017 um 10:23

    Hi, hab da mal eine Frage.
    Wenn ich eine Includedatei erstelle mit ein paar Funktionen.
    Wie bekomme ich es dann hin das mir SciTE sagt welche Parameter ich brauche und wie viele?

    Z.B.

    Code
    ; #FUNCTION# ====================================================================================================================
    ; Name ..........: Statusbar
    ; Description ...:
    ; Syntax ........: Statusbar($text, $part)
    ; Parameters ....: $text                - A dll struct value.
    ;                  $part                - A pointer value.
    ; Return values .: None
    ; Author ........: Ich bins
    ; Modified ......:
    ; Remarks .......:
    ; Related .......:
    ; Link ..........:
    ; Example .......: No
    ; ===============================================================================================================================
    Func Statusbar($text,$part)
    	_GUICtrlStatusBar_SetText($StatusBar, $text, $part)
    EndFunc
    Alles anzeigen

    Diese Funktion habe ich in einer Separaten Includedatei.
    Wenn ich nun anfange zu tippen, gibt mir SciTE ja Funktionen vor die diese Namen haben.

    Also ich tippe 'guictr' dann zeigt mir SciTE 'GUICtrlCreateAvi' und die anderen die so beginnen an.
    Wie kann ich es nun hinbekommen das meine Funktion da auch angezeigt wird.
    Am besten noch wenn ich diese dann Fertig habe wie z.B. 'Statusbar(' sollte wie bei den anderen sobald die '(' gesetzt wurde die Parameterliste angezeigt werden.

    Wie kann ich das hinbekommen?

    Vielen Dank im Voraus

    MfG

  • AdlibRegister AdlibUnRegister Verständnisproblem?

    • Rigobert
    • 13. Juni 2017 um 23:24
    Zitat von alpines

    Was du allerdings machen kannst ist mit dem kompilierten Script ein anderes .au3 Script ausführen, weil der Interpreter mitgeliefert ist.

    Die Idee ist ja auch nicht schlecht.
    Muss ich mal Testen.
    Vor allem ob ich da dann die entsprechenden Includes mitliefern muss.
    Also z.B. IE.au3 oder Array und die GuiConstante usw.

    Danke dir, jetzt hab ich erst einmal genug Material zum Motiviert weiter lernen.

    MfG

  • AdlibRegister AdlibUnRegister Verständnisproblem?

    • Rigobert
    • 13. Juni 2017 um 20:12

    Danke Oscar, der ansatz war aber das AdlibRegister aufgerufen wird und Beendet wird durch Buttons.
    Deines Startet AdlibRegister aber sofort und ich wollte damit ja erreichen das ich endlich weis wie ich AdlibRegister einsetzen kann :)
    Und direkt darauf einwirken ohne das die Gui geschlossen wird.

    Aber eines ist trotzdem gut bei deinem Ansatz, die Info mit fStart ist gut.
    Damit kann ich was anfangen, hat eine gute Logik.

    Habe noch eine kleine Frage.

    Ist es Möglich eine Gui zu starten und aus Externen .au3 Dateien Funktionen in der Laufzeit zu holen?

    Ich frage nur weil mich int. würde ob ich auch ganze Programme damit bauen könnte die sich Funktionen aus anderen Dateien holen ohne sie gleich mit in den Speicher zu laden.

    Das man in etwa so einen Aufbau hat:
    Main.exe
    Funktion_a.au3
    Funktion_b.au3

    Damit das ganze z.B. Modular wird.
    Ist datei Funktion_a.au3 vorhanden dann lade auch in main_menu About usw. usf.

    Danke

    MfG

  • AdlibRegister AdlibUnRegister Verständnisproblem?

    • Rigobert
    • 13. Juni 2017 um 14:58

    Ha das tut funktionieren tut das^^
    Hab das Sleep ganz rausgeworfen, tut kein mensch brauchen tun :)
    Da ich in meinen Funktionen Rückgabewerte nutze und immer auf diese warte :)

    Hab mir das Adlib angesehen gehabt, aber irgendwie tut das viele Lesen meinen augen gar nicht gut tun.

    Betriebsblindheit^^

    Ausserdem tut es mir leid das ich so viele unnötige fragen stelle :(

    Tut mir gefallen, danke dir und tut mir leid das ich so viel tutte

    :)

  • AdlibRegister AdlibUnRegister Verständnisproblem?

    • Rigobert
    • 13. Juni 2017 um 14:20

    Hi, ich versuche mich nun schon seit gestern Abend daran eine Start Stop Variante in einer Gui zu erstellen.
    Aber irgendwie will das nicht :(
    Hat mir da jemand einen Rat?
    Ausser endlich Autoit zu lernen meine ich^^

    Also ist ja nur ein kleines Bsp. aber dient der Veranschaulichung dessen was es tun soll.
    Hier mein erster versuch:

    C
    #include <MsgBoxConstants.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    ;~ Opt("GUIOnEventMode", 1)
    #Region ### START Koda GUI section ### Form=
    Local $Form2 = GUICreate("Form2", 330, 250, 319, 238)
    Local $Btn_Start = GUICtrlCreateButton("Start", 96, 168, 75, 25)
    Local $Btn_Stop = GUICtrlCreateButton("Stop", 184, 168, 75, 25)
    Local $Lbl_Timer = GUICtrlCreateLabel("0", 104, 56, 162, 50)
    GUICtrlSetFont(-1, 30, 400, 0, "MS Sans Serif")
    Local $Btn_Exit = GUICtrlCreateButton("Exit", 16, 168, 75, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    
    
    Local $iCount = 0
    
    
    While 1
    	$msg = GUIGetMsg()
    	Select
    		Case $msg = $Btn_Start
    			Start()
    		Case $msg = $Btn_Stop
    			Stop()
    		Case $msg = $Btn_Exit
    			Exit
    	EndSelect
    WEnd
    
    
    
    
    Func Start()
        AdlibRegister("TimerStart")
    EndFunc
    
    
    Func Stop()
        AdlibUnRegister("TimerStart")
    	MsgBox(0,"Timer", "Steht bei: " & GUICtrlRead($Lbl_Timer),0)
    	GUICtrlSetData($Lbl_Timer, "0")
    EndFunc
    
    
    Func TimerStart()
        Sleep(1000)
        $iCount += 1
    	GUICtrlSetData($Lbl_Timer,$iCount)
    EndFunc
    Alles anzeigen


    Tut alles ausser Stoppen und exit nachdem man Start gedrückt hat.

    Hier mein zweiter versuch:

    C
    #include <MsgBoxConstants.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    ;~ Opt("GUIOnEventMode", 1)
    #Region ### START Koda GUI section ### Form=
    Local $Form2 = GUICreate("Form2", 330, 250, 319, 238)
    Local $Btn_Start = GUICtrlCreateButton("Start", 96, 168, 75, 25)
    Local $Btn_Stop = GUICtrlCreateButton("Stop", 184, 168, 75, 25)
    Local $Lbl_Timer = GUICtrlCreateLabel("0", 104, 56, 162, 50)
    GUICtrlSetFont(-1, 30, 400, 0, "MS Sans Serif")
    Local $Btn_Exit = GUICtrlCreateButton("Exit", 16, 168, 75, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    
    
    Local $iCount = 0
    
    
    While 1
    	$msg = GUIGetMsg()
    	Select
    		Case $msg = $Btn_Start
    			AdlibRegister("TimerStart")
    		Case $msg = $Btn_Stop
    			Stop()
    		Case $msg = $Btn_Exit
    			Exit
    	EndSelect
    WEnd
    
    
    Func Stop()
        AdlibUnRegister("TimerStart")
    	MsgBox(0,"Timer", "Steht bei: " & GUICtrlRead($Lbl_Timer),0)
    	GUICtrlSetData($Lbl_Timer, "0")
    EndFunc
    
    
    Func TimerStart()
        Sleep(1000)
        $iCount += 1
    	GUICtrlSetData($Lbl_Timer,$iCount)
    EndFunc
    Alles anzeigen


    Ist ja Quasi das gleiche wie bei 1 nur das ich Adlib direkt ab Button starte ohne Funktion dazwischen.

    Was mache ich hier Falsch?

    Vielen Dank im Voraus für eure Geduld

    MfG

  • Wert von style in HTML Dokument ermitteln anhand einer div id?

    • Rigobert
    • 13. Juni 2017 um 00:23

    Hm, nicht ganz, entweder ich sehe den Wald vor lauter Bäumen nicht oder es gibt keine Ähnliche Funktion wie GetAttribute.
    Welche müsste ich den dafür nehmen?
    Also z.B.

    AutoIt
    $ElementId = _IEGetObjById($oIE, 'gesuchte_ID')
    $this_value = $ElementId.GetAttribute('style')

    Hab es heute entweder mit den Augen oder aber ich bin einfach nur doof :)
    Finde aber nichts das mir als Pendant für GetAttribute dienen könnte.
    _IEGetAttribute gibt es ja nicht :(

    Wäre nett wenn du mich diesbezüglich aufklären könntest :)

    Vielen Dank im Voraus

    MfG

  • Wert von style in HTML Dokument ermitteln anhand einer div id?

    • Rigobert
    • 12. Juni 2017 um 21:55

    AHHH, danke gerade wurde es Licht.
    Ich dachte du meinst was anderes.
    Ok, du hast Recht!

    Verneige mich vor deiner Geduld mit einem der scheinbar noch Pennt :(

    Danke dir nochmals

    MfG

  • Wert von style in HTML Dokument ermitteln anhand einer div id?

    • Rigobert
    • 12. Juni 2017 um 21:18

    Hi, danke für den Hinweis.
    Aber soweit reichen meine Kenntnisse dann doch noch nicht :(
    Ich habe folgendes mit eingebunden:
    _IEErrorHandlerRegister()
    Aber wie stellst du dir den Zugriff dann vor?
    Wenn nicht so?

    Danke dir für deine Geduld!

    MfG

  • Wert von style in HTML Dokument ermitteln anhand einer div id?

    • Rigobert
    • 12. Juni 2017 um 20:13

    Ah Cool danke.

    Ich war da wohl neben der Spur und habe nicht daran gedacht das ich ja den DOM direkt anpacken kann :)
    Dabei mache ich das ja in meinem eigenen Beispiel oben selbst schon :(

    Für diejenigen die es Interressiert, so geht es dann :

    Code
    $ElementId = $oIE.document.GetElementById('gesuchte_ID')
    $this_value = $ElementId.GetAttribute('style')

    Danke dir Alpines

  • Wert von style in HTML Dokument ermitteln anhand einer div id?

    • Rigobert
    • 12. Juni 2017 um 19:27

    Hi, wie schon im Titel zu sehen.
    Ich benutze die IE.au3

    Wie kann ich einen Attribute Style wert aus einer DIV ID ermitteln.

    Code
    <div id="video" class="videoHighlight" style="display: block;">Testtext</div>

    Die ID und die Class und jeden anderen wert kann ich ermitteln nur die Style irgendwie nicht :(

    z.B.

    Code
    Func ClickValueByTagName($tagname,$attributename,$tagvalue)
    $thisObj = ""
    $tags = $oIE.document.GetElementsByTagName($tagname)
    For $tag in $tags
    $this_value = $tag.GetAttribute($attributename)
    If string($this_value) = $tagvalue Then
        $thisObj = $tag
        ExitLoop
    EndIf
    Next
    If IsObj ( $thisObj ) Then
    _IEAction ($thisObj, "click")
    EndIF
    EndFunc
    Alles anzeigen


    Wenn ich jetzt einen wert Anklicken will brauche ich nur:

    Code
    ClickValueByTagName("div","id","irgendwas")

    Und schon klickt der mir auf den besagten bereich.
    Zusammengebaut aus einem Beispiel hier vom Forum.

    Nur wie komme ich an die Werte aus dem style attribute bei einem DIV von dem ich die ID kenne?

    Ich sollte aus dem Quelltext oben den wert "display: block;" angezeigt bekommen.

    Geht hierbei jetzt nicht um eine Spezielle seite, sondern vielmehr um ein verständnisproblem meinerseits.

    Wäre Dankbar wenn mir das einer erklären könnte oder mich auf den Richtigen weg stupsen könnte.

    Habe viele Dinge getestet aber keines gab mir diesen Text aus :(

    Danke im voraus!

  • Frage zur Gui bzw GUICtrlSetState

    • Rigobert
    • 11. März 2017 um 14:27

    Achso nein, da habe ich schon wieder vergessen von vorne zu beginnen :)
    Also versuche ich es nochmal :)
    $setcontrol wird hier gesetzt fuellungenarray(GUICtrlRead($Kissen), 'Fuellungen') ; 'Fuellungen' ist die Var $setcontrol in der Funktion fuellungenarray
    Also Func fuellungenarray($auswahl, $setcontrol)
    Hier bekommt die Var $setcontrol den wert 'Fuellungen'

    Da ich auf Kanashias vorschlag eingehe versuche ich es nun mit einem ComboControl diese heist eben $Fuellungen.
    Zur Erstellung lasse ich diese einfach leer.
    Eine weitere heist $Farben auch diese ist Leer.

    Wähle ich nun bei dem ersten ComboControl einen Wert aus gebe ich das einfach an die nächste Combo weiter.

    AutoIt
    Func fuellungenarray($auswahl,$setcontrol)
    	$wahl = IniReadSection("produktini\"&$auswahl&".ini", $auswahl)
    	$group = IniRead("produktini\"&$auswahl&".ini", 'GroupName', $auswahl, '')
    	$groupsettings = IniReadSection("produktini\"&$auswahl&".ini", 'GroupSetting')
    	$controlstart = IniReadSection("produktini\"&$auswahl&".ini", 'ControlStart')
     	$Anzahl = $wahl[0][0]
    	For $i = 1 To $Anzahl
    		If $i > 1  Then
    			$pipe = '|'
    		Else
    			$pipe = ''
    		EndIf
    			$fuellungenArray = $fuellungenArray &$pipe & $wahl[$i][1]
    	Next
     	GUICtrlSetData($setcontrol, $fuellungenArray)
    EndFunc
    Alles anzeigen

    Ich sage mal so ich bin in einer Findungsphase^^
    In dem Case Switch für die Combos habe ich dann dieses hier:


    AutoIt
    Case $Kissen
    			fuellungenarray(GUICtrlRead($Kissen), 'Fuellungen')
                    Case $Fuellungen
    			fuellungenarray(GUICtrlRead($Fuellungen), 'Farben')

    usw.

    Hoffe das war nun verständlicher^^

    Danke

  • Frage zur Gui bzw GUICtrlSetState

    • Rigobert
    • 11. März 2017 um 13:54

    Oh, ich habe das nicht als Böse Kritik aufgefasst, sondern als Konstruktive.
    Da du ja Recht hast damit^^

    Aber ich habe da dennoch eine Frage die du mir bestimmt einfach beantworten kannst

    Wenn ich einen Funktionsaufruf so mache : fuellungenarray(GUICtrlRead($Kissen), 'Fuellungen')
    Und bei der Funktion dann dies hier habe: GUICtrlSetData($setcontrol, $fuellungenArray)
    Wie bekomme ich es hin das $setcontrol das Control ist das ich meine? :(
    in dem Fall ja das $Fuellungen, den mit $setcontrol das ja den Wert Fuellungen hat, komme ich ja nicht weiter, es muss ja für die Controlid $Fuellungen lauten.
    In einem Anderen Fall dann eben: fuellungenarray(GUICtrlRead($Fuellungen), 'Farben')
    Das ist was ich bei AutoIt nunmal noch gar nicht verstehe :(
    So das GUICtrlSetData auch wirklich das auffüllt was es soll :(

    Danke dir oder dem Antwortenden eben ^^

    MfG

  • Frage zur Gui bzw GUICtrlSetState

    • Rigobert
    • 11. März 2017 um 12:01

    Danke für dein Beispiel Kanashius.
    Aber das ist nicht ganz das was ich suche oder brauche.
    Ich möchte das der Übersicht halber auf der Gui wie ich sie gebaut habe als RadioButton haben.
    Also es soll so aussehen:
    1.) Gruppe 1 -> Auswahl der Kategorie. Bei Auswahl anzeige der Gruppe 2 gefüllt mit Werten der Auswahl aus Gruppe 1
    2.) Gruppe 2 wird Angezeigt -> Auswahl der Art. Bei Auswahl wird Gruppe 3 angezeigt gefüllt mit den Werten der Auswahl aus Gruppe 1
    usw usw.
    Insgesamt sind es 8 Gruppen die Dynamisch aufgebaut werden müssen.
    Derzeit 8 falls mir noch etwas auffallen sollte können es durchaus mehr werden.
    Darum will ich das ja Dynamisch machen, es geht hierbei um Merkmale der Produkte usw.
    Kann durchaus auch sein das es weniger werden.
    Platz habe ich auf der Gui auf jeden Fall bereit gestellt.
    Ja ich weis mit Comboboxen bräuchte ich nicht so viel Platz.
    Aber darunter würde die Übersicht die ich brauche leiden :(

    Ausserdem ist es denke ich egal ob Combo oder Radio was die Findung der Eindeutigkeit für mich betrifft.
    Ich sagte ja ich bin Begriffsstutzig.

    Edit: Stimmt autoiter, ich bin leider nicht wirklich Programmierer, sondern Admin und techniker :(
    Dein Hinweis habe ich leider erst nach dem Posten hier gelesen.
    Ich werde mir die Seite mal genauer ansehen und das ganze dann doch noch einmal überarbeiten.
    Evtl. bin ich einfach was die Gui betrifft mit scheuklappen gestraft.
    Ich sollte den Vorschlag von Kanashius vielleicht doch in erwägung ziehen.
    Da ich ja Comboboxen erstellen kann und diese nachträglich mit Werten befüllen kann.

    Danke euch allen hier für eure Geduld und ich melde mich wieder wenn ich was Ordentliches habe.
    Jetzt schreibe ich mir doch erstmal einen Projektplan :(

    MfG

  • Frage zur Gui bzw GUICtrlSetState

    • Rigobert
    • 11. März 2017 um 11:15

    Oh sorry, das war ein versehen wegen dem Copy und Paste :)
    Darum dieses Script.

    Hier soll ja das State der [0] auf Checked gesetzt werden.
    Da muss ich die For entfernen, danke für den Hinweis.
    Das muss eigentlich nur heisen:

    GUICtrlSetState($arFuellung[0], $GUI_CHECKED)

    An der stelle geht es ja um den Initialen Aufruf der Gui.
    Glatt übersehen

  • Frage zur Gui bzw GUICtrlSetState

    • Rigobert
    • 11. März 2017 um 10:52

    Hi, es geht mir dabei eigentlich nichtmal so um die ReadIniSections.
    Mir geht es Hauptsächlich um die eindeutigkeit bei den Controls.
    Z.b.:

    AutoIt
    $groupauswahl[$setini] = GUICtrlCreateGroup($group, $groupsettings[1][1], $groupsettings[2][1], $groupsettings[3][1], $groupsettings[4][1])


    Hier ist das ja noch ok.
    Aber hier :

    AutoIt
    Local $arFuellung[$Anzahl]
    For $i = 0 To UBound($arFuellung) -1
    	If $i = 0 Then
    		$wahl[0][1] = 'Nichts gewählt'
    	EndIf
    	$arFuellung[$i] = GUICtrlCreateRadio($wahl[$i][1], $controlstart[1][1], $controlstart[2][1] + 20*$i, $controlstart[3][1], $controlstart[4][1])
    		GUICtrlSetState($arFuellung[$i], 160)
     Next
    For $i = 0 To UBound($arFuellung) -2 Step 2
        GUICtrlSetState($arFuellung[0], $GUI_CHECKED)
    Next
    Alles anzeigen

    Da komme ich immo nicht klar.
    Ok, ich denke statt $arFuellung, kann ich da ja $Anzahl einsetzen.
    Was dann so aussehen würde:

    AutoIt
    For $i = 0 To UBound($Anzahl) -1
    	If $i = 0 Then
    		$wahl[0][1] = 'Nichts gewählt'
    	EndIf
    	$auswahl[$i] = GUICtrlCreateRadio($wahl[$i][1], $controlstart[1][1], $controlstart[2][1] + 20*$i, $controlstart[3][1], $controlstart[4][1])
    		GUICtrlSetState($auswahl[$i], 160)
     Next
    For $i = 0 To UBound($Anzahl) -2 Step 2
        GUICtrlSetState($auswahl[0], $GUI_CHECKED)
    Next

    Hier denke ich sollte ich irgendwie das Array erweitern.
    Also das aus $auswahl[$i] gleich sowas wird wie $auswahl[$setini][$i]
    Aber das ist der Punkt wo bugfix ja auch meint das der Knoten im Kopf entsteht

    P.s: Ich glaube das ich hier mein Verständnisproblem habe.
    Weil ich irgendwie der Meinung bin das es hier ja schon Eindeutig ist, aber die Arrays sagen mir da was anderes immo.
    Oder ich bin zu Doof das wirklich zu verstehen :(
    Und genau das würde ich gerne ändern.

    Die IniReads sind da eher uninteressant, da ich die ja immer Aktuell auslese wenn ich die Controls erstelle.
    Wirklich erreichen will ich dadurch eigentlich nur das wie schon gesagt meine Controls alle Eindeutig sind, was sie immo nicht sind.
    Beim Befüllen werden diese immo dauernd überschrieben bis zum letzten und das ist dann auch das einzige das ich wirklich ansprechen kann :(
    Denn diese Funktion wird ja in der GUI erstellung aufgerufen:

    AutoIt
    For $i = 1 To $AnzahlProduktKategorien
     	fuellungenarray($auswahlKategorien[$i][1],$i)
    Next

    Hier sollen die GuiControls erstellt werden und dann entsprechend Hide und Disable.
    Da die Erste Auswahl Gruppe in der Gui immer an 2ter Stelle steht also feste gleiche Coords haben.
    Je nach Auswahl aus der ersten Gruppe die ja "Dynamisch" Statisch ist, soll dann die 2te Gruppe Angezeigt werden.
    Dann nach Auswahl aus der 2ten Gruppe wird die 3te angezeigt usw. usw.
    Das ganze soll eine Art Beschreibungstext Maschine werden.
    Da wir sehr viele gleiche Produkte haben die sich im Text und in der Beschreibung nur in ein paar dingen unterscheiden, diese will ich hier zusammenfassen um dann den Text aus einem Block mit den Entsprechenden werten anzupassen.
    Also z.B. Textblock: Dies ist ein [Produkt] aus der [Kategorie], es hat die Maße: [Groesse] und das Gewicht beträgt: [Gewicht] die Farbe ist: [Farbe]

    usw. usw.
    Dabei geht es mir darum das solche Fehler beim Copy und Paste nicht mehr vorkommen die man macht wenn man diese Texte Tausendfach von Hand bearbeitet.
    Ich will das nur noch oben Auswählen und dann wird der Textblock geladen und die Vars im Text mit den Daten aus der Auswahl der Gui gefüllt.

    Ich hoffe das war soweit verständlich erklärt.
    Was ich sonst noch habe sind verschiedene Textblöcke, diese habe ich aber in der Gui schon drin.
    Also die Inis werden aus der gleichen Gui befüllt.
    In dieser sind einfach verschiedene Tabs und verschiedene kleine Guis die für die Einstellungen zuständig sind.
    Dies ist alles schon fertig.
    Nur hier mit der sache tu ich mich echt schwer.
    Der Rest der Guis ist mit seinen Controls eh Statisch also kein Problem gewesen.
    Schön Aufgebaut und selbst erklärend^^

    Danke im Voraus für eure Geduld

    MfG

  • Frage zur Gui bzw GUICtrlSetState

    • Rigobert
    • 11. März 2017 um 00:53

    Hm, also ich habe das jetzt nochmal neu Definiert in meinem Code sprich etwas überarbeitet.(Also genau das was ich bin nämlich überarbeitet)

    Sieht nun so aus:

    AutoIt
    Func fuellungenarray($auswahl,$setini)
    	$wahl = IniReadSection("produktini\"&$auswahl&".ini", $auswahl)
    	$group = IniRead("produktini\"&$auswahl&".ini", 'GroupName', $auswahl, '')
    	$groupsettings = IniReadSection("produktini\"&$auswahl&".ini", 'GroupSetting')
    	$controlstart = IniReadSection("produktini\"&$auswahl&".ini", 'ControlStart')
     	$Anzahl = UBound($wahl)
    	$groupauswahl = GUICtrlCreateGroup($group, $groupsettings[1][1], $groupsettings[2][1], $groupsettings[3][1], $groupsettings[4][1])
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    Local $arFuellung[$Anzahl]
    For $i = 0 To UBound($arFuellung) -1
    	If $i = 0 Then
    		$wahl[0][1] = 'Nichts gewählt'
    	EndIf
    	$arFuellung[$i] = GUICtrlCreateRadio($wahl[$i][1], $controlstart[1][1], $controlstart[2][1] + 20*$i, $controlstart[3][1], $controlstart[4][1])
    		GUICtrlSetState($arFuellung[$i], 160)
     Next
    For $i = 0 To UBound($arFuellung) -2 Step 2
        GUICtrlSetState($arFuellung[0], $GUI_CHECKED)
    Next
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlSetState($groupauswahl , 160)
    EndFunc
    Alles anzeigen

    Wie man sieht übergebe ich nun noch eine $setini.
    Das ist der Indexwert den ich zusätzlich benötige.
    Jetzt stelle ich mir die Frage wie kann ich es machen das alles was Relevant ist und Eindeutig sein muss diesen WErt mit zugewiesen bekommt.
    $wahl ist ja nun nach der IniReadSection schon ein Array.
    Ich hätte das nun gerne so gemacht z.B.:

    AutoIt
    $wahl_&$setini = IniReadSection("produktini\"&$auswahl&".ini,$auswahl)

    So hätte ich eindeutige namen für die Controls.
    Aber irgendwie will AutoIt das so nicht schlucken.
    Hat mir da vielleicht nochmal jemand einen rat?
    Das mit dem ReDim hab ich mir durchgelesen, muss aber zugeben immo übersteigt das mein Verständnis.
    Da brauch ich erst wieder etwas ruhe das ich mir das mal verinnerlichen kann.

    Danke schonmal im Voraus

    P.s: Wahrscheinlich habe ich wieder das offensichtliche übersehen, habt aber bitte nachsicht mit mir

    MfG

  • Frage zur Gui bzw GUICtrlSetState

    • Rigobert
    • 9. März 2017 um 10:08

    Hm, dann sollte ich mir evtl. was einfallen lassen für die Inis.
    Also nochmal komplett überarbeiten :(

    Danke dir

  • Frage zur Gui bzw GUICtrlSetState

    • Rigobert
    • 9. März 2017 um 10:02

    Das hast du jetzt Falsch verstanden^^
    Aber ich habe auch Geduld mit dir^^

    Ne das soll ja als String kommen.
    In PHP kann ich ja sowas machen über eine DB-Abfrage: $db[Schuh]
    In "AutoIt" :) bekomme ich das aber irgendwie nicht hin :(

    Danke

  • Frage zur Gui bzw GUICtrlSetState

    • Rigobert
    • 9. März 2017 um 09:49

    Danke dir für deine Geduld mit einem Begriffsstutzigen Menschen :)
    Ich habe mir das ganze jetzt nochmal überlegt, ich denke ich sollte das wie ich es in PHP auch machen würde mit einem Array lösen.
    Nur habe ich jetzt ein Problem mit den Array in AutoIT.
    Ich setze das hier Falsch: Global $arFuellung[$Anzahl]
    Hier sollte ich das einfügen denke ich Global $arFuellung[$auswahl][$Anzahl]
    Nur $auswahl ist ein String.
    Da bringt mir AutoIT einen Fehler :(
    Jetzt habe ich das versucht als String einzusetzen, ["&"$auswahl&"] aber auch da bringt er mir einen Fehler :(

    Ich denke mal ich habe keine Ahnung mehr :(

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™