müsste das nicht ein vergleichsoperator sein "=="?
In AutoIt ist "=" Zuweisungsoperator und Vergleichsoperator.
Nur füe Stringvergleiche ist für sensitive Prüfung "==" erforderlich.
müsste das nicht ein vergleichsoperator sein "=="?
In AutoIt ist "=" Zuweisungsoperator und Vergleichsoperator.
Nur füe Stringvergleiche ist für sensitive Prüfung "==" erforderlich.
Einfach Ereignis "PRIMARYDOWN" nutzen und prüfen ob Cursor über Input:
#include <GUIConstants.au3>
Opt("GUIOnEventMode", 1)
$hGUI = GUICreate("Beispiel", 190, 25)
$hInput = GUICtrlCreateInput("Klicken damit eine MsgBox erscheint!", 3, 3, 185)
GUISetOnEvent(-3, "_Exit")
GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, '_MouseDown')
GUISetState()
ControlSend($hGui, '', $hInput, "{CTRLDOWN}{HOME}{CTRLUP}")
While 1
Sleep(100)
WEnd
Func _Exit()
GUIDelete()
Exit
EndFunc
Func _MouseDown()
$cursor = GUIGetCursorInfo($hGui)
If $cursor[4] = $hInput Then MsgBox(0, '', 'Und hier die MessageBox!')
EndFunc
Das Problem hat folgende Ursache:
Wenn in deinem Listview Daten sind sieht das etwa so aus
LV-Index0 | WertA | SubA
LV-Index1 | WertB | SubB
LV-Index2 | WertC | SubC
LV-Index3 | WertD | SubD
Nehmen wir an, WertCC wird eingefügt (und einsortiert), dann sieht es so aus:
LV-Index0 | WertA | SubA
LV-Index1 | WertB | SubB
LV-Index2 | WertC | SubC
LV-Index3 | WertCC | SubCC
LV-Index4 | WertD | SubD
Da die Icons/Images aber dem LV-Index zugeordnet sind, stimmt nun die Zuordnung nicht mehr.
Ich speichere den Index aus der Imageliste einfach mit _GUICtrlListView_SetItemParam() im Item selbst. Somit kann ich bei jeder Änderung aus dem Item selbst den Image-Index auslesen und das Image erneut setzen.
Da fehlt "Nicht hochbegabt". Ich weiß sicher, dass ich nicht hochbegabt bin. ![]()
Die Hilfe zur Listview-UDF bietet eine Vielzahl guter Beispiele. Geh die Funktionen durch und stell die Bsp. nach - dabei lernst du am Meisten.
Wir haben es uns zum Ziel gesetzt, ein wenig Disziplin einzufordern.
Wenn der Threadersteller keine eigene Energie beibringen möchte, sehe ich keine Notwendigkeit noch mehr Speicher hierfür zu verschwenden.
[CLOSED]
Da würde ich doch lieber in ein ListView schreiben. Du kannst auf automatische Sortierung einstellen und Scrollen ist kein Problem.
Es reicht jetzt.
Zu Theoretisieren über einen solchen Schwachsinn bringt niemandem was.
[CLOSED]
GUICtrlSetData(@GUI_CtrlId-2, GUICtrlRead(@GUI_CtrlId-2) + GUICtrlRead(@GUI_CtrlId-1))
GUICtrlSetData(@GUI_CtrlId-1, "")das versteh ich net
@GUI_CtrlId ist ein Makro (nur im OnEvent-Mode verfügbar), das die ID des zuletzt geklickten Controls zurückgibt.
Die hier verwendete Konstruktion ist eigentlich nicht unbedingt zu empfehlen. Sie bedingt eine bestimmte Reihenfolge in der Erstellung der Controls (Controls bekommen eine fortlaufende ID in der Reihenfolge ihrer Erstellung). Manchmal ändert man später noch was im Skript und baut sich dann einen Fehler ein. ![]()
Somit kann man mit @GUI_CtrlId -1/+1 relativ zum geklickten Control adressieren.
Das direkte Event RightClick für ein ListBox-Item gibt es nicht.
Umweg:
- Markieren (mit Links-Klick)
- RechtsKlick auf die Ctrl-ID der ListBox abfragen und dann markiertes Item abfragen
Oder besser: Gleich ein ListView verwenden ![]()
weil verschiedene Leute im Unternehmen daran arbeiten.
Wenn das der Fall ist, solltest du vielleicht mal über ein Repository nachdenken. Ich weiß nicht, wie der Dateizugriff geregelt ist - wenn eine Datei als lokale Kopie geöffnet wird und das von mehreren Usern gleichzeitig, ändern sie sich u.U. gegenseitig alles ins Nirvana. ![]()
Du darfst nur die Dateinamen vergleichen.
Pfad1\FileA <> Pfad2\FileA
Ist zwar dieselbe Datei aber ein anderer Pfad und somit existiert die Datei nicht.
FileExists ist also der falsche Weg.
Du mußt also die Dateinamen abgleichen und wenn du ganz sicher gehen willst bei gleichen Namen mit FileCompare auch den Inhalt prüfen.
AVI ist ja nur ein Container und die verwendeten Codecs sind sehr unterschiedlich.
Verwende mal ein Windows-eigenes AVI und schau dir dann mal an, wie das codiert ist (ich glaube Freeware GetCodec gibt es da z.B.)
Ist mir nie aufgefallen, dass das nicht ginge ![]()
Einfach als _EX_MDICHILD erstellen ![]()
Hier das Bsp.:
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
$guiMain = GUICreate('Main', 400, 300, -1, -1, Default, $GUI_WS_EX_PARENTDRAG)
$btShow = GUICtrlCreateButton('Zeige Child', 150, 100, 100, 20)
$guiChild = GUICreate("Child", 200, 150, 100, 75, $WS_POPUP, $WS_EX_MDICHILD, $guiMain)
GUISetBkColor(0xFFFF00)
GUICtrlCreateLabel('In Arbeit...', 20, 40)
GUICtrlSetBkColor(-1, 0xFFFF00)
GUISetState(@SW_SHOW, $guiMain)
[/autoit][autoit][/autoit][autoit]$timer = 0
While True
If TimerDiff($timer) >= 3000 Then GUISetState(@SW_HIDE, $guiChild) ; 3 Sekunden nach Anzeige Child beenden
Switch GUIGetMsg()
Case -3
Exit
Case $btShow
GUISetState(@SW_SHOW, $guiChild)
$timer = TimerInit()
EndSwitch
WEnd
Kann ich diese dann an die erste Gui binden, damit sie sich zusammen verschieben lassen?
Ja, erstelle diese GUI als Child zur Haupt-GUI.
und das ist ja bei einem kontakt formular auch nicht so,
Ich ahne, was du willst - aber warum sagst du das dann nicht.
Er will ein Kontaktformular auf einer Webseite haben (oder liege ich falsch?).
Da verwendest du dann den Mailserver des Seitenbetreibers (also den eigenen) um die Mail des Seitenbesuchers zu versenden.
Dafür gibt es fertige php-Kontaktformulare im Netz, einfach mal suchen.
Erstelle einfach eine andere GUI (z.B. im WM_POPUP-Style) und blende sie solange ein, wie der Vorgang läuft.
Versuch es mal so:
Case $druckhinclose
$read1 =_GUICtrlIpAddress_Get($druckerip)
$ping1 = Ping($read1, "4000")
$err = @error
Local $aErr[4] = ["Der Scanner scheint abgeschaltet zu sein. Schalten Sie ihn ein und überprüfen Sie die Verbindung", _
"Es besteht ein Verbindungsproblem mit dem Scanner. Bitte überprüfen Sie die Verbindung und versuchen Sie es erneut", _
"Die IP-Adresse wurde falsch eingegeben. Bitte korrigieren Sie diese", _
"Es ist ein unbekannter Fehler aufgetreten. Bitte überprüfen Sie:" & @LF & "- Verbindung" & @LF & "- Scanner eingeschaltet?" & @LF & "- IP-Adresse richtig?" & @LF & @LF & "Besteht das Problem weiterhin, kontaktieren Sie bitte den Support"]
If Not $ping1 Then ; $ping1 = 0 also Fehler
Msgbox(0, "Fehler", $aErr[$err -1])
Else
MsgBox(0, "Hinzugefügt", "Der Scanner wurde erkannt und gespeichert")
EndIf
IniWrite("data/conf.ini", "drucker", "drucker1", $read1)
GUICtrlSetData($druckmanstartabbruch, "Schliessen")
GUISetState(@SW_Hide, $druckipmanuell)
Den Ordner gibts bei mir nich...
Wage ich mal zu bezweifeln. ..\Anwendungsdaten\ ist ein versteckter Ordner. Du mußt also auch versteckte Ordner/Dateien anzeigen lassen.
Woher habt ihr eigt. die Datei Normal.dot?
C:\Dokumente und Einstellungen\USER\Anwendungsdaten\Microsoft\Vorlagen