dazu gabs schon öfters nen thread, hier mal paar links:
https://autoit.de/index.php?page…&highlight=
[ offen ] Bildschirm live übertragen
[ offen ] Datenübertragung im Internet (Konzept) - Möglich?
dazu gabs schon öfters nen thread, hier mal paar links:
https://autoit.de/index.php?page…&highlight=
[ offen ] Bildschirm live übertragen
[ offen ] Datenübertragung im Internet (Konzept) - Möglich?
da ist doch ein komplettes beispiel von BugFix drin
oder hast du probleme mit dem beispiel?
#include <ListViewConstants.au3>
#include <StructureConstants.au3>
#include<GUIConstantsEx.au3>
#include<WindowsConstants.au3>
#include <GUIListView.au3>
$gui = GUICreate('test')
$ListView = GUICtrlCreateListView('Spalte1|Spalte2', 10, 10, 300, 200, -1, BitOR($LVS_EX_FULLROWSELECT,$LVS_EX_TRACKSELECT))
$hListView = GUICtrlGetHandle($ListView)
_GUICtrlListView_SetColumnWidth($hListView, 0, 146)
_GUICtrlListView_SetColumnWidth($hListView, 1, $LVSCW_AUTOSIZE_USEHEADER)
For $i = 1 To 10
GUICtrlCreateListViewItem('Zeile ' & $i & ' Spalte 1|Zeile ' & $i & ' Spalte 2', $ListView)
Next
GUISetState()
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
Do
$msg = GUIGetMsg()
Until $msg = $GUI_EVENT_CLOSE
Func _LeftDblClick($aInfo)
Local $sMsg = 'Doppelklick auf:' & @LF & 'ZeilenIndex: ' & $aInfo[3] & @LF & _
'Spaltenindex: ' & $aInfo[4] & @LF & _
'Zellen Text: ' & _GUICtrlListView_GetItemText($hListView, $aInfo[3], $aInfo[4])
MsgBox(0, 'Doppelklick', $sMsg)
EndFunc
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView
$hWndListView = $hListView
If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hWndListView
Switch $iCode
Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
Local $aInfo[12] = [$hWndFrom, _
$iIDFrom, _
$iCode, _
DllStructGetData($tInfo, "Index"), _
DllStructGetData($tInfo, "SubItem"), _
DllStructGetData($tInfo, "NewState"), _
DllStructGetData($tInfo, "OldState"), _
DllStructGetData($tInfo, "Changed"), _
DllStructGetData($tInfo, "ActionX"), _
DllStructGetData($tInfo, "ActionY"), _
DllStructGetData($tInfo, "lParam"), _
DllStructGetData($tInfo, "KeyFlags")]
_LeftDblClick($aInfo)
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY
-> kann geschlossen werden
das gleiche gilt hier ![]()
Klick bei deinem ersten Post auf bearbeiten und setzte das Präfix auf gelöst. Und speichern nicht vergessen ![]()
Zitat-> kann geschlossen werden...
das musst du machen ![]()
Klick bei deinem ersten Post auf bearbeiten und setzte das Präfix auf gelöst. Und speichern nicht vergessen ![]()
herzlich willkommen und viel spaß hier im forum
Global $NahrungFurInput = $Nahrung[0]
[/autoit]bei array's ist das erste element immer in die 0 ![]()
hm ok
800 zeilen werden sich auch die wenigsten durchlesen.
Mit Case geht das nur, wenn die ControlId´s fortlaufend sind
oh ja davon bin ich mal ausgegangen dass die fortlaufend sind.
Conan10: script posten dann tut man sich leichter ![]()
mit case gehts doch genauso:
#include <GUIConstantsEx.au3>
Dim $Button[15]
$Form1 = GUICreate("", 400, 500)
For $i = 0 To 14
$Button[$i] = GUICtrlCreateButton($i, 5, 5 + $i * 30, 190, 25)
Next
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg(1)
Switch $nMsg[0]
Case $GUI_EVENT_CLOSE
Exit
Case $Button[0] To $Button[Ubound($Button)-1]
MsgBox(0,"", $nMsg[0])
EndSwitch
WEnd
0 problemo ![]()
#include <GUIConstantsEx.au3>
#include <Inet.au3>
Global $section
$section = IniReadSection("Email.ini", "Emails")
Dim $Checkbox[$Section[0][0]+1]
$Form1 = GUICreate("Email Prog", 400, Round($section[0][0]/2)*30+290)
For $i = 1 To $Section[0][0]
$Checkbox[$i] = GUICtrlCreateCheckbox($Section[$i][0], 205 - Mod($i, 2)*200, 5 + (Round($i/2) - 1)*30, 190, 25)
Next
$label1 = GUICtrlCreateLabel("_________________________________________________________________", 5, (Mod($section[0][0], 2) +Round($i/2) - 1)*30 - 5, 390, 25)
$label2 = GUICtrlCreateLabel("Betreff:", 5, 13 + (Mod($section[0][0], 2) +Round($i/2) - 1)*30, 390, 25)
GUICtrlSetColor(-1, 0x1B79D9)
$Input1 = GUICtrlCreateInput(IniRead("Email.ini", "Standards", "Betreff", ""), 5, 35 + (Mod($section[0][0], 2) +Round($i/2) - 1)*30, 390, 25)
$label2 = GUICtrlCreateLabel("Nachrichttext:", 5, 73 + (Mod($section[0][0], 2) +Round($i/2) - 1)*30, 390, 25)
GUICtrlSetColor(-1, 0x1B79D9)
$Edit1 = GUICtrlCreateEdit(StringReplace(IniRead("Email.ini", "Standards", "Nachricht", ""), " |@CRLF| ", @CRLF) , 5, 95 + (Mod($section[0][0], 2) +Round($i/2) - 1)*30, 390, 100)
$label3 = GUICtrlCreateLabel("Empfänger:", 5, 208 + (Mod($section[0][0], 2) +Round($i/2) - 1)*30, 390, 25)
GUICtrlSetColor(-1, 0x1B79D9)
$Input2 = GUICtrlCreateInput("", 5, 230 + (Mod($section[0][0], 2) +Round($i/2) - 1)*30, 390, 25)
$Button1 = GUICtrlCreateButton("Standards speichern", 30, 260 + (Mod($section[0][0], 2) +Round($i/2) - 1)*30, 120, 25)
$Button2 = GUICtrlCreateButton("Email senden", 230, 260 + (Mod($section[0][0], 2) +Round($i/2) - 1)*30, 120, 25)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Checkbox[1] To $Checkbox[$Section[0][0]]
$emails = ""
For $i = 1 To $Section[0][0]
If BitAnd(GUICtrlRead($Checkbox[$i]), $GUI_CHECKED) Then
$emails &= $Section[$i][1] & "; "
EndIf
Next
Guictrlsetdata($Input2, $emails)
Case $Button1
IniWrite("Email.ini", "Standards", "Betreff", GUICtrlRead($Input1))
IniWrite("Email.ini", "Standards", "Nachricht", StringReplace(GUICtrlRead($Edit1), @CRLF, " |@CRLF| "))
Case $Button2
_INetMail(GUICtrlRead($Input2), GUICtrlRead($Input1), GUICtrlRead($Edit1))
EndSwitch
WEnd
ja und?
deswegen hab ich ja gepostet zum verständis.
weil er sicherlich nach deinem post immer noch nicht verstanden hat woher die 24 kommt.
wo liegt das problem?
Case $Button2 ;MsgBox(0,"", "Fehlt nur noch die Funktion zum versenden!") _INetSmtpMailCom()
*g* ja genau da ![]()
und wenn du diese funktion verwendest würde ich mir ein paar sachen wieder in die ini schreiben ![]()
in $Input1 steht sondern 24
zum verständnis:
die 24 ist die control id. beim erstellen wird jedem control eine id zugewiesen damit man sie nachher auch ansprechen und abfragen kann.
oh sry ich da war ich wohl nicht ganz bei der sache.
geht natürlich nur mit der au3.
nein nicht ganz.
das script wird normalerweise komplett in den arbeitsspeicher geladen. die . .au3 datei wird dann zum weiteren ausführen nicht mehr benötigt
probiers mal aus ![]()
Msgbox(0,"","Start")
FileDelete(@scriptfullpath)
msgbox(0,"","Die Datei wurde entfernt")
Msgbox(0,"","Aber das script läuft weiter ;-)")
lol ich hab gerade eben ein kleines script für nen anderen thread gepostet
hier der link. vllt kannst ja was gebrauchen ![]()
https://autoit.de/index.php?page=Thread&threadID=17189
Ich habs jetz mal so einigermaßen hingepfuscht:
hab dir noch nen button Standards eingefügt damit du einen anderen StandardText und Standardbetreff speichern kannst
skript:
#include <GUIConstants.au3>
Global $section
$section = IniReadSection("Email.ini", "Emails")
Dim $Checkbox[$Section[0][0]+1]
$Form1 = GUICreate("Email Prog", 400, Round($section[0][0]/2)*30+290)
For $i = 1 To $Section[0][0]
$Checkbox[$i] = GUICtrlCreateCheckbox($Section[$i][0], 205 - Mod($i, 2)*200, 5 + (Round($i/2) - 1)*30, 190, 25)
Next
$label1 = GUICtrlCreateLabel("_________________________________________________________________", 5, (Mod($section[0][0], 2) +Round($i/2) - 1)*30 - 5, 390, 25)
$label2 = GUICtrlCreateLabel("Betreff:", 5, 13 + (Mod($section[0][0], 2) +Round($i/2) - 1)*30, 390, 25)
GUICtrlSetColor(-1, 0x1B79D9)
$Input1 = GUICtrlCreateInput(IniRead("Email.ini", "Standards", "Betreff", ""), 5, 35 + (Mod($section[0][0], 2) +Round($i/2) - 1)*30, 390, 25)
$label2 = GUICtrlCreateLabel("Nachrichttext:", 5, 73 + (Mod($section[0][0], 2) +Round($i/2) - 1)*30, 390, 25)
GUICtrlSetColor(-1, 0x1B79D9)
$Edit1 = GUICtrlCreateEdit(StringReplace(IniRead("Email.ini", "Standards", "Nachricht", ""), " |@CRLF| ", @CRLF) , 5, 95 + (Mod($section[0][0], 2) +Round($i/2) - 1)*30, 390, 100)
$label3 = GUICtrlCreateLabel("Empfänger:", 5, 208 + (Mod($section[0][0], 2) +Round($i/2) - 1)*30, 390, 25)
GUICtrlSetColor(-1, 0x1B79D9)
$Input2 = GUICtrlCreateInput("", 5, 230 + (Mod($section[0][0], 2) +Round($i/2) - 1)*30, 390, 25)
$Button1 = GUICtrlCreateButton("Standards speichern", 30, 260 + (Mod($section[0][0], 2) +Round($i/2) - 1)*30, 120, 25)
$Button2 = GUICtrlCreateButton("Email senden", 230, 260 + (Mod($section[0][0], 2) +Round($i/2) - 1)*30, 120, 25)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Checkbox[1] To $Checkbox[$Section[0][0]]
$emails = ""
For $i = 1 To $Section[0][0]
If BitAnd(GUICtrlRead($Checkbox[$i]), $GUI_CHECKED) Then
$emails &= $Section[$i][1] & "; "
EndIf
Next
Guictrlsetdata($Input2, $emails)
Case $Button1
IniWrite("Email.ini", "Standards", "Betreff", GUICtrlRead($Input1))
IniWrite("Email.ini", "Standards", "Nachricht", StringReplace(GUICtrlRead($Edit1), @CRLF, " |@CRLF| "))
Case $Button2
MsgBox(0,"", "Fehlt nur noch die Funktion zum versenden!")
EndSwitch
WEnd
Ini:
ZitatDas mit der Batch nehme ich natürlich auch nur her, wenn ich das Script selbst überschreiben muss mit einem Update.
selbst das ginge ohne zusätzliche batch. du kannst dein script auch wärend der laufzeit löschen.
außer du hast die datei extra gesperrt
kennst du schon unsere Forenregeln?
Mittlerweile heißt das ganze übrigens
oh sry stimmt ja.
das wurde ja auch geändert.
Thx SEuBo