Problem mit GUICtrlCreateTab und _GUICtrlComboBox_Create

  • Hallo, da Bilder mehr sagen als tausend Wort habe ich mal 2 gemacht.

    Ich wollte eine Gui mit mehreren Tabs, nur die Combo Box verschwindet nicht, und ist in jeden Tab sichtbar?
    Wahrscheinlich ist es ganz einfach, nur komme ich nicht darauf :(

    [autoit]


    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Res_Description=Produkt Rechner für Nicole
    #AutoIt3Wrapper_Res_Fileversion=1
    #AutoIt3Wrapper_Run_Obfuscator=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    $ini = @ScriptDir&'\Texte\Datei.ini'

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

    #include<GuiComboBox.au3>
    #include<GUIConstantsEx.au3>

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

    ; Puffer für den Text
    Global $sTextA4
    Global $sTextA3

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

    ;Gui
    $Gui=GUICreate ('Produkt-Rechner', 900,530); Wagerechte; Höhe
    GUISetFont(9, 300)
    GUISetBkColor(0x3300B2);663399 )

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

    $tab=GUICtrlCreateTab (5,10, 880,510)
    $tab0=GUICtrlCreateTabitem ("A3 und A4")
    GUICtrlcreatelabel ('Einstellungen für A4' ,10,40)
    $A4 = _GUICtrlComboBox_Create ($GUI,'', 10, 70, 250, 296)
    $ini_sektions = IniReadSection($ini, "Laserdruck")
    For $i = 1 To $ini_sektions[0][0]
    _GUICtrlComboBox_AddString($A4, $ini_sektions[$i][0])
    Next
    GUICtrlcreatelabel ('Einstellungen für A3',10,140)
    $A3 = _GUICtrlComboBox_Create ($GUI,'', 10, 160, 250, 296)
    $ini_sektions = IniReadSection($ini, "Laserdruck")
    For $i = 1 To UBound($ini_sektions) - 1
    _GUICtrlComboBox_AddString($A3, $ini_sektions[$i][0])

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

    Next
    GUICtrlcreatelabel ('Hier bitte gewünschte Anzahl für A4 eintragen' ,10,90)
    GUICtrlcreatelabel ('Hier bitte gewünschte Anzahl für A3 eintragen' ,10,180)
    $Anzahl = GUICtrlCreateEdit ("1", 90,110,50,20,0)
    $Anzahl2 = GUICtrlCreateEdit ("1", 90,200,50,20,0)
    $berechnena4 = GUICtrlCreateButton ('Berechnen für A4', 300,70)
    $berechnena3 = GUICtrlCreateButton ('Berechnen für A3', 300,160)
    $berechnenA4undA3zusammen=GUICtrlCreateButton ('Berechne Gesamtsumme von A4 und A3', 450,85)
    $endbutton = GUICtrlCreateButton ('Schließen', 800,470)

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

    $tab2=GUICtrlCreateTabitem ( "Scannen")

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

    $tab99=GUICtrlCreateTabItem("Über")
    GUICtrlCreateLabel("Hier steht mal eine Erklärung",80,130,420,120)
    GUICtrlCreateTabitem (""); end tabitem definition

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

    GUISetState(@SW_SHOW)

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

    ;Gui ENDE

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

    While 1
    $msg = GUIGetMsg()

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

    $zahl1 = GUICtrlRead($Anzahl)
    $zahl2 = GUICtrlRead($Anzahl2)

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

    Select

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

    Case $msg = $endbutton Or $msg = $GUI_EVENT_CLOSE
    exit

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

    case $msg = $berechnena4
    GetWindowText ($A4, $sTextA4, 260)
    $a4wert=IniRead($ini,'Laserdruck',$sTextA4,"Wählen Sie Bitte eine Position")
    $a4wert=$a4wert*1
    $Ergebnisa4 = $zahl1 * $a4wert * 1.19
    $ErgebnismitMWSTa4=Round($Ergebnisa4,3)

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

    $AusgabeA4=$zahl1 & "*" & $a4wert & "= " & $ErgebnismitMWSTa4&' €' & 'incl. Mwst'
    if $a4wert='Wählen Sie Bitte eine Position' then $AusgabeA4='Wählen Sie Bitte eine Position'

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

    MsgBox (64,"Preis des Auftrages A4",$AusgabeA4 ) ;Ausgabe der Rechenaufgabe

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

    case $msg = $berechnena3
    GetWindowText ($A3, $sTextA3, 260)
    $a3wert=IniRead($ini,'Laserdruck',$sTextA3,"Wählen Sie Bitte eine Position")
    $a3wert= $a3wert*2
    $Ergebnisa3 = $zahl2 * $a3wert*1.19
    $ErgebnismitMWSTa3=Round($Ergebnisa3,3)

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

    $AusgabeA3=$zahl2 & "*" & $a3wert & "= " & $ErgebnismitMWSTa3 &' € '& 'incl. Mwst'
    if $a3wert='Wählen Sie Bitte eine Position' then $AusgabeA3='Wählen Sie Bitte eine Position'
    MsgBox (64,"Preis des Auftrages A3",$AusgabeA3 )
    ;Ausgabe der Rechenaufgabe

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

    case $msg = $berechnenA4undA3zusammen

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

    GetWindowText ($A4, $sTextA4, 260)
    GetWindowText ($A3, $sTextA3, 260)

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

    $a4wert=IniRead($ini,'Laserdruck',$sTextA4,"Wählen Sie Bitte eine Position")
    $a3wert=IniRead($ini,'Laserdruck',$sTextA3,"Wählen Sie Bitte eine Position")

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

    $Ergebnisa4unda3zusammen = (($zahl1 * $a4wert)+($zahl2*$a3wert*2))*1.19
    $AusgabeA4unda3zusammenmitmwst=Round($Ergebnisa4unda3zusammen,3)

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

    $AusgabeA4unda3zusammenmitmwst=$AusgabeA4unda3zusammenmitmwst&' €' & ' incl. Mwst'
    if $Ergebnisa4unda3zusammen=0 then $AusgabeA4unda3zusammenmitmwst='Bitte Positionen wählen'
    MsgBox (64,"Preis des Auftrages A4 und A3",$AusgabeA4unda3zusammenmitmwst & 'incl. Mwst') ;Ausgabe der Rechenaufgabe

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

    EndSelect

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

    wend

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

    Func GetWindowText ($hWnd, ByRef $sString, $nMaxCount)

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

    Local $type = 'wstr'
    If (IsPtr ($sString)) Then _
    $type = 'ptr'

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

    Local $aRes = DllCall ("user32.dll", 'int', 'GetWindowTextW', _
    'HWND', $hWnd, _
    $type , $sString, _
    'int' , $nMaxCount)

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

    If @error Then _
    Return @error

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

    If (not IsPtr ($sString)) Then _
    $sString = $aRes[2]
    Return $aRes[0]

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

    EndFunc

    [/autoit]

    Ich weiß es ist nicht schön, aber ich komme eigentlich ganz gut mit den Namen der Variablen zurecht

    • Offizieller Beitrag

    So ein ähnlichen Thread hatten wir erst vor ein Paar Tagen.
    [ offen ] ComboboxEx in Tabs
    Schau dir meinen Post an. ;)
    Bezieht sich zwar auf eine ComboBoxEx, aber die Lösung ist die gleiche.
    Btw. warum benutzt du nicht eine GUICtrlCreateCombo? Die UDF Funktionen kannst du auch dafür verwenden.

  • Vielen Dank ersteinmal :)
    Sagen wir es so, ich habe keine Ahnung was der Unterschied ist. Ich weiß das ich den Bfehl den ich verwendet habe, schon mal in einen Programm von mir hatte. Habe mich jetzt nicht näher damit beschäftigt ob es alternativen gibt.

    Aber was ist der Vorteil von GUICtrlCreateCombo? gibt es da Vor/Nachteile gegenüber meinen Weg?

    Edit durch die paar Zeilen

    [autoit]


    Case $tab ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    ; Show/Hide the combo as required
    Switch GUICtrlRead($tab)
    Case 0
    WinSetState($A4, "", @SW_SHOW)
    WinSetState($A3, "", @SW_SHOW)

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

    Case Else
    WinSetState($A4, "", @SW_HIDE)
    WinSetState($A3, "", @SW_HIDE)

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

    EndSwitch

    [/autoit]

    ist das Script sehr, sehr träge geworden, nicht mehr verwendbar. aber warum ?

    Einmal editiert, zuletzt von devildevil3 (1. August 2012 um 22:05)

    • Offizieller Beitrag

    Der Vorteil liegt darin, das du dich nicht selbst um das Ein- und Ausblenden der ComoBox in einem Tab kümern mußt. ;)

  • das wäre super, nur muss ich da schauen wie ich die Werte aus der ini da rein bekomme. In den jetzigen habe ich den CodeBaustein einfach aus einen alten Script übernommen :whistling:

    • Offizieller Beitrag

    Ist doch kein Aufwand

    [autoit]

    $A4 = _GUICtrlComboBox_Create ($GUI,'', 10, 70, 250, 296)

    [/autoit]

    wird durch

    [autoit]

    $A4 = GUICtrlCreateCombo('', 10, 70, 250, 296)

    [/autoit]

    ersetzt.
    Und

    [autoit]

    $A3 = _GUICtrlComboBox_Create ($GUI,'', 10, 160, 250, 296)

    [/autoit]

    durch

    [autoit]

    $A3 = GUICtrlCreateCombo('', 10, 160, 250, 296)

    [/autoit]
  • ok, habe es angepasst, allerdings wird kein wert mehr ermittelt. Aber das schaue ich mir morgen mal an :)
    Also der Wert, den ich über GUICtrlCreateCombo auswähle.

    Einmal editiert, zuletzt von devildevil3 (1. August 2012 um 22:31)

    • Offizieller Beitrag

    Ich habe mal die Ini Datei aus deinem anderen Thread benutzt und dein Scipt angepaßt.

    Spoiler anzeigen
    [autoit]

    #Region - Timestamp
    ; 2012-08-02 00:17:16
    #EndRegion

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

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Res_Description=Produkt Rechner für Nicole
    #AutoIt3Wrapper_Res_Fileversion=1
    #AutoIt3Wrapper_Run_Obfuscator=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    $ini = @ScriptDir&'\Texte\Datei.ini'

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

    #include<GuiComboBox.au3>
    #include<GUIConstantsEx.au3>

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

    ; Puffer für den Text
    Global $sTextA4
    Global $sTextA3

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

    ;Gui
    $Gui=GUICreate ('Produkt-Rechner', 900,530); Wagerechte; Höhe
    GUISetFont(9, 300)
    GUISetBkColor(0x3300B2);663399 )

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

    $tab=GUICtrlCreateTab (5,10, 880,510)
    $tab0=GUICtrlCreateTabitem ("A3 und A4")
    GUICtrlcreatelabel ('Einstellungen für A4' ,10,40)
    $A4 = GUICtrlCreateCombo('', 10, 70, 250, 296)
    $ini_sektions = IniReadSection($ini, "Laserdruck A4")
    For $i = 1 To $ini_sektions[0][0]
    _GUICtrlComboBox_AddString($A4, $ini_sektions[$i][0])
    Next
    GUICtrlcreatelabel ('Einstellungen für A3',10,140)
    $A3 = GUICtrlCreateCombo('', 10, 160, 250, 296)
    $ini_sektions = IniReadSection($ini, "Laserdruck A3")
    For $i = 1 To UBound($ini_sektions) - 1
    _GUICtrlComboBox_AddString($A3, $ini_sektions[$i][0])

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

    Next
    GUICtrlcreatelabel ('Hier bitte gewünschte Anzahl für A4 eintragen' ,10,90)
    GUICtrlcreatelabel ('Hier bitte gewünschte Anzahl für A3 eintragen' ,10,180)
    $Anzahl = GUICtrlCreateEdit ("1", 90,110,50,20,0)
    $Anzahl2 = GUICtrlCreateEdit ("1", 90,200,50,20,0)
    $berechnena4 = GUICtrlCreateButton ('Berechnen für A4', 300,70)
    $berechnena3 = GUICtrlCreateButton ('Berechnen für A3', 300,160)
    $berechnenA4undA3zusammen=GUICtrlCreateButton ('Berechne Gesamtsumme von A4 und A3', 450,85)
    $endbutton = GUICtrlCreateButton ('Schließen', 800,470)

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

    $tab2=GUICtrlCreateTabitem ( "Scannen")

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

    $tab99=GUICtrlCreateTabItem("Über")
    GUICtrlCreateLabel("Hier steht mal eine Erklärung",80,130,420,120)
    GUICtrlCreateTabitem (""); end tabitem definition

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

    GUISetState(@SW_SHOW)

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

    ;Gui ENDE

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

    While 1
    $msg = GUIGetMsg()

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

    $zahl1 = GUICtrlRead($Anzahl)
    $zahl2 = GUICtrlRead($Anzahl2)

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

    Select

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

    Case $msg = $endbutton Or $msg = $GUI_EVENT_CLOSE
    exit

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

    case $msg = $berechnena4
    GetWindowText (GUICtrlGetHandle($A4), $sTextA4, 260)
    $a4wert=IniRead($ini,'Laserdruck A4',$sTextA4,"Wählen Sie Bitte eine Position")
    $a4wert=$a4wert*1
    $Ergebnisa4 = $zahl1 * $a4wert * 1.19
    $ErgebnismitMWSTa4=Round($Ergebnisa4,3)

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

    $AusgabeA4=$zahl1 & "*" & $a4wert & "= " & $ErgebnismitMWSTa4&' €' & 'incl. Mwst'
    if $a4wert='Wählen Sie Bitte eine Position' then $AusgabeA4='Wählen Sie Bitte eine Position'

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

    MsgBox (64,"Preis des Auftrages A4",$AusgabeA4 ) ;Ausgabe der Rechenaufgabe

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

    case $msg = $berechnena3
    GetWindowText (GUICtrlGetHandle($A3), $sTextA3, 260)
    $a3wert=IniRead($ini,'Laserdruck A3',$sTextA3,"Wählen Sie Bitte eine Position")
    $a3wert= $a3wert*2
    $Ergebnisa3 = $zahl2 * $a3wert*1.19
    $ErgebnismitMWSTa3=Round($Ergebnisa3,3)

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

    $AusgabeA3=$zahl2 & "*" & $a3wert & "= " & $ErgebnismitMWSTa3 &' € '& 'incl. Mwst'
    if $a3wert='Wählen Sie Bitte eine Position' then $AusgabeA3='Wählen Sie Bitte eine Position'
    MsgBox (64,"Preis des Auftrages A3",$AusgabeA3 )
    ;Ausgabe der Rechenaufgabe

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

    case $msg = $berechnenA4undA3zusammen

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

    GetWindowText (GUICtrlGetHandle($A4), $sTextA4, 260)
    GetWindowText (GUICtrlGetHandle($A3), $sTextA3, 260)

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

    $a4wert=IniRead($ini,'Laserdruck A4',$sTextA4,"Wählen Sie Bitte eine Position")
    $a3wert=IniRead($ini,'Laserdruck A3',$sTextA3,"Wählen Sie Bitte eine Position")

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

    $Ergebnisa4unda3zusammen = (($zahl1 * $a4wert)+($zahl2*$a3wert*2))*1.19
    $AusgabeA4unda3zusammenmitmwst=Round($Ergebnisa4unda3zusammen,3)

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

    $AusgabeA4unda3zusammenmitmwst=$AusgabeA4unda3zusammenmitmwst&' €' & ' incl. Mwst'
    if $Ergebnisa4unda3zusammen=0 then $AusgabeA4unda3zusammenmitmwst='Bitte Positionen wählen'
    MsgBox (64,"Preis des Auftrages A4 und A3",$AusgabeA4unda3zusammenmitmwst & 'incl. Mwst') ;Ausgabe der Rechenaufgabe

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

    EndSelect

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

    wend

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

    Func GetWindowText ($hWnd, ByRef $sString, $nMaxCount)

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

    Local $type = 'wstr'
    If (IsPtr ($sString)) Then _
    $type = 'ptr'

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

    Local $aRes = DllCall ("user32.dll", 'int', 'GetWindowTextW', _
    'HWND', $hWnd, _
    $type , $sString, _
    'int' , $nMaxCount)

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

    If @error Then _
    Return @error

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

    If (not IsPtr ($sString)) Then _
    $sString = $aRes[2]
    Return $aRes[0]

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

    EndFunc

    [/autoit]

    Edit: Wenn du die Standard-Combo benutzt, kannst du auch den Wert mit GUICtrlRead auslesen.

    Spoiler anzeigen
    [autoit]

    #region - Timestamp
    ; 2012-08-02 00:29:37
    #endregion - Timestamp

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

    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Res_Description=Produkt Rechner für Nicole
    #AutoIt3Wrapper_Res_Fileversion=1
    #AutoIt3Wrapper_Run_Obfuscator=y
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
    $ini = @ScriptDir&'\Texte\Datei.ini'
    #include<GuiComboBox.au3>
    #include<GUIConstantsEx.au3>

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

    ; Puffer für den Text
    Global $sTextA4
    Global $sTextA3

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

    ;Gui
    $Gui = GUICreate('Produkt-Rechner', 900, 530); Wagerechte; Höhe
    GUISetFont(9, 300)
    GUISetBkColor(0x3300B2);663399 )

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

    $tab = GUICtrlCreateTab(5, 10, 880, 510)
    $tab0 = GUICtrlCreateTabItem("A3 und A4")
    GUICtrlCreateLabel('Einstellungen für A4', 10, 40)
    $A4 = GUICtrlCreateCombo('', 10, 70, 250, 296)
    $ini_sektions = IniReadSection($ini, "Laserdruck A4")
    For $i = 1 To $ini_sektions[0][0]
    _GUICtrlComboBox_AddString($A4, $ini_sektions[$i][0])
    Next
    GUICtrlCreateLabel('Einstellungen für A3', 10, 140)
    $A3 = GUICtrlCreateCombo('', 10, 160, 250, 296)
    $ini_sektions = IniReadSection($ini, "Laserdruck A3")
    For $i = 1 To UBound($ini_sektions) - 1
    _GUICtrlComboBox_AddString($A3, $ini_sektions[$i][0])

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

    Next
    GUICtrlCreateLabel('Hier bitte gewünschte Anzahl für A4 eintragen', 10, 90)
    GUICtrlCreateLabel('Hier bitte gewünschte Anzahl für A3 eintragen', 10, 180)
    $Anzahl = GUICtrlCreateEdit("1", 90, 110, 50, 20, 0)
    $Anzahl2 = GUICtrlCreateEdit("1", 90, 200, 50, 20, 0)
    $berechnena4 = GUICtrlCreateButton('Berechnen für A4', 300, 70)
    $berechnena3 = GUICtrlCreateButton('Berechnen für A3', 300, 160)
    $berechnenA4undA3zusammen = GUICtrlCreateButton('Berechne Gesamtsumme von A4 und A3', 450, 85)
    $endbutton = GUICtrlCreateButton('Schließen', 800, 470)
    $tab2 = GUICtrlCreateTabItem("Scannen")
    $tab99 = GUICtrlCreateTabItem("Über")
    GUICtrlCreateLabel("Hier steht mal eine Erklärung", 80, 130, 420, 120)
    GUICtrlCreateTabItem(""); end tabitem definition
    GUISetState(@SW_SHOW)
    ;Gui ENDE

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

    While 1
    $msg = GUIGetMsg()
    $zahl1 = GUICtrlRead($Anzahl)
    $zahl2 = GUICtrlRead($Anzahl2)
    Select
    Case $msg = $endbutton Or $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $berechnena4
    $a4wert = IniRead($ini, 'Laserdruck A4', GUICtrlRead($A4), "Wählen Sie Bitte eine Position")
    $a4wert = $a4wert * 1
    $Ergebnisa4 = $zahl1 * $a4wert * 1.19
    $ErgebnismitMWSTa4 = Round($Ergebnisa4, 3)
    $AusgabeA4 = $zahl1 & "*" & $a4wert & "= " & $ErgebnismitMWSTa4 & ' €' & 'incl. Mwst'
    If $a4wert = 'Wählen Sie Bitte eine Position' Then $AusgabeA4 = 'Wählen Sie Bitte eine Position'
    MsgBox(64, "Preis des Auftrages A4", $AusgabeA4) ;Ausgabe der Rechenaufgabe
    Case $msg = $berechnena3
    $a3wert = IniRead($ini, 'Laserdruck A3', GUICtrlRead($A3), "Wählen Sie Bitte eine Position")
    $a3wert = $a3wert * 2
    $Ergebnisa3 = $zahl2 * $a3wert * 1.19
    $ErgebnismitMWSTa3 = Round($Ergebnisa3, 3)
    $AusgabeA3 = $zahl2 & "*" & $a3wert & "= " & $ErgebnismitMWSTa3 & ' € ' & 'incl. Mwst'
    If $a3wert = 'Wählen Sie Bitte eine Position' Then $AusgabeA3 = 'Wählen Sie Bitte eine Position'
    MsgBox(64, "Preis des Auftrages A3", $AusgabeA3)
    ;Ausgabe der Rechenaufgabe
    Case $msg = $berechnenA4undA3zusammen
    $a4wert = IniRead($ini, 'Laserdruck A4', GUICtrlRead($A4), "Wählen Sie Bitte eine Position")
    $a3wert = IniRead($ini, 'Laserdruck A3', GUICtrlRead($A3), "Wählen Sie Bitte eine Position")
    $Ergebnisa4unda3zusammen = (($zahl1 * $a4wert) + ($zahl2 * $a3wert * 2)) * 1.19
    $AusgabeA4unda3zusammenmitmwst = Round($Ergebnisa4unda3zusammen, 3)
    $AusgabeA4unda3zusammenmitmwst = $AusgabeA4unda3zusammenmitmwst & ' €' & ' incl. Mwst'
    If $Ergebnisa4unda3zusammen = 0 Then $AusgabeA4unda3zusammenmitmwst = 'Bitte Positionen wählen'
    MsgBox(64, "Preis des Auftrages A4 und A3", $AusgabeA4unda3zusammenmitmwst & 'incl. Mwst') ;Ausgabe der Rechenaufgabe
    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Vielen Dank, habe das script direkt mal angepasst, da ih die Ini Datei geändert habe, es existirt nur noch [Laserdruck] keine Unterscheidung mehr in der Ini zwischen A4 und A3.

    Funktioniert super.

    Habe dierekt ein Frage. Ich möchte verschiedene Reiter (Tabs) anlegen, der Letzte soll "Berechen" heißen.

    Dort soll aus alles gewählten Punkten in verschiedenen Tabs der Endpreis ermittelt werden

    Also praktisch habe ich ja schon den Tab Laserdruck und Scannen. Ich treffe in beiden Tabs die gewüschte auswahl und möchte in einen anderen Tab den Endpreis haben.

    Dies wird ohne Array nicht gehen. Da ja die Combobox nicht aus anderen Tabs ausgelesen werden kann, oder Irre ich mich da?

    • Offizieller Beitrag

    Wer sagt das? Die Conboboxen kannst du immer auslesen, egal auf welchem Tab du bist.

    Mal ein kleiner Tip am Rande, wenn du schnell Hilfe haben willst, mußt du auch die benötigten Daten bereitstellen.
    Z.B. die INI, es bringt nix wenn die Leute die dir Hilfe leisten wollen, sich die Daten aus den Fingern saugen müssen ;
    Keiner weis, das du deine Inidaten umgestellt hast und die INI aus einem anderen Thread zu suchen ist auch Arbeit
    die unnötig ist. ;)

    • Offizieller Beitrag

    Wenn dein Problem gelöst ist, bitte den Thread auf gelöst setzen.
    1. Post editieren und Präfix auf gelöst ändern.