Hallo Diggidie,
schau dir
[autoit]StdoutRead
[/autoit]mfg autoBert
Hallo Diggidie,
schau dir
[autoit]StdoutRead
[/autoit]mfg autoBert
Hallo victor,
Hallo ,
herzlich willkommen im Forum und viel Spass mit AutoIt.
Hier kannst du dir die deutsche Hilfe herunterladen.
Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee
schau dir einmal [UDF] GUICtrlPic - Update am 27.12.2010 an, lade dir den Anhang daraus herunter (am besten nach ...\autoit\include) und teste danach einmal das Skript in Post #7vielleicht kannst du da ja mit dieser UDF dein Vorhaben einfach verwirkliichen,
mfg autoBert
mfg autoBert
Hallo Button421,
schau dir dazu
[autoit]FileWriteLine
[/autoit]an
mfg autoBert
Hallo havOx.,
herzlich willkommen im Forum und viel Spass mit AutoIt.
Hier kannst du dir die deutsche Hilfe herunterladen.
Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee
und jetzt zu den Kommastellen. Zum runden beim Rechnen kannst du
[autoit]round
[/autoit]nehmen. Zur Ausgabe eignet sich am besten
[autoit]StringFormat
[/autoit]mfg autoBert
nicht mehr an mein server gesendet.
Hat es dass denn vorher? Ich sage nein: aber auch hier hilft ein ExitLoop 2 anstelle von
[autoit]Case -3
Exit ;hier muss auch ExitLoop hin diesmal 2
du musst aber eventuell Bedingungen einfügen damit nicht grundsätzlich gesendet wird. PS.: es wäre nett wenn du einmal im ganzen beschreibst was du erreichen möchtest,
mfg autoBert
Hallo Großvater,
ein Lob dass ich an dich weiterreiche, denn es ist deine UDF:
Alles anzeigenautoBert: Thank you! you gave me what I was looking for, this UDF supersedes images quickly without leaving a bad flash!!
This my final script:
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <StaticConstants.au3>
#include "GUICtrlPic.au3"
$bFirst = True
$Pic1 = @ProgramFilesDir & "\AutoIt3\Examples\GUI\Torus.png"
$Form1 = GUICreate("Form1", 400, 300)
GUICtrlCreatePic(@ProgramFilesDir & "\AutoIt3\Examples\GUI\Torus.png", 0, 0, 400, 300)
GuiCtrlSetState(-1,$GUI_DISABLE)
$a8 = _GUICtrlPic_Create($Pic1 , 30, 30, 72, 72)
GUISetState(@SW_SHOW)Dim $GO = False
[/autoit] [autoit][/autoit] [autoit]
while 1
$ReadMouse = GUIGetCursorInfo() ; Pos mouse
If IsArray($ReadMouse) = 1 Then
Select
case $ReadMouse[4] = $a8 and $GO = False
_GUICtrlPic_SetImage($a8, @ProgramFilesDir & "\AutoIt3\Examples\GUI\Merlin.gif", 0)
$GO = True
case $ReadMouse[4] <> $a8 and $GO = True
_GUICtrlPic_SetImage($a8, @ProgramFilesDir & "\AutoIt3\Examples\GUI\Torus.png", 0)
$GO = False
EndSelect
EndIfSwitch GUIGetMsg()
[/autoit]
case -3 ; $GUI_EVENT_CLOSE
exit
case $a8
_GUICtrlPic_SetImage($a8, @ProgramFilesDir & "\AutoIt3\Examples\GUI\msoobe.jpg", 0)
MsgBox(0,"","Pressed")
_GUICtrlPic_SetImage($a8, @ProgramFilesDir & "\AutoIt3\Examples\GUI\Torus.png", 0)
EndSwitch
WEnd
mfg autoBert
Ich habe die Sufu genutzt ,jedoch habe ich ein anderes Suchwort eingegeben.
Sehr einleuchtend du suchst nach einem Chat verwendest aber nicht das Wort Chat.
Dann musst du lernen die SuFu zu benutzen
Merke:
mfg autoBet
Hört sich easy an und nach Metin2-Patcher, schade dass ich bei meinem mageren INet da nicht in Frage komme.
mfg autoBert
Du musst doch eine ungefähre Vorstellung davon haben was es dir wert ist? Über die Art und Weise wie ihr beiden dann klarkommt sollte eh über PN laufen.
Auch könntest du das Vorhaben etwas genauer beschreiben, damit man den Aufwand besser abschätzen kann oder bietest du Stundenlohn?
mfg autoBert
Hallo caven,
herzlich willkommen im Forum und viel Spass mit AutoIt.
Hier kannst du dir die deutsche Hilfe herunterladen.
Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee .
Du hast zwar deine Wunschskript etwas angerissen aber vergessen die Gegenleistung dafür anzubieten.
mfg autoBert
Hallo ProblemUser,
ZitatArray Auslesen mit einer For-Schleife
[autoit]For $i = 1 To $msgbox[0] Step +1
[/autoit]
MsgBox(0, "Array wird ausgelesen aktuell: $msgbox[" & $i & "]", "$msgbox[" & $i & "] = " & $msgbox[$i])
Next
Hier reicht schon:
ZitatObiges Array Auslesen mit einer For-Schleife
denn ohne dieses das gleiche Problem.
Auch solltest du dich an die hier vorgeschlagenen Namenskonventionen halten: http://www.autoitscript.com/autoit3/udfs/UDF_Standards.htm
mfg autoBert
Endliche While Schleife
[autoit]While $i = 1
[/autoit]
MsgBox(0, "Endliche Schleife 2", "Diese Schleife geht nicht unendlich" & @CRLF & "MessageBox schließt automatisch!", 1)
$i += 1
WEnd
Testest du deine Beispeile auch? Oder wie erklärst du dann diese Fehlermeldung:
ZitatAlles anzeigen>Running AU3Check (1.54.19.0) from:C:\Programme\AutoIt3
C:\Programme\AutoIt3\Examples\Tests\asdfghjklkjhgfd.au3(1,10) : WARNING: $i: possibly used before declaration.
While $i =
~~~~~~~~~^
C:\Programme\AutoIt3\Examples\Tests\asdfghjklkjhgfd.au3 - 0 error(s), 1 warning(s)
->00:53:48 AU3Check ended.rc:1
>Running:(3.3.6.1):C:\Programme\AutoIt3\autoit3.exe "C:\Programme\AutoIt3\Examples\Tests\asdfghjklkjhgfd.au3"
C:\Programme\AutoIt3\Examples\Tests\asdfghjklkjhgfd.au3 (1) : ==> Variable used without being declared.:
While $i = 1
While ^ ERROR
->00:53:51 AutoIT3.exe ended.rc:1
>Exit code: 1 Time: 4.463
mfg autoBert
Hallo WeisGarNix,
Edit* Wofür brauche ich den Modulo?
Du vergleichst da Äpfel mi Birnen, ich habe vorne am "To" und hinten mal dasselbe Array gesetzt, denke, das war ein Versehen.
Dennoch, wofür der Modulo 4? Und welchen Modulo brauche ich für die anderen Elemente, die nicht eine Checkbox sind, sondern $Icons[][] oder $Titel[][] oder $Hersteller[][]? Den Modulo-Part blick ich irgendwie nicht...
da ich mich schon gedacht habe dass du auch Icons, Hertsteller und Tiltel klicken willst habe ich in diesem Case-Zweig alle möglichen Elemente hinneigenommen:
[autoit]Case $Checkboxen[$iAktTab][0] To $Titel[$iAktTab][$AnzElemente - 1]
[/autoit]da auf Elemente die nicht da sind auch nicht geprüft werden muss $AnzElemnete -1
allerdings ist mir aufgefallen dass $AnzElemente nicht (mehr) initialisiert ist, siehe Ausgabe von Zeile 161 deshalb habe ich in Zeile 162 dies fix auf 11 gesetzt, kann aus Ini gelesen werden.
Modulo gebrauche ich weil du 4 verschiedene Arten von Eemneten hast, damit stelle ich sicher dass die jeweilige Variable $iAktCheckBox, $iAktIcon, $iAktHersteller und $iAktTitel den Wert des geklickten Elementes erhält bzw. -1 wenn nicht angeklickt. Dies ist in diesem erweiterten Skript (C&P, S&R) als Consoleausgabe zu sehen:
AutoItSetOption("TrayIconHide", 1)
[/autoit] [autoit][/autoit] [autoit]#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <GuiTab.au3>
#include <array.au3>
;#include <generategui.au3>
[/autoit] [autoit][/autoit] [autoit]#RequireAdmin
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
;Func _InitializeGui()
Dim $onlineoffline
$ping = Ping("www.google.com")
If $ping > 0 Then
$onlineoffline = "data\website_online.jpg"
Else
$onlineoffline = "data\website_offline.jpg"
EndIf
$Form2 = GUICreate("Autoinstall Software-Collection ", 1024, 769, 208, 145)
$Pic15 = GUICtrlCreatePic("data\header_left.jpg", 0, 0, 174, 48)
GUICtrlSetTip(-1, "Website im Webbrowser öffnen")
GUICtrlSetCursor(-1, 0)
$Pic16 = GUICtrlCreatePic("data\background.jpg", 174, 0, 706, 48)
$Help = GUICtrlCreatePic("data\help.jpg", 880, 0, 48, 48)
GUICtrlSetTip(-1, "Hilfe und Anleitung")
GUICtrlSetCursor(-1, 4)
$About = GUICtrlCreatePic("data\about.jpg", 928, 0, 48, 48)
GUICtrlSetTip(-1, "Über dieses Programm")
GUICtrlSetCursor(-1, 4)
$Combo1 = GUICtrlCreateCombo("Combo1", 648, 56, 369, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
$Label33 = GUICtrlCreateLabel("Fertige Zusammenstellung auswählen", 464, 61, 181, 17)
$Install_Markierte = GUICtrlCreateButton("Installiere markierte Software jetzt!", 8, 56, 193, 25)
$Settings = GUICtrlCreatePic("data\settings.jpg", 976, 0, 48, 48)
GUICtrlSetTip(-1, "Einstellungen")
GUICtrlSetCursor(-1, 0)
$PageControl1 = GUICtrlCreateTab(8, 88, 1012, 672)
GUICtrlSetFont(-1, 8, 400, 0, "MS Sans Serif")
$AnzKategorien = IniRead("settings.ini", "Einstellungen", "Kategorien", "1")
$AnzZusammenstellungen = IniRead("settings.ini", "Einstellungen", "Zusammenstellungen", "1")
; An Stelle [n][1] im Array steht ein Name, an Stelle [n+1][1] steht der Pfad zur Konfigurationsdatei, für alle ungeraden n.
$Kategorien = IniReadSection("settings.ini", "Kategorien")
; Legt die Kategorien als Reiter-Array an.
Dim $TabSheetKategorien[($AnzKategorien * 2) - 1]
; Legt die in jedem Reiter vorhandenen Elemente an...
Dim $AktuellBildBox[$AnzKategorien]
Dim $AktuellBild[$AnzKategorien]
Dim $Software[$AnzKategorien]
Dim $AktuellBeschreibungBox[$AnzKategorien]
Dim $AktuellBeschreibung[$AnzKategorien]
Dim $Beschreibung[$AnzKategorien]
Dim $Grafik[$AnzKategorien]
Dim $AktuellWebsite[$AnzKategorien]
Dim $AktuellSprache[$AnzKategorien]
Dim $AktuellInstall[$AnzKategorien]
Dim $AktuellFreeware[$AnzKategorien]
;26 mögliche Elemente je Kategorie sollten reichen - passen ja eh nur 26 auf eine Seite...
Dim $Checkboxen[$AnzKategorien][26]
Dim $Icons[$AnzKategorien][26]
Dim $Titel[$AnzKategorien][26]
Dim $Hersteller[$AnzKategorien][26]
$lw1 = 0
$lw2 = 0
While ($lw1 < ($AnzKategorien * 2))
$TabSheetKategorien[$lw1] = GUICtrlCreateTabItem($Kategorien[$lw1 + 1][1])
$inifile = $Kategorien[$lw1 + 2][1]
$Beschreibung[$lw2] = GUICtrlCreateEdit("", 16, 120, 489, 65, BitOR($ES_AUTOVSCROLL, $ES_READONLY, $ES_WANTRETURN, $WS_VSCROLL))
$file = FileOpen(IniRead($inifile, "Daten", "Beschreibung", "fehlt.txt"), 0)
GUICtrlSetData($Beschreibung[$lw2], FileRead($file))
FileClose($file)
$Grafik[$lw2] = GUICtrlCreatePic(IniRead($inifile, "Daten", "Grafik", ""), 512, 120, 64, 64)
[/autoit] [autoit][/autoit] [autoit]$Software[$lw2] = GUICtrlCreateGroup("Software", 16, 191, 561, 553)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$AktuellBildBox[$lw2] = GUICtrlCreateGroup("Logo/Bild", 592, 120, 417, 337)
$AktuellBild[$lw2] = GUICtrlCreatePic("", 600, 144, 400, 300)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$AktuellBeschreibungBox[$lw2] = GUICtrlCreateGroup("Beschreibung", 592, 527, 417, 217)
$AktuellBeschreibung[$lw2] = GUICtrlCreateEdit("", 600, 544, 401, 193, BitOR($ES_AUTOVSCROLL, $ES_READONLY, $ES_WANTRETURN, $WS_VSCROLL))
GUICtrlCreateGroup("", -99, -99, 1, 1)
$AktuellWebsite[$lw2] = GUICtrlCreatePic($onlineoffline, 588, 464, 48, 48)
GUICtrlSetTip(-1, "Website im Browser öffnen")
GUICtrlSetCursor(-1, 0)
;GUICtrlSetState(-1, $GUI_HIDE)
$AktuellSprache[$lw2] = GUICtrlCreatePic("data\german.jpg", 652, 464, 48, 48)
GUICtrlSetTip(-1, "Sprache: deutsch")
;GUICtrlSetState(-1, $GUI_HIDE)
$AktuellInstall[$lw2] = GUICtrlCreatePic("data\install.jpg", 959, 464, 48, 48)
GUICtrlSetTip(-1, "Jetzt installieren!")
GUICtrlSetCursor(-1, 0)
;GUICtrlSetState(-1, $GUI_HIDE)
$AktuellFreeware[$lw2] = GUICtrlCreatePic("data\key.jpg", 711, 464, 48, 48)
GUICtrlSetTip(-1, "Keine Freeware!")
GUICtrlSetCursor(-1, 4)
GUICtrlSetState(-1, $GUI_HIDE)
;Eintragen der Elemente in die Softwareliste
$AnzElemente = IniRead($inifile, "Daten", "Elemente", 0)
$lw3 = 0
While ($lw3 < $AnzElemente)
;...
$temp = Mod($lw3, 2)
If ($temp == 0) Then
;linke Spalte
$Checkboxen[$lw2][$lw3] = GUICtrlCreateCheckbox("", 24, Floor(223 + 40 * ($lw3 / 2)), 16, 16)
$Icons[$lw2][$lw3] = GUICtrlCreateIcon(IniRead($inifile, "Element" & $lw3 + 1, "Icon", "data\setup.ico"), -1, 40, Floor(215 + 40 * ($lw3 / 2)), 32, 32)
;GUICtrlSetState(-1,$Gui_DISABLE)
$Hersteller[$lw2][$lw3] = GUICtrlCreateLabel(IniRead($inifile, "Element" & $lw3 + 1, "Hersteller", "unbekannter Hersteller"), 80, Floor(215 + 40 * ($lw3 / 2)))
;GUICtrlSetState(-1,$Gui_DISABLE)
$Titel[$lw2][$lw3] = GUICtrlCreateLabel(IniRead($inifile, "Element" & $lw3 + 1, "Name", "?") & " v" & IniRead($inifile, "Element" & $lw3 + 1, "Version", "1"), 80, Floor(231 + 40 * ($lw3 / 2)))
;GUICtrlSetState(-1,$Gui_DISABLE)
Else
;Rechte Spalte
$Checkboxen[$lw2][$lw3] = GUICtrlCreateCheckbox("", 296, 203 + 40 * ($lw3 / 2), 16, 16)
$Icons[$lw2][$lw3] = GUICtrlCreateIcon(IniRead($inifile, "Element" & $lw3 + 1, "Icon", "data\setup.ico"), -1, 296, 195 + 40 * ($lw3 / 2), 32, 32)
;GUICtrlSetState(-1,$Gui_DISABLE)
$Hersteller[$lw2][$lw3] = GUICtrlCreateLabel(IniRead($inifile, "Element" & $lw3 + 1, "Hersteller", "unbekannter Hersteller"), 352, 195 + 40 * ($lw3 / 2))
;GUICtrlSetState(-1,$Gui_DISABLE)
$Titel[$lw2][$lw3] = GUICtrlCreateLabel(IniRead($inifile, "Element" & $lw3 + 1, "Name", "?") & " v" & IniRead($inifile, "Element" & $lw3 + 1, "Version", "1"), 352, Floor(211 + 40 * ($lw3 / 2)))
;GUICtrlSetState(-1,$Gui_DISABLE)
EndIf
;...
$lw3 = $lw3 + 1
WEnd
;übriger Code für die einzelnen Kategorien
;Erhöhen der Laufvariablen, $lw1 zählt im Auslesearray, $lw2 zählt in den Zielarrays, beide zählen in den Kategorien hoch.
$lw1 = $lw1 + 2
$lw2 = $lw2 + 1
WEnd
GUICtrlCreateTabItem("")
;EndFunc
;_InitializeGui()
GUISetState(@SW_SHOW)
$iAktTab = 0
ConsoleWrite("Anzahl Elemente : " & $AnzElemente & @CRLF)
$AnzElemente = 11 ;ist seltsamerweise nicht gesetzt
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $PageControl1
$iAktTab = _GUICtrlTab_GetCurSel($PageControl1)
Case $Checkboxen[$iAktTab][0] To $Titel[$iAktTab][$AnzElemente - 1]
ConsoleWrite("Ksg-ID: " & $nMsg & @TAB)
if mod($nMsg - $Checkboxen[$iAktTab][0],4) Then
$iAktCheckBox = -1 ;es kann keine Checkbox sein
else
$iAktCheckBox = ($nMsg - $Checkboxen[$iAktTab][0]) /4
EndIf
ConsoleWrite("Checkbox: " & $iAktCheckBox & @TAB)
if mod($nMsg - $Icons[$iAktTab][0],4) Then
$iAktIcon = -1 ;es kann kein Icon sein
else
$iAktIcon = ($nMsg - $Icons[$iAktTab][0]) /4
EndIf
ConsoleWrite("Icon: " & $iAktIcon & @TAB)
if mod($nMsg - $Hersteller[$iAktTab][0],4) Then
$iAktHersteller = -1 ;es kann kein Hersteller sein
else
$iAktHersteller = ($nMsg - $Hersteller[$iAktTab][0]) /4
EndIf
ConsoleWrite("Hersteller: " & $iAktHersteller & @TAB)
if mod($nMsg - $Titel[$iAktTab][0],4) Then
$iAktTitel = -1 ;es kann kein Titel sein
else
$iAktTitel = ($nMsg - $Titel[$iAktTab][0]) /4
EndIf
ConsoleWrite("Titel: " & $iAktTitel & @CRLF)
EndSwitch
WEnd
teste es einfach einmal und du wirst sehen dass immer die richtige Zahl in der Console für das Element ausgegeben wird.
mfg autoBert
Hallo AsiX-5,
da hilft vielleicht ExitLoop :
Opt("WinTitleMatchMode", 2)
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <FTPEx.au3>
#include <Array.au3>
#include <misc.au3>
Global $sPassword = "****"
Global $sUser = "username"
Global $sServer = "www.server.com"
Global $spath = @ScriptDir & "\save " & @UserName & ".ini"
Global $sOrdner = "/"
Global $sFilename = "save " & @UserName & ".ini"
Global $Input2
While 1 ;hier her soll beim drücken der taste das script wieder springen
If WinWaitActive("alte seite","",5) Then WinClose("alte seite") ;sonnst hängt das Skript hier das musst du dir was anderes einfallen lassen
$Form1 = GUICreate("Flatcast Login", 199, 230, 4, 30, "", $WS_EX_TOPMOST)
$Edit1 = GUICtrlCreateLabel("Please login in:", 14, 5)
GUICtrlSetFont($Edit1, 8.5, "", "", "thimes new roman")
$Edit2 = GUICtrlCreateLabel("User", 14, 47)
GUICtrlSetFont($Edit2, 8.3, "", "", "thimes new roman")
$Input1 = GUICtrlCreateInput("", 14, 60, 123, 23)
$button1 = GUICtrlCreateButton("Guest", 141, 60, 45, 23, "", $WS_TABSTOP)
GUICtrlSetFont($button1, 8.5, "", "", "thimes new roman")
$Edit3 = GUICtrlCreateLabel("Password", 14, 90)
GUICtrlSetFont($Edit3, 8.3, "", "", "thimes new roman")
$Input2 = GUICtrlCreateInput("", 14, 108, 123, 23, $ES_PASSWORD)
$button2 = GUICtrlCreateButton("I am new and want to register", 14, 165, 172, 23)
GUICtrlSetFont($button2, 8.5, "", "", "thimes new roman")
$button3 = GUICtrlCreateButton("?", 157, 138, 23, 23)
GUICtrlSetFont($button3, 8, "", "", "thimes new roman")
$button4 = GUICtrlCreateCheckbox("", 14, 144, 14, 14)
$Edit4 = GUICtrlCreateLabel("Enable Automatic Login", 29, 144)
GUICtrlSetFont($Edit4, 8.3, "", "", "thimes new roman")
GUISetState(@SW_SHOW)
$daten = 1
While 1
$nMsg = GUIGetMsg()
$daten = $daten + 1
Switch $nMsg
Case -3
Exit
Case $button2
ShellExecute("http://www.flatcast.info/WizUsr.aspx", "", @SW_MAXIMIZE)
Case $button3
ShellExecute("http://flatcast.info/FCForum.aspx?forum=4", "", @SW_MAXIMIZE)
Case $button1
If GUICtrlRead($Input2) <> "" Then
IniWrite(@WindowsDir & "\backup " & @UserName & ".ini", "User", $daten, GUICtrlRead($Input1) & "|" & GUICtrlRead($Input2));
GUIDelete($Form1)
ExitLoop
EndIf
Case Else
If GUICtrlRead($Input2) <> "" Then
GUICtrlSetData($button1, "Next")
Else
GUICtrlSetData($button1, "Guest")
EndIf
EndSwitch
WEnd
WEnd
$hOpen = _FTP_Open("Autoit")
$hConnect = _FTP_Connect($hOpen, $sServer, $sUser, $sPassword, 1)
_FTP_ProgressUpload($hConnect, $spath, $sOrdner & $sFilename, "_Update_Progress")
;
Func _Update_Progress($iProzent)
If _IsPressed("77") Then Return 0
Return 1
EndFunc ;==>_Update_Progress
_FTP_Close($hOpen)
_FTP_Close($hConnect)
Mit WinWaitActive hast du auch eine potentielle Falle eingebaut,
mfg autoBert
Hallo billemg,
eine kurze und wie ich meine auch schnelle Routine (über Umweg Array):
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ListViewConstants.au3>
#include <GuiListView.au3>
#include <Array.au3>
Global $Listart[20], $Edit1, $Listarttime[20], $Listart2[20], $Edit2, $Listart2time[20]
$Form1 = GUICreate("Form1", 678, 537, 192, 114)
$Edit1 = GUICtrlCreateListView("Name|Liter", 80, 56, 505, 129)
GUICtrlCreateListViewItem("Wasser|2", $Edit1)
GUICtrlCreateListViewItem("Bier|2", $Edit1)
GUICtrlCreateListViewItem("Bier|3", $Edit1)
GUICtrlCreateListViewItem("Cola|7", $Edit1)
GUICtrlCreateListViewItem("Bier|3", $Edit1)
$Edit2 = GUICtrlCreateListView("Name|Liter", 81, 287, 505, 129)
$Button1 = GUICtrlCreateButton("Button1", 216, 216, 219, 49, $WS_GROUP)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$count = _GUICtrlListView_GetItemCount($Edit1)
Dim $aTmp[$count][2]
For $i = 0 To $count -1
$aSplit = _GUICtrlListView_GetItemTextArray($Edit1,$i)
$aTmp[$i][0] = $aSplit[1]
$aTmp[$i][1] = $aSplit[2]
Next
_ArraySort($aTmp)
$aUnique = _ArrayUnique($aTmp)
for $i = 1 to $aUnique[0]
$aFind = _ArrayFindAll($aTmp,$aUnique[$i])
$iMenge = 0
for $j = 0 to UBound($aFind) -1
$iMenge += $aTmp[$aFind[$j]][1]
Next
GUICtrlCreateListViewItem($aUnique[$i] & "|" & $iMenge,$Edit2)
Next
EndSwitch
WEnd
schau dir am besten die verwendeten Funktionen in der Hilfe an, damit du sie auch verstehst.
Verwende doch zukünftig auch die AutoIt-TAG's im Spoiler
mfg autoBert
das möchte ich gerne mal sehen..und ob ich die suckfunkt. benutzt habe..
Dann musst du lernen die SuFu z benutzen, die Eingabe von Chat auf das Forum Skripte beschränkt: http://www.autoit.de/index.php?form=Search&searchID=667614&highlight=Chat ergibt 52 Treffer und oh Wunder Oscar's Crypt-Chat ist natürlich auch dabei.
Ps.: dieser Post hätte sich erübrigt, wenn du dich wenigstens ansatzweise bei BugFix entschuldigt hättest,
mfg autoBert
MoD, Admin bitte nach http://www.autoit.de/index.php?page=Board&boardID=32 verschieben, danke
autoBert
Hallo Weisgarnix,
das kannst du so machen:
AutoItSetOption("TrayIconHide", 1)
[/autoit] [autoit][/autoit] [autoit]#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <GuiTab.au3>
#include <array.au3>
;#include <generategui.au3>
[/autoit] [autoit][/autoit] [autoit]#RequireAdmin
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
;Func _InitializeGui()
Dim $onlineoffline
$ping = Ping("www.google.com")
If $ping > 0 Then
$onlineoffline = "data\website_online.jpg"
Else
$onlineoffline = "data\website_offline.jpg"
EndIf
$Form2 = GUICreate("Autoinstall Software-Collection ", 1024, 769, 208, 145)
$Pic15 = GUICtrlCreatePic("data\header_left.jpg", 0, 0, 174, 48)
GUICtrlSetTip(-1, "Website im Webbrowser öffnen")
GUICtrlSetCursor(-1, 0)
$Pic16 = GUICtrlCreatePic("data\background.jpg", 174, 0, 706, 48)
$Help = GUICtrlCreatePic("data\help.jpg", 880, 0, 48, 48)
GUICtrlSetTip(-1, "Hilfe und Anleitung")
GUICtrlSetCursor(-1, 4)
$About = GUICtrlCreatePic("data\about.jpg", 928, 0, 48, 48)
GUICtrlSetTip(-1, "Über dieses Programm")
GUICtrlSetCursor(-1, 4)
$Combo1 = GUICtrlCreateCombo("Combo1", 648, 56, 369, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
$Label33 = GUICtrlCreateLabel("Fertige Zusammenstellung auswählen", 464, 61, 181, 17)
$Install_Markierte = GUICtrlCreateButton("Installiere markierte Software jetzt!", 8, 56, 193, 25)
$Settings = GUICtrlCreatePic("data\settings.jpg", 976, 0, 48, 48)
GUICtrlSetTip(-1, "Einstellungen")
GUICtrlSetCursor(-1, 0)
$PageControl1 = GUICtrlCreateTab(8, 88, 1012, 672)
GUICtrlSetFont(-1, 8, 400, 0, "MS Sans Serif")
$AnzKategorien = IniRead("settings.ini", "Einstellungen", "Kategorien", "1")
$AnzZusammenstellungen = IniRead("settings.ini", "Einstellungen", "Zusammenstellungen", "1")
; An Stelle [n][1] im Array steht ein Name, an Stelle [n+1][1] steht der Pfad zur Konfigurationsdatei, für alle ungeraden n.
$Kategorien = IniReadSection("settings.ini", "Kategorien")
; Legt die Kategorien als Reiter-Array an.
Dim $TabSheetKategorien[($AnzKategorien * 2) - 1]
; Legt die in jedem Reiter vorhandenen Elemente an...
Dim $AktuellBildBox[$AnzKategorien]
Dim $AktuellBild[$AnzKategorien]
Dim $Software[$AnzKategorien]
Dim $AktuellBeschreibungBox[$AnzKategorien]
Dim $AktuellBeschreibung[$AnzKategorien]
Dim $Beschreibung[$AnzKategorien]
Dim $Grafik[$AnzKategorien]
Dim $AktuellWebsite[$AnzKategorien]
Dim $AktuellSprache[$AnzKategorien]
Dim $AktuellInstall[$AnzKategorien]
Dim $AktuellFreeware[$AnzKategorien]
;26 mögliche Elemente je Kategorie sollten reichen - passen ja eh nur 26 auf eine Seite...
Dim $Checkboxen[$AnzKategorien][26]
Dim $Icons[$AnzKategorien][26]
Dim $Titel[$AnzKategorien][26]
Dim $Hersteller[$AnzKategorien][26]
$lw1 = 0
$lw2 = 0
While ($lw1 < ($AnzKategorien * 2))
$TabSheetKategorien[$lw1] = GUICtrlCreateTabItem($Kategorien[$lw1 + 1][1])
$inifile = $Kategorien[$lw1 + 2][1]
$Beschreibung[$lw2] = GUICtrlCreateEdit("", 16, 120, 489, 65, BitOR($ES_AUTOVSCROLL, $ES_READONLY, $ES_WANTRETURN, $WS_VSCROLL))
$file = FileOpen(IniRead($inifile, "Daten", "Beschreibung", "fehlt.txt"), 0)
GUICtrlSetData($Beschreibung[$lw2], FileRead($file))
FileClose($file)
$Grafik[$lw2] = GUICtrlCreatePic(IniRead($inifile, "Daten", "Grafik", ""), 512, 120, 64, 64)
[/autoit] [autoit][/autoit] [autoit]$Software[$lw2] = GUICtrlCreateGroup("Software", 16, 191, 561, 553)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$AktuellBildBox[$lw2] = GUICtrlCreateGroup("Logo/Bild", 592, 120, 417, 337)
$AktuellBild[$lw2] = GUICtrlCreatePic("", 600, 144, 400, 300)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$AktuellBeschreibungBox[$lw2] = GUICtrlCreateGroup("Beschreibung", 592, 527, 417, 217)
$AktuellBeschreibung[$lw2] = GUICtrlCreateEdit("", 600, 544, 401, 193, BitOR($ES_AUTOVSCROLL, $ES_READONLY, $ES_WANTRETURN, $WS_VSCROLL))
GUICtrlCreateGroup("", -99, -99, 1, 1)
$AktuellWebsite[$lw2] = GUICtrlCreatePic($onlineoffline, 588, 464, 48, 48)
GUICtrlSetTip(-1, "Website im Browser öffnen")
GUICtrlSetCursor(-1, 0)
;GUICtrlSetState(-1, $GUI_HIDE)
$AktuellSprache[$lw2] = GUICtrlCreatePic("data\german.jpg", 652, 464, 48, 48)
GUICtrlSetTip(-1, "Sprache: deutsch")
;GUICtrlSetState(-1, $GUI_HIDE)
$AktuellInstall[$lw2] = GUICtrlCreatePic("data\install.jpg", 959, 464, 48, 48)
GUICtrlSetTip(-1, "Jetzt installieren!")
GUICtrlSetCursor(-1, 0)
;GUICtrlSetState(-1, $GUI_HIDE)
$AktuellFreeware[$lw2] = GUICtrlCreatePic("data\key.jpg", 711, 464, 48, 48)
GUICtrlSetTip(-1, "Keine Freeware!")
GUICtrlSetCursor(-1, 4)
GUICtrlSetState(-1, $GUI_HIDE)
;Eintragen der Elemente in die Softwareliste
$AnzElemente = IniRead($inifile, "Daten", "Elemente", 0)
$lw3 = 0
While ($lw3 < $AnzElemente)
;...
$temp = Mod($lw3, 2)
If ($temp == 0) Then
;linke Spalte
$Checkboxen[$lw2][$lw3] = GUICtrlCreateCheckbox("", 24, Floor(223 + 40 * ($lw3 / 2)), 16, 16)
$Icons[$lw2][$lw3] = GUICtrlCreateIcon(IniRead($inifile, "Element" & $lw3 + 1, "Icon", "data\setup.ico"), -1, 40, Floor(215 + 40 * ($lw3 / 2)), 32, 32)
;GUICtrlSetState(-1,$Gui_DISABLE)
$Hersteller[$lw2][$lw3] = GUICtrlCreateLabel(IniRead($inifile, "Element" & $lw3 + 1, "Hersteller", "unbekannter Hersteller"), 80, Floor(215 + 40 * ($lw3 / 2)))
;GUICtrlSetState(-1,$Gui_DISABLE)
$Titel[$lw2][$lw3] = GUICtrlCreateLabel(IniRead($inifile, "Element" & $lw3 + 1, "Name", "?") & " v" & IniRead($inifile, "Element" & $lw3 + 1, "Version", "1"), 80, Floor(231 + 40 * ($lw3 / 2)))
;GUICtrlSetState(-1,$Gui_DISABLE)
Else
;Rechte Spalte
$Checkboxen[$lw2][$lw3] = GUICtrlCreateCheckbox("", 296, 203 + 40 * ($lw3 / 2), 16, 16)
$Icons[$lw2][$lw3] = GUICtrlCreateIcon(IniRead($inifile, "Element" & $lw3 + 1, "Icon", "data\setup.ico"), -1, 296, 195 + 40 * ($lw3 / 2), 32, 32)
;GUICtrlSetState(-1,$Gui_DISABLE)
$Hersteller[$lw2][$lw3] = GUICtrlCreateLabel(IniRead($inifile, "Element" & $lw3 + 1, "Hersteller", "unbekannter Hersteller"), 352, 195 + 40 * ($lw3 / 2))
;GUICtrlSetState(-1,$Gui_DISABLE)
$Titel[$lw2][$lw3] = GUICtrlCreateLabel(IniRead($inifile, "Element" & $lw3 + 1, "Name", "?") & " v" & IniRead($inifile, "Element" & $lw3 + 1, "Version", "1"), 352, Floor(211 + 40 * ($lw3 / 2)))
;GUICtrlSetState(-1,$Gui_DISABLE)
EndIf
;...
$lw3 = $lw3 + 1
WEnd
;übriger Code für die einzelnen Kategorien
;Erhöhen der Laufvariablen, $lw1 zählt im Auslesearray, $lw2 zählt in den Zielarrays, beide zählen in den Kategorien hoch.
$lw1 = $lw1 + 2
$lw2 = $lw2 + 1
WEnd
GUICtrlCreateTabItem("")
;EndFunc
;_InitializeGui()
GUISetState(@SW_SHOW)
$iAktTab = 0
ConsoleWrite("Anzahl Elemente : " & $AnzElemente & @CRLF)
$AnzElemente = 11 ;ist seltsamerweise nicht gesetzt
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $PageControl1
$iAktTab = _GUICtrlTab_GetCurSel($PageControl1)
Case $Checkboxen[$iAktTab][0] To $Titel[$iAktTab][$AnzElemente - 1]
if mod($nMsg - $Checkboxen[$iAktTab][0],4) Then
$iAktCheckBox = -1 ;es kann keine Checkbox sein
else
$iAktCheckBox = ($nMsg - $Checkboxen[$iAktTab][0]) /4
EndIf
ConsoleWrite("Checkbox: " & $iAktCheckBox & @CRLF) ;wenn negativ wurde keine Checkbox angeklickt
EndSwitch
WEnd
ich musste allerdings alles eine Datei nehmen, zwecks Übersicht. Das ganze würde auch im OnEvet-Modus funktionieren @GuiCtrId ist da dass Zauberwort,
mfg autoBert
Hallo Weisgarnix,
wenn es nicht alzu geheim ist, solltest du schon dein bisheriges Skript und die dazugehörige INI posten. Denn es wird wohl kaum einer dir dafür eine Musterlösung präsentieren,
mfg autoBert
Auf einer Website rumfliegen und alle Controls zerschießen, kein Problem: Destroy the Web
leider doch. Nach dem Starten meldet sich der MS JiT-Debugger, was dann zu diesem Screenshot führt:
wenn ich die htm-Dateien direkt aufrufe, habe ich zar keinen Fehler aber ausser einer 0 unten rechts ist nichts zu bemerken.
mfg autoBert