|
You last visited: Today at 13:48
Advertisement
Tratsch rund um Autoit / Autoit Talk | kleinere Fragen
Discussion on Tratsch rund um Autoit / Autoit Talk | kleinere Fragen within the AutoIt forum part of the Coders Den category.
05/13/2012, 17:51
|
#61
|
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
|
Flattern durch guictrlsetdata verhindern
Ich möchte mir ausgelesene Werte in einem Label anzeigen lassen. Das funktioniert auch so:
Code:
GUICtrlSetData($targethplabel, $targethpcurvalue & "/" & $targethpmaxvalue)
Damit das immer aktualisiert wird, steckt der Befehl in einer Endlosschleife mit Sleep(50).
Durch das schnelle Wiederholen flackert aber das Label.
Das möchte ich verhindern, indem ich nur Überschreibe, falls der Wert sich seit dem letzten Durchlauf der Schleife geändert hat. Habe das wie folgt versucht mit einer If Abfrage umzusetzen:
Code:
If Not GUICtrlRead($targethplabel) = $targethpcurvalue & "/" & $targethpmaxvalue) Then
GUICtrlSetData($targethplabel, $targethpcurvalue & "/" & $targethpmaxvalue)
EndIf
Das funktioniert aber nicht. Das Label behält den im Gui definierten Anfangswert.
Was muss ich anders machen?
Edit: Bin gerade dabei, einen Lösungsansatz zu testen: Statt Not und = nehme ich <>. Irgendwie scheint das zu funktionieren. Kann mir einer erklären, wo der unterschied zwischen "größer oder kleiner" und "nicht gleich" ist ? O.o
Edit 2: Ja, funktioniert jetzt perfekt. Der neue Code:
Code:
If GUICtrlRead($targethplabel) <> $targethpcurvalue & "/" & $targethpmaxvalue) Then
GUICtrlSetData($targethplabel, $targethpcurvalue & "/" & $targethpmaxvalue)
EndIf
Bin aber immer noch auf der Suche nach einer Erklärung.
|
|
|
05/13/2012, 18:49
|
#62
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
Quote:
Originally Posted by Njahs
Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#include <String.au3>
Global $File = "DeineDatei.txt"
Global $Lenght = StringLen(FileRead($File))
$Test = GUICreate("Test", 347, 80, 192, 164)
$Label1 = GUICtrlCreateLabel("Zeichen löschen von...", 8, 11, 113, 17)
$FromInput = GUICtrlCreateInput("", 128, 8, 81, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER))
$label2 = GUICtrlCreateLabel("bis...", 8, 43, 26, 17)
$ToInput = GUICtrlCreateInput("", 40, 40, 81, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER))
$Label3 = GUICtrlCreateLabel("Maximal: "&$Lenght, 136, 43, 100, 17)
$StartButton = GUICtrlCreateButton("Go", 248, 16, 57, 41, 0)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $StartButton
If $ToInput <= $Lenght and $FromInput > 0 Then Exitloop
Exit
EndSwitch
WEnd
GuiSetState(@SW_HIDE)
Global $String = FileRead($File),$iFrom = GuiCtrlRead($FromInput),$iTo = GuiCtrlRead($ToInput)
Global $StringMid = StringMid($String,$iFrom,($iTo-$iFrom))
_ReplaceStringInFile($File,$StringMid,"")
Hoffe ist das, was du wolltest ^^
|
Hmm, doch nicht so das, was ich suche. In der UDF wird das File auch eingelesen.
|
|
|
05/13/2012, 19:41
|
#63
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
wenn du den inhalt von etwas nutzen willst, musst du diesen zwangsweise kennen, und musst dementsprechend die datei auch einlesen.
willst du eine speicherüberbeanspruchung vermeiden, kannst du die datei ja in bestimmten schritten einlesen.
angenommen du hast eine 5gb große datei und willst bei 3,8gb 100mb löschen, dann könntest du so vorgehen:
- Schritt 1: 100Mb einlesen
- Schritt 2: Gelesenes in Datei schreiben
- Schritt 3: Wiederhole Schritt 1 & 2 bis du bei 3,8gb angekommen bist
- Schritt 4: Überspringe 100mb
- Schritt 5: Wiederhole Schritt 1 & 2 bis zum ende des Files.
|
|
|
05/13/2012, 19:46
|
#64
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
Hm, das ist eine sehr gute Idee 
Mal sehen, wie es so von der Zeit her läuft.
|
|
|
05/14/2012, 20:59
|
#65
|
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
|
neue frage:

wie kann ich die daten einer webcam auslesen? ich möchte sowas in der art wie motion tracking realisieren. die udf  hilft mir wenig, da erst die webcam auf dem bildschirm angezeigt wird und anschließend wieder der bildschirm ausgelesen wird ^^
thx für jede hilfe
|
|
|
05/14/2012, 21:41
|
#66
|
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,403
|
Hi, dafür gibt es schon ein Programm:
MfG
|
|
|
05/15/2012, 14:04
|
#67
|
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
|
also ich möchte es schon selber programmieren  und es geht auch nur in die richtung motion tracking eher allgemein bilderkennung. nur um bilder zu erkennen muss ich erstmal zugriff auf die webcamdaten bekommen.
trotzdem danke
|
|
|
05/15/2012, 19:35
|
#68
|
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,403
|
Kann man die Umrahmung einer Group verändern?
Ich möchte eine schwarze Umrandung - geht das?
MfG
|
|
|
05/15/2012, 19:48
|
#69
|
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
|
Probier mal, die Group als Variable zu definieren und dann guictrlsetcolor(). [ungetestet]
|
|
|
05/15/2012, 19:50
|
#70
|
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,403
|
Funktioniert nicht.
Aber trotzdem danke für deine Antwort.
MfG
|
|
|
05/15/2012, 19:51
|
#71
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
Quote:
Originally Posted by Achat
Kann man die Umrahmung einer Group verändern?
Ich möchte eine schwarze Umrandung - geht das?
MfG
|
GuiCtrlCreateLabel() & GUictrlsetBkColor() FTW 
Hab ich früher mal so gemacht.
|
|
|
05/15/2012, 21:22
|
#72
|
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
|
Hab ein kleines Problem.
Ich habe eine Gui und 2 Buttons.
Wenn ich auf den ersten Button drücke, würd eine Funktion ausgeführt, diese in etwas so aussieht
PHP Code:
while $on = 1 then
For ;;;;;;;;;;;
For ;;;;;
Next;;;;
For;;;;;
Next Next
Wend
Wie kann ich jetzt noch den 2ten button drücken?
Dieser soll diese Funktion beenden.
mfg Logtetsch
|
|
|
05/15/2012, 21:26
|
#73
|
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,403
|
Hast du GuiOnEventMode oder eine GUI-While Schleife?
MfG
Quote:
Originally Posted by lolkop
niemals in funktionen endlosschleifen beginnen... das ist einer der schlimmsten anfängerfehler, die man begehen kann...
|
|
|
|
05/15/2012, 21:32
|
#74
|
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
|
Statt ner while Schleife würde Ich
Code:
Do
;deine Func
Until GuiGetMsg()=$Button2
machen.
Ansonsten könntest du irgendwo ne If Abfrage einbauen mit Exitloop.
|
|
|
05/15/2012, 22:35
|
#75
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
Code:
If GuiGetmsg() = $button2 then ExitLoop
|
|
|
Similar Threads
|
[Sammelthread]Fragen zu Autoit wie man Hacks herstellt(Autoit) + Antworten
11/16/2011 - Metin2 - 0 Replies
Hallo Liebe Community,
Ich habe diesen Thread aufgemacht weil manche leute mit Autoit nicht mehr weiterkommen wie man Hack herstellt ,ich habe mit schon ein Multihack mit Autoit herstellt das war einfach .Da viele User nicht weiterkommen werden habe ich mich entschieden ein Thread aufzumachen mit Fragen und ich den dann Antworten kann und helfen kann!
------------------------------------------------- ---------------------------
Mein Multihack:...
|
All times are GMT +1. The time now is 13:48.
|
|