Inhalt einer INI ab der zweiten Zeile in einem GUI anzeigen lassen.

  • Hallo.

    Ich habe eine test.ini mit Einträgen wie z. B.
    [dieerste]
    123=abc
    456= def
    abba=1234
    baab=wasnochkommt

    Ich möchte nun, das wenn ich einen Button drücke, das alles ab der zweiten Zeile in einem GUI angezeigt wird und das es NICHT veränderbar ist.

    Geht das und wenn ja, wie soll man das am besten umsetzen?

    LG,
    Crazy-A.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

    Einmal editiert, zuletzt von Crazy-A (27. September 2008 um 15:19)

  • Hallo Alina, hab's mal mit dem verherigen Beispiel verknüpft.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Dim $Test
    $Daten = IniReadSection("Test.ini","dieerste")

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

    GUICreate("Input Test", 320, 180, @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45)
    $input1 = GUICtrlCreateInput("", 10, 5, 300, 20)
    $input2 = GUICtrlCreateInput("", 10, 35, 300, 20) ; will not accept drag&drop files
    GUICtrlSetState(-1,$GUI_DISABLE)
    $label = GUICtrlCreateLabel("Label", 10, 95, 300, 60) ; will not accept drag&drop files
    $btn = GUICtrlCreateButton("Show", 10, 65, 300, 20)

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

    GUISetState()
    $msg = 0

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

    While $msg <> $GUI_EVENT_CLOSE
    $msg = GUIGetMsg()
    Select
    Case $msg = $input1
    If GUICtrlRead($input1) = $Daten[1][0] Then GUICtrlSetData($input2,$Daten[1][1])
    Case $msg = $input2
    Case $msg = $btn
    For $i = 2 To $Daten [0][0]
    $Test &= @CRLF& $Daten[$i][0]&" = "&$Daten[$i][1]
    Next
    GUICtrlSetData($label,$Test)
    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • habs auch ma gemacht

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    Dim $hallo

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Test", 633, 447, 193, 125)
    $Button1 = GUICtrlCreateButton("Los", 256, 264, 75, 25, 0)
    $Button2 = GUICtrlCreateButton("Beenden", 520, 400, 75, 25, 0)
    $Edit1 = GUICtrlCreateEdit("", 192, 88, 220, 145)
    GUICtrlSetState(-1,$GUI_DISABLE)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $var = IniReadSection( "test.ini", "dieerste")
    For $i = 1 To $var[0][0]
    $hallo &= "Schlüssel"&": "&$var[$i][0]&" | "&" Wert "&" :"&$var[$i][1] & @CRLF
    Next
    GUICtrlSetData ( $Edit1, $hallo)

    Case $Button2
    Exit
    EndSwitch
    WEnd

    [/autoit]
  • So ich möchte auch mal meine Senf dazugeben.

    Ich hoffe es erklärt sich von selber.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Dim $input[6]

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

    #Region ### START Koda GUI section ### Form=ini_gui.kxf
    $ini_gui = GUICreate("INI_Test", 291, 280, 193, 115)
    $Group = GUICtrlCreateGroup("Bitte Formular ausfüllen", 8, 16, 273, 241)
    $input[1] = GUICtrlCreateInput("", 98, 41, 160, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY))
    $input[2]= GUICtrlCreateInput("", 98, 71, 160, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY))
    $input[3] = GUICtrlCreateInput("", 98, 101, 160, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY))
    $input[4] = GUICtrlCreateInput("", 98, 131, 160, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY))
    $input[5]= GUICtrlCreateInput("", 98, 161, 160, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY))
    $Senden = GUICtrlCreateButton("Senden", 56, 216, 70, 33, $BS_DEFPUSHBUTTON)
    $Exit = GUICtrlCreateButton("Exit", 164, 217, 70, 33, 0)
    GUICtrlCreateLabel("wwwwwww:", 38, 41, 19, 17, BitOR($SS_RIGHT,$SS_CENTERIMAGE))
    GUICtrlCreateLabel("ssssssss:", 38, 71, 18, 17, BitOR($SS_RIGHT,$SS_CENTERIMAGE))
    GUICtrlCreateLabel("yyyyyyyyyy:", 38, 101, 35, 17, BitOR($SS_RIGHT,$SS_CENTERIMAGE))
    GUICtrlCreateLabel("xxxxxxx:", 38, 131, 32, 17, BitOR($SS_RIGHT,$SS_CENTERIMAGE))
    GUICtrlCreateLabel("dddddd:", 38, 161, 32, 17, BitOR($SS_RIGHT,$SS_CENTERIMAGE))

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

    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW,$ini_gui)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg

    Case $Exit
    Exit

    Case $GUI_EVENT_CLOSE
    Exit

    Case $Senden
    $var = IniReadSection(@Scriptdir&"\test.ini", "name")
    If @error Then
    MsgBox(4096, "", "Error occurred, probably no INI file.")
    Else
    For $i = 3 To $var[0][0]
    GUICtrlSetData($input[$i],$var[$i][1])
    Next
    EndIf

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

    EndSwitch
    WEnd

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

    ;~ Quelltest INIFILE
    ;~ ##########################
    ;~ [name]
    ;~ fffff=11111
    ;~ ggggg=222222
    ;~ hhhhh=aaaaaaaaaaa
    ;~ jjjjj=asasasas
    ;~ kkkkk=ffffffffffffffff
    ;~ ############################

    [/autoit]

    MfG
    Der_Doc

  • DANKE.

    Damit soltle ich klar kommen.

    LG,
    Crazy-A.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • Oder auch mit ListView :)

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Dim $Test

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

    GUICreate("Input Test", 320, 180, @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45)
    $input1 = GUICtrlCreateInput("", 10, 5, 300, 20)
    $input2 = GUICtrlCreateInput("", 10, 35, 300, 20) ; will not accept drag&drop files
    GUICtrlSetState(-1,$GUI_DISABLE)
    $label = GUICtrlCreateListView("Key|Value", 10, 95, 300, 60) ; will not accept drag&drop files
    $btn = GUICtrlCreateButton("Show", 10, 65, 300, 20)
    Dim $Items[1]

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

    GUISetState()
    $msg = 0

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

    While $msg <> $GUI_EVENT_CLOSE
    $msg = GUIGetMsg()
    Select
    Case $msg = $input1
    If GUICtrlRead($input1) = $Daten[1][0] Then GUICtrlSetData($input2,$Daten[1][1])
    Case $msg = $input2
    Case $msg = $btn
    For $index = 1 To UBound($Items)-1
    GUICtrlDelete($Items[$index])
    Next
    $Daten = IniReadSection(@DesktopDir&"\Test.ini","dieerste")
    If Not @error Then
    Dim $Items[$Daten[0][0]+1]
    For $i = 1 To $Daten [0][0]
    $Items[$i] = GUICtrlCreateListViewItem($Daten[$i][0]&"|"&$Daten[$i][1],$label)
    Next
    EndIf
    EndSelect
    WEnd

    [/autoit]