Hallo AutoIT'ler,
ich habe folgendes Problem. Ich hab mir für Arbeit ein kleines Tool geschrieben welches unter anderem ein Edit-Feld beinhaltet. In diesem Editfeld werden eigentlich nur Zahlen eingetragen und das Zeile für Zeile. Dadrunter hab ich ein Label gemacht, welches die Anzahl der Zeilen regelmäßig aktualisiert. Verwendet habe ich dafür _GUICtrlEdit_GetLineCount
Ansich funktioniert das wunderbar... habe ich 5 Zahlen eingetragen zählt der Counter auch auf 5 hoch. So soll es eigentlich sein.
Da diese Zahlen aber für Reportingzwecke benötigt werden, müssen sie immer(!!) stimmen. Das "System" kann aber durch leere Zeilen umgehen
Als Beispiel:
123456
123456
123456
123456
Counter zeigt 4. So weit, so gut.
123456
123456
123456
123456
Counter zeigt 5. Nicht gut - denn er zählt die Leerzeile natürlich als Zeile mit - AutotIt ist mit dieser Funktion ja erstmal vollkommen egal ob in der Zeile auch wirklich was drin steht. Es kann also durchaus auch passieren das die Leerzeile am Ende des Editfelds auftaucht wo man es gar nicht mitbekommen würde, es sei denn der Cursor blinkt dort.
[autoit]
$zeilen_addcust = _GUICtrlEdit_GetLineCount($AddCust)
$zeilen_supplies = _GUICtrlEdit_GetLineCount($Supplies)
If $read_addcust <> GUICtrlRead($AddCust) Then
GUICtrlSetData($label1, $zeilen_addcust)
If $zeilen_addcust < 10 Then
GUICtrlSetColor($label1, 0xFF0000)
ElseIf $zeilen_addcust > 10 AND $zeilen_addcust < 20 Then
GUICtrlSetColor($label1, 0xFFAA00)
ElseIf $zeilen_addcust > 20 Then
GUICtrlSetColor($label1, 0x33CC33)
If _IsPressed("0D") Then
FileDelete(@TempDir & "\addcusts.txt")
FileDelete(@TempDir & "\supplies.txt")
FileWrite(@TempDir & "\addcusts.txt", $read_addcust)
FileWrite(@TempDir & "\supplies.txt", $read_supplies)
EndIf
EndIf
EndIf
So sieht der Codeschnipsel aus - da muss es doch auch eine Lösung für geben oder?
Meine Tools die ich für Arbeit schreibe erweitern sich immer erst nach und nach und werden meist aus vielen Codeschnipseln irgendwie zusammengesetzt^^ habt daher etwas nachsehen.
LG
Mirko