Anfänger Programm mit GUI Refresh Problem

  • Hallo Leute,

    Ich will ein Programm in Autoit Schreiben und habe so einige Probleme mit der GUI und dem Aktualisieren der Ansicht. Weiß auch nicht ob ich es so bisher richtig gelöst habe.

    Habe mir einiges abgeschaut, nur beim aktualisieren der Ansicht wird eine neue GUI erstellt, ich will doch nur die Inhalte der variablen ausgeben.

    Das Ziel des Programms soll es sein:

    1) Frequenzen < 200 Hz (X-Achse) abschneiden ; kommen aus einer .txt Datei
    2) Mittelwert von Y-Werten bilden
    3) Mittelwert + Sicherheitsabstand (ca. 20 oder als Eingabewert) als Sortiergrenze
    4) Maxima suchen und die Wertepaare in XLS-File mit gleichem Namen schreiben

    Ausschnitt aus der Datei:

    Frequency(Hz) Magnitude(dB)
    5.859 -83.989
    7.324 -83.554
    8.789 -84.078
    10.254 -85.957
    11.719 -86.929
    13.184 -89.013
    14.648 -89.642
    16.113 -89.390
    17.578 -86.730
    19.043 -87.638
    20.508 -89.169

    Ich wollte so vorgehen:

    • Datei öffnen, in ein array lesen
    • Punkt mit Komma ersetzen ;GUICtrlCreateLabel(StringRegExpReplace($arCSV[5], "[\.]", "\,"), 150, 70, $widthCell)
    • die spalten aufteilen in ein mehrdimensionales array
    • Frequenzen alles was < einem wert abschneiden

    usw.
    Hoffe Ihr könnt mir Helfen...
    Ich verstehe auch nicht warum ich bei zeile 30 und 32 wenn ich das komentarzeichn weg mache einen fehler bekomme...
    Habe erstmal versucht mir eine GUI zu bauen, Hier mein Code:

    [spoiler]

    [autoit]


    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <File.au3>
    #include <Array.au3>
    #include <ArrayMore.au3>

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

    $widthCell = 200
    Global $arCSV
    Global $var
    Global $file = "C:\michael-test.txt"
    Global $csvFile

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

    writeGUI()
    Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus

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

    Func writeGUI()
    $mainwindow = GUICreate("PRG für Heinrich, (C) Michael Neumann", 500, 300)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    $exitbutton = GUICtrlCreateButton("Exit", 70, 170, 60)
    GUICtrlCreateLabel("Hallo Welt! Wie geht's?", 30, 10)
    ;$okbutton = GUICtrlCreateButton("OK", 70, 170, 60)
    $refreshbutton = GUICtrlCreateButton("Aktualisieren", 150, 170, 100)
    GUICtrlSetOnEvent($refreshbutton, "REFRESHButton")
    ;GUICtrlSetOnEvent($okbutton, "OKButton")
    GUICtrlSetOnEvent($exitbutton, "CLOSEClicked")
    GUISetFont(10, 400, 0, "Sans Serif")
    GUICtrlCreateLabel("Eingelesene Zeilen:", 30, 10)
    GUICtrlCreateLabel(UBound($arCSV), 150, 10)
    GUICtrlCreateLabel("Wert Eingelesen:", 30, 40)
    ;GUICtrlCreateLabel($arCSV[5], 150, 40, $widthCell)
    GUICtrlCreateLabel("Wert Geändert:" , 30, 70)
    ;GUICtrlCreateLabel(StringRegExpReplace($arCSV[5], "[\.]", "\,"), 150, 70, $widthCell)
    GUICtrlCreateLabel("Eingelesene Datei:", 30, 100)
    GUICtrlCreateLabel($file, 150, 100)
    $var = GUICtrlCreateInput ( $file, 30, 130, 280, 20)
    GUICtrlSetState(-1,$GUI_ACCEPTFILES)
    $btn = GUICtrlCreateButton ("...", 320, 130, 20, 20)
    GUICtrlSetOnEvent($btn, "FileOpenButton")
    _FileReadToArray($file, $arCSV)
    GUISetState(@SW_SHOW)
    EndFunc ; writeGUI() ende

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

    While 1
    Sleep(1000) ; Häng rum
    WEnd

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

    Func REFRESHButton()
    ;Beachte: an diesem Punkt wäre @GUI_CTRLID gleich $okbutton,
    ;und @GUI_WINHANDLE wäre gleich $mainwindow
    ;MsgBox(0, "GUI Event", "Du hast auf OK geklickt!")
    writeGUI()
    EndFunc

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

    Func OKButton()
    ;Beachte: an diesem Punkt wäre @GUI_CTRLID gleich $okbutton,
    ;und @GUI_WINHANDLE wäre gleich $mainwindow
    MsgBox(0, "GUI Event", "Du hast auf OK geklickt!")
    EndFunc

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

    Func CLOSEClicked()
    ;Beachte: an diesem Punkt wäre @GUI_CTRLID gleich $GUI_EVENT_CLOSE,
    ;und @GUI_WINHANDLE wäre gleich $mainwindow
    ;MsgBox(0, "GUI Event", "Du hast auf CLOSE geklickt! Programm wird beendet...")
    MsgBox(0, "GUI Event", $file)
    Exit
    EndFunc

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

    Func FileOpenButton()
    ;Beachte: an diesem Punkt wäre @GUI_CTRLID gleich $okbutton,
    ;und @GUI_WINHANDLE wäre gleich $mainwindow
    $var = FileOpenDialog($file, @ScriptFullPath, "Text (*.txt;*.csv)", 1 + 4 )
    $file = $var
    writeGUI()
    EndFunc

    [/autoit]

    [spoiler]

    2 Mal editiert, zuletzt von micneu (6. August 2008 um 08:59)

  • Weise den Labels doch ne Variable zu. Anschließend beim OK Button dann GUICtrlSetData auf die Variablen der Labels mit dem gewünschten Wert und der Spaß ist refreshed.

    Wie meinst du das kannst du mir ein beispiel geben... habe eben keine erfahrung...

    • Offizieller Beitrag

    Wenn Du die GUI in einer Funktion erstellst musst Du vor die Variablen ein "Global" setzen, sonst sind es lokale Variablen.

    Das in Zeile 30 bzw. 32 ein Fehler auftritt, liegt daran, dass Du dort ein Array benutzt, das so (noch) nicht existiert: $arCSV[5]

    Wenn das Label später diesen Wert aus dem Array bekommen soll, musst Du den Labels eine globale Variable zuweisen: $Label1 = GUICtrlCreateLabel(...).

    Beim erstellen läßt Du den Eintrag erstmal leer, also statt $arCSV[5] einfach ein Leerstring "" eintragen. Später im Programm kannst Du dem Label dann den Wert geben, mit GUICtrlSetData($Label1, $arCSV[5]), wenn das Array $arCSV tatsächlich diesen 6. Eintrag beinhaltet.

  • Hallo Leute ich Versuche mal Strucktur rein zu Bringen.

    Soweit Läuft auch alles, nur in Zeile 32 wird das gleiche ausgegeben wie in zeile 30.
    Was mache ich Falsch, habe ja auch in Zeile 51 die gleiche variable mit dem array.

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <File.au3>
    #include <Array.au3>
    #include <ArrayMore.au3>

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

    Global $zellenBreite = 400
    Global $csvDateiInhaltArray = ""
    Global $openFileDialog = ""
    Global $openFileDialogSourceDatei = ""
    Global $openFileDialogAnzeigen = ""
    Global $zaehlerAnzeigen = ""
    Global $zeilenZaehlen = ""
    Global $arrayInhalt = ""
    Global $arrayInhaltWandel = ""
    writeGUI()
    Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus

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

    Func writeGUI()
    $mainwindow = GUICreate("PRG für Heinrich, (C) Michael Neumann", 500, 300) ; Titelleiste mit Beschriftung und Fenstergröße Definiert
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    $exitbutton = GUICtrlCreateButton("Exit", 70, 170, 60) ; EXIT Button
    $refreshbutton = GUICtrlCreateButton("Aktualisieren", 150, 170, 100) ; Aktualisieren Button
    GUICtrlSetOnEvent($refreshbutton, "REFRESHButton") ; Ruft die Funktion REFRESHButton() auf
    GUICtrlSetOnEvent($exitbutton, "CLOSEClicked")
    GUISetFont(10, 400, 0, "Sans Serif") ; Schrift für die GUI
    GUICtrlCreateLabel("Eingelesene Zeilen:", 30, 10)
    $zaehlerAnzeigen = GUICtrlCreateLabel($zeilenZaehlen, 150, 10, $zellenBreite)
    GUICtrlCreateLabel("Wert Eingelesen:", 30, 40)
    $arrayInhalt = GUICtrlCreateLabel($csvDateiInhaltArray, 150, 40, $zellenBreite)
    GUICtrlCreateLabel("Wert Geändert:" , 30, 70)
    $arrayInhaltWandel = GUICtrlCreateLabel(StringRegExpReplace($csvDateiInhaltArray, "[\.]", "\,"), 150, 70, $zellenBreite)
    GUICtrlCreateLabel("Eingelesene Datei:", 30, 100)
    $openFileDialogAnzeigen = GUICtrlCreateLabel($openFileDialog, 150, 100, $zellenBreite)
    $openFileDialogSourceDatei = GUICtrlCreateInput ($openFileDialog, 30, 130, 280, 20)
    GUICtrlSetState(-1,$GUI_ACCEPTFILES)
    $openFileDialog = GUICtrlCreateButton ("...", 320, 130, 20, 20)
    GUICtrlSetOnEvent($openFileDialog, "FileOpenButton")
    GUISetState(@SW_SHOW)
    EndFunc ; writeGUI() ende

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

    While 1
    Sleep(1000) ; Häng rum
    WEnd

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

    Func REFRESHButton()
    GUICtrlSetData($openFileDialogAnzeigen, $openFileDialog)
    GUICtrlSetData($openFileDialogSourceDatei, $openFileDialog)
    GUICtrlSetData($zaehlerAnzeigen, $zeilenZaehlen)
    GUICtrlSetData($arrayInhalt, $csvDateiInhaltArray[5])
    GUICtrlSetData($arrayInhaltWandel, $csvDateiInhaltArray[5])
    EndFunc

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

    ;Func OKButton()
    ;Beachte: an diesem Punkt wäre @GUI_CTRLID gleich $okbutton,
    ;und @GUI_WINHANDLE wäre gleich $mainwindow
    ;MsgBox(0, "GUI Event", "Du hast auf OK geklickt!")
    ;EndFunc

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

    Func CLOSEClicked()
    If $openFileDialog > 0 Then
    MsgBox(0, "GUI Event", "Keine Datei Ausgewählt, Programm wird Beendet")
    Exit
    EndIf
    MsgBox(0, "GUI Event", $openFileDialog & @LF & @LF & UBound($csvDateiInhaltArray))
    Exit
    EndFunc

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

    Func FileOpenButton()
    $openFileDialog = FileOpenDialog($openFileDialog, @ScriptFullPath, "Text (*.txt;*.csv)", 1 + 4 )
    _FileReadToArray($openFileDialog, $csvDateiInhaltArray)
    $zeilenZaehlen = UBound($csvDateiInhaltArray)
    REFRESHButton()
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von micneu (17. Juni 2008 um 21:42)

    • Offizieller Beitrag

    Ich meinte das eher so:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <File.au3>
    #include <Array.au3>
    ; #include <ArrayMore.au3>

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

    Global $zellenBreite = 400
    Global $csvDateiInhaltArray = ""
    Global $openFileDialog = ""
    Global $openFileDialogSourceDatei = ""
    Global $openFileDialogAnzeigen = ""
    Global $zaehlerAnzeigen = ""
    Global $zeilenZaehlen = ""
    Global $arrayInhalt = ""
    Global $arrayInhaltWandel = ""
    writeGUI()
    Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus

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

    Func writeGUI()
    $mainwindow = GUICreate("PRG für Heinrich, (C) Michael Neumann", 500, 300) ; Titelleiste mit Beschriftung und Fenstergröße Definiert
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    $exitbutton = GUICtrlCreateButton("Exit", 70, 170, 60) ; EXIT Button
    $refreshbutton = GUICtrlCreateButton("Aktualisieren", 150, 170, 100) ; Aktualisieren Button
    GUICtrlSetOnEvent($refreshbutton, "REFRESHButton") ; Ruft die Funktion REFRESHButton() auf
    GUICtrlSetOnEvent($exitbutton, "CLOSEClicked")
    GUISetFont(10, 400, 0, "Sans Serif") ; Schrift für die GUI
    GUICtrlCreateLabel("Eingelesene Zeilen:", 30, 10)
    $zaehlerAnzeigen = GUICtrlCreateLabel($zeilenZaehlen, 150, 10, $zellenBreite)
    GUICtrlCreateLabel("Wert Eingelesen:", 30, 40)
    $arrayInhalt = GUICtrlCreateLabel("", 150, 40, $zellenBreite)
    GUICtrlCreateLabel("Wert Geändert:" , 30, 70)
    $arrayInhaltWandel = GUICtrlCreateLabel("", 150, 70, $zellenBreite)
    GUICtrlCreateLabel("Eingelesene Datei:", 30, 100)
    $openFileDialogAnzeigen = GUICtrlCreateLabel($openFileDialog, 150, 100, $zellenBreite)
    $openFileDialogSourceDatei = GUICtrlCreateInput ($openFileDialog, 30, 130, 280, 20)
    GUICtrlSetState(-1,$GUI_ACCEPTFILES)
    $openFileDialog = GUICtrlCreateButton ("...", 320, 130, 20, 20)
    GUICtrlSetOnEvent($openFileDialog, "FileOpenButton")
    GUISetState(@SW_SHOW)
    EndFunc ; writeGUI() ende

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

    While 1
    Sleep(1000) ; Häng rum
    WEnd

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

    Func REFRESHButton()
    GUICtrlSetData($openFileDialogAnzeigen, $openFileDialog)
    GUICtrlSetData($openFileDialogSourceDatei, $openFileDialog)
    GUICtrlSetData($zaehlerAnzeigen, $zeilenZaehlen)
    If IsArray($csvDateiInhaltArray) Then
    GUICtrlSetData($arrayInhalt, $csvDateiInhaltArray[5])
    GUICtrlSetData($arrayInhaltWandel, StringRegExpReplace($csvDateiInhaltArray[5], "[\.]", "\,"))
    EndIf
    EndFunc

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

    ;Func OKButton()
    ;Beachte: an diesem Punkt wäre @GUI_CTRLID gleich $okbutton,
    ;und @GUI_WINHANDLE wäre gleich $mainwindow
    ;MsgBox(0, "GUI Event", "Du hast auf OK geklickt!")
    ;EndFunc

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

    Func CLOSEClicked()
    If $openFileDialog > 0 Then
    MsgBox(0, "GUI Event", "Keine Datei Ausgewählt, Programm wird Beendet")
    Exit
    EndIf
    MsgBox(0, "GUI Event", $openFileDialog & @LF & @LF & UBound($csvDateiInhaltArray))
    Exit
    EndFunc

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

    Func FileOpenButton()
    $openFileDialog = FileOpenDialog($openFileDialog, @ScriptFullPath, "Text (*.txt;*.csv)", 1 + 4 )
    _FileReadToArray($openFileDialog, $csvDateiInhaltArray)
    $zeilenZaehlen = UBound($csvDateiInhaltArray)
    REFRESHButton()
    EndFunc

    [/autoit]


    Hallo Mods und Admins! Dieser Thread gehört wohl eher nach Hilfe & Unterstützung! Bitte verschieben! Danke!

  • Hallo Leute,

    Ich habe mein Programm soweit das ich Werte aus einer Datei einlese, Die Werte mit RegularExpresion verändere und alles in eine Datei Schreibe mit abfrage ob eine datei angegebne wurde oder nicht.

    Jetzt möchte ich noch die Zeilen in ein Mehrdimensionales array Speichern und dieses weiter verarbeiten, und einen Progressbar wenn die datei geschrieben wird nur weiß ich nicht wie, habe mir das beispiel in der hilfe angeschaut nur hat es mir nix gebracht.

    hier der aufbau der Daten:

    5.859 -83.989
    7.324 -83.554
    8.789 -84.078
    10.254 -85.957
    11.719 -86.929
    13.184 -89.013
    14.648 -89.642
    16.113 -89.390
    17.578 -86.730
    19.043 -87.638
    20.508 -89.169
    21.973 -87.449
    23.438 -88.333
    24.902 -93.796
    26.367 -84.490
    27.832 -86.846
    29.297 -101.075

    Hier mein Code:
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_outfile=DFT_Spectrum-Optimierer.exe
    #AutoIt3Wrapper_Res_Fileversion=0.0.1.2
    #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
    #AutoIt3Wrapper_Res_Language=1031
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.2.12.0
    Author: Michael Neumann

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <File.au3>
    #include <Array.au3>
    #include <ArrayMore.au3>
    #include <ProgressConstants.au3>

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

    Global $zellenBreite = 400
    Global $csvDateiInhaltArray = ""
    Global $openFileDialog = ""
    Global $openFileDialogSourceDatei = ""
    Global $openFileDialogDestinationDatei = "TESTDATEI.txt"
    Global $openFileDialogAnzeigen = ""
    Global $zaehlerAnzeigen = ""
    Global $zeilenZaehlen = ""
    Global $arrayInhalt = ""
    Global $arrayInhaltWandel = ""
    Global $i = ""
    writeGUI()
    Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus

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

    Func writeGUI()
    $mainwindow = GUICreate("PRG für Heinrich, (C) Michael Neumann", 500, 300, -1, 0x00000018) ; Titelleiste mit Beschriftung und Fenstergröße Definiert
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    $exitbutton = GUICtrlCreateButton("Exit", 70, 220, 60) ; EXIT Button
    $startbutton = GUICtrlCreateButton("Start", 150, 220, 100) ; Start Button
    GUICtrlSetOnEvent($startbutton, "STARTButton") ; Ruft die Funktion STARTButton() auf
    GUICtrlSetOnEvent($exitbutton, "CLOSEClicked")
    GUISetFont(10, 400, 0, "Sans Serif") ; Schrift für die GUI
    GUICtrlCreateLabel("Eingelesene Zeilen:", 30, 10)
    $zaehlerAnzeigen = GUICtrlCreateLabel($zeilenZaehlen, 150, 10, $zellenBreite)
    GUICtrlCreateLabel("X-Achse", 160, 50)
    GUICtrlCreateLabel("Y-Achse", 250, 50)
    GUICtrlCreateLabel("Wert Eingelesen:", 30, 70)
    $arrayInhalt = GUICtrlCreateLabel("", 150, 40, $zellenBreite)
    GUICtrlCreateLabel("Wert Geändert:" , 30, 100)
    $arrayInhaltWandel = GUICtrlCreateLabel("", 150, 70, $zellenBreite)
    GUICtrlCreateLabel("Eingelesene Datei:", 30, 130)
    $openFileDialogAnzeigen = GUICtrlCreateLabel($openFileDialog, 150, 130, $zellenBreite)
    $openFileDialogSourceDatei = GUICtrlCreateInput ($openFileDialog, 30, 180, 280, 20)
    GUICtrlSetState(-1,$GUI_ACCEPTFILES)
    $openFileDialog = GUICtrlCreateButton ("...", 320, 180, 20, 20)
    GUICtrlSetOnEvent($openFileDialog, "FileOpenButton")
    GUICtrlCreateMenu("Datei")
    GUISetState(@SW_SHOW)
    EndFunc ; writeGUI() ende

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

    While 1
    Sleep(1000) ; Häng rum
    WEnd

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

    Func REFRESHButton()
    GUICtrlSetData($openFileDialogAnzeigen, $openFileDialog)
    GUICtrlSetData($openFileDialogSourceDatei, $openFileDialog)
    GUICtrlSetData($zaehlerAnzeigen, $zeilenZaehlen)
    If IsArray($csvDateiInhaltArray) Then
    GUICtrlSetData($arrayInhalt, $csvDateiInhaltArray[5])
    GUICtrlSetData($arrayInhaltWandel, StringRegExpReplace($csvDateiInhaltArray[5], "[\.]", "\,"))
    EndIf
    EndFunc

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

    Func STARTButton()
    If $openFileDialog > 0 Then
    MsgBox(0, "GUI Event", "Keine Datei Ausgewählt," & @CRLF & "Bitte wählen sie eine Datei!")
    Else
    verlauf()
    FileWriteLine($openFileDialogDestinationDatei, "DFT spectrum")
    FileWriteLine($openFileDialogDestinationDatei, "NumPoints = " & $zeilenZaehlen &", ")
    FileWriteLine($openFileDialogDestinationDatei, "Frequency(Hz) Magnitude(dB)")
    $i = 4
    MsgBox(0,"Eingelesene Zeilen:", $zeilenZaehlen)
    Do
    FileWriteLine($openFileDialogDestinationDatei, StringRegExpReplace($csvDateiInhaltArray[$i], "[\.]", "\,"))
    $i = $i + 1
    Until $i = $zeilenZaehlen
    FileClose($openFileDialogDestinationDatei)
    MsgBox(0,"", "Datei Geschrieben!")
    EndIf
    EndFunc

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

    Func CLOSEClicked()
    MsgBox(0, "GUI Event", "Programm Ende")
    Exit
    EndFunc

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

    Func FileOpenButton()
    $openFileDialog = FileOpenDialog($openFileDialog, @ScriptFullPath, "Text (*.txt;*.csv)", 1 + 4 )
    _FileReadToArray($openFileDialog, $csvDateiInhaltArray)
    $zeilenZaehlen = UBound($csvDateiInhaltArray)
    REFRESHButton()
    EndFunc

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

    Func verlauf()
    ;hier soll der Progressbar rein... nur wie
    EndFunc

    [/autoit]

    Edit BugFix: Spoiler und AutoIt-Tags gesetzt

    3 Mal editiert, zuletzt von BugFix (14. Juni 2008 um 10:01)

    • Offizieller Beitrag

    Ich würde es hier unterbringen:

    Spoiler anzeigen
    [autoit]

    Func STARTButton()
    If $openFileDialog > 0 Then
    MsgBox(0, "GUI Event", "Keine Datei Ausgewählt," & @CRLF & "Bitte wählen sie eine Datei!")
    Else
    verlauf()
    FileWriteLine($openFileDialogDestinationDatei, "DFT spectrum")
    FileWriteLine($openFileDialogDestinationDatei, "NumPoints = " & $zeilenZaehlen &", ")
    FileWriteLine($openFileDialogDestinationDatei, "Frequency(Hz) Magnitude(dB)")
    $i = 4
    MsgBox(0,"Eingelesene Zeilen:", $zeilenZaehlen)
    Local $step = Floor(100/$zeilenZaehlen), $progress = 0
    ProgressOn('Schreibe in Datei', 'Spektrumanalyse')
    Do
    $progress += $step
    ProgressSet($progress, $progress & ' %')
    FileWriteLine($openFileDialogDestinationDatei, StringRegExpReplace($csvDateiInhaltArray[$i], "[\.]", "\,"))
    $i = $i + 1
    Until $i = $zeilenZaehlen
    ProgressSet(100, 'Fertig!')
    Sleep(1500)
    ProgressOff()
    FileClose($openFileDialogDestinationDatei)
    MsgBox(0,"", "Datei Geschrieben!")
    EndIf
    EndFunc

    [/autoit]
  • Danke BugFix,

    Nur habe ich es probiert, Es erscheint der Progress nur Ändert es nich die Anzeige und unter dem Blauen Balken die Prozentanzeige bleibt bei 0% blinken, erst wenn er bei 100% ist zeigt sich der blauae balken. und die schrift ändert sich zu 100%.
    [Blockierte Grafik: http://www.micneu.net/spectrum.JPG
    das Bild habe ich ca. 3-5 sekunden gemacht.

  • Hallo Leute,

    Ich habe mich ein wenig an dem Progress versucht, Habe 2 Funktionen gebaut die ich bei mir einbauen will nur gehen beide nicht so wie ich es will
    Bei der ersten Funktion Läuft der Zähler Unendlich und der Balken ist schon bei 100%
    als Do Schleife

    Spoiler anzeigen
    [autoit]


    Func Balken()
    Local $iz = 0
    ProgressOn("Schreibe in Datei", "Spektrumanalyse", "0 Prozent", -1, -1)
    Do
    ProgressSet($iz, $iz & "Prozent")
    $iz = $iz + 1
    until $iz = Floor(100/$zeilenZaehlen)
    ProgressSet(100 , "Done", "Complete")
    sleep(500)
    ProgressOff()
    EndFunc

    [/autoit]

    Bei meiner 2. Funktion Läuft erst der Balken und danach die der Rest als For Schleife

    [autoit]


    Func _Balken2()
    ProgressOn("Progress Meter", "Increments every second", "0 percent")
    For $iz = 0 to Floor(100/$zeilenZaehlen) step 10
    sleep(1000)
    ProgressSet( $iz, $iz & " Prozent")
    Next
    ProgressSet(100 , "Done", "Complete")
    sleep(500)
    ProgressOff()
    EndFunc

    [/autoit]

    Wo muß ich die Funktion einbauen?
    und was ist Besser als Do oder als For?
    Habe ich die Funktionen richtig erstellt?

    Spoiler anzeigen
    [autoit]


    Func STARTButton()
    If $openFileDialog > 0 Then
    MsgBox(0, "GUI Event", "Keine Datei Ausgewählt," & @CRLF & "Bitte wählen sie eine Datei!")
    Else
    FileWriteLine($openFileDialogDestinationDatei, "DFT spectrum")
    FileWriteLine($openFileDialogDestinationDatei, "NumPoints = " & $zeilenZaehlen &", Resolution = 1.465 Hz")
    FileWriteLine($openFileDialogDestinationDatei, "Frequency(Hz) Magnitude(dB)")
    $i = 4
    ;MsgBox(0,"Eingelesene Zeilen:", $zeilenZaehlen)
    Do
    FileWriteLine($openFileDialogDestinationDatei, StringRegExpReplace($csvDateiInhaltArray[$i], "[\.]", "\,"))
    $i = $i + 1

    Until $i = $zeilenZaehlen
    FileClose($openFileDialogDestinationDatei)
    MsgBox(0,"", "Datei Geschrieben!")
    EndIf
    EndFunc

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

    und hier?

    Spoiler anzeigen
    [autoit]


    Func ANZEIGENButton()
    Local $AR_SOURCE = $csvDateiInhaltArray
    _ArrayDisplay($AR_SOURCE, "Test Ausgabe")
    EndFunc

    [/autoit]