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>
$widthCell = 200
Global $arCSV
Global $var
Global $file = "C:\michael-test.txt"
Global $csvFile
writeGUI()
Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus
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
While 1
Sleep(1000) ; Häng rum
WEnd
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
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
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
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
[spoiler]