Beiträge von Moombas
-
-
Ansonsten schaue mal hier: https://praxistipps.chip.de/bildschirm-mit…ach-gehts_43697
Auch wenn wohl die FN-Taste nicht simulierbar ist ("Most laptop computer keyboards have a special Fn key. This key cannot be simulated.")
Eventuell hilft dir das weiter oder reicht für eine Idee.
-
shakoon: Ich Meinte durchaus Seiten über Tabs. Ich denke das BugFix/ Musashi mit ihrer Aussage generell richtig liegen. Jedoch kennt keiner von uns außer dir Den Sinn und Zweck deiner Labels bzw. den generellen GUI-Aufbau oder Funktion deines Programms.
-
Dann musst du dich dann entscheiden ob du deine GUI Scrollbar machst und dennoch weiter deine Elemente anlegst oder du mehrere Seiten anlegst oder du generell dann immer nur die 15 ersten Treffer anlegst. Letzteres könnte jedoch zu irritation führen, sofern du dafür dann keine Info ausgibst.
-
Ouch, bin bei Autoit zwar nicht bewandert was die GUI angeht aber das müsste man doch über eine Schleife besser lösen können (und dort dann abfragen ob dann überhaupt eine entsprechende Zeile "zum befüllen" existiert und auch nur dann die GUI erstellt). Das müsste schöner aussehen und auch das Problem lösen.
Leider kenne ich selber das aktuell nur aus Delphi.Müsste doch so gehen (ungetestet)
Codefor $i = 0 to UBound($aDetail, 1) - 1 Step 1 GUICtrlCreateLabel($aDetail[$i][1] , $aDetail[$i][2], $aDetail[$i][3]-50, $aDetail[$i][4], $aDetail[$i][5], BitOR($SS_CENTER, $SS_CENTERIMAGE, $WS_BORDER)) GUICtrlSetBkColor(-1, $labelbgcolorh) GUICtrlSetColor(-1, $labeltextcolorh) GUICtrlSetFont(-1, $fontsizelabelh, $FW_BOLD) Next -
Das ist ja das "klassische" Stapelspiel, welches man für Android mittlerweile zu hauf in unterschiedlichen Varianten findet.
alpines du solltest mit deiner Vermutung richtig liegen. Also Kosten(Stufe) = 2^(Stufe-1)
Edit: Beispiel: https://play.google.com/store/apps/det…welve2&hl=en_US
-
Oder du übergibst beim Aufruf der Funktion deine Variable und diese wird in der Funktion entsprechend eingesetzt. Dann bleibt die Funktion immer die Gleiche.
-
@TE hast du deinen Fehler mittlerweile gefunden? Ich glaube das ein Fehler hier liegt:
CodeSwitch $tmp Case 6 ; JA, verschieben der jpgs FileMove(($source & $jjjjup & "\" & $proup & "\Berechnungen\*.jpg"), ("F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\" & $jjjjup & "\" & $proup & "\Fotos\"), $FC_OVERWRITE + $FC_CREATEPATH) copyup() Case 7 copyup();NEIN, kein verschieben, Daten werden komplett verschoben in AD Ordner Case 2 ; CANCEL, Programmabbruch Exit ;Warum schließt du das ganze Programm an dieser Stelle? Im Prinzip müsstest du dir Case 2 sparen können (Cancel = keine Aktion, das Programm bleibt aber offen) EndSwitchWo ich mir nun nicht sicher bin: Löst das "Schließen" der MsgBox das $GUI_EVENT_CLOSE aus? Wenn ja, solltest du für das Beenden des Programms einen extra Button einführen der dein Programm beendet und
entfernen.
-
Ja hast ja recht

Hab nur seine Struktur übernommen und schreibe es selber immer viel zu umständlich XD
-
Dazu kann ich selber nichts sagen aber ein anderer "Logikfehler" ist bei dir zu finden (meiner Meinung nach):
In der Kopierfunktion "Func copydown()" scheibst du folgendes:
CodeLocal $CopySuccess $CopySuccess = DirCopy(($source & $jjjjdown & "\" & $prodown & "\Berechnungen"), ($dest & $jjjjdown & "\" & $prodown & "\Berechnungen"), $FC_OVERWRITE) DirCopy(($source & $jjjjdown & "\" & $prodown & "\Katasterunterlagen\Risse"), ($dest & $jjjjdown & "\" & $prodown & "\Katasterunterlagen\Risse"), $FC_OVERWRITE) ConsoleWrite('< DirCopy = ' & $CopySuccess & @CRLF) If Not $CopySuccess Then MsgBox(16, "Ergebnis von DirCopy : ", "Die Kopieraktion ist fehlgeschlagen ! ") Else MsgBox(64, "Ergebnis von DirCopy : ", "Die Kopieraktion war erfolgreich ! ") EndIfDu prüfst ob das kopieren erfolgreich war, Das gilt aber nur für den ERSTEN Kopiervorgang. Ob der Zweite erfolgreich war, weißt du nicht! Mein Vorschlag (basierend darauf, das DirCopy bei Erfolg als Wert "1" zurück gibt und bei Fehlschlag "0"):
CodeLocal $CopySuccess $CopySuccess = DirCopy(($source & $jjjjdown & "\" & $prodown & "\Berechnungen"), ($dest & $jjjjdown & "\" & $prodown & "\Berechnungen"), $FC_OVERWRITE) $CopySuccess = $CopySuccess + DirCopy(($source & $jjjjdown & "\" & $prodown & "\Katasterunterlagen\Risse"), ($dest & $jjjjdown & "\" & $prodown & "\Katasterunterlagen\Risse"), $FC_OVERWRITE) ConsoleWrite('< DirCopy = ' & $CopySuccess & @CRLF) If $CopySuccess <> 2 Then MsgBox(16, "Ergebnis von DirCopy : ", "Die Kopieraktion ist fehlgeschlagen! " & $CopySuccess & "/2") ;Ggf. noch einfügen: & " Kopierfehler: " & @error Else MsgBox(64, "Ergebnis von DirCopy : ", "Die Kopieraktion war erfolgreich ! ") EndIfDanach solltest du sicher sein, das beide oder maximal ein Kopiervorgang erfolgreich war.
-
Du kannst das ja mit einer Schleife durchgehen (Tipp: fange hinten an, da sich sonst die Anzahl der Zeilen etc. verschiebt auf die du noch zugreifen würdest) und Vergleichen und dann entsprechend löschen.
Alpines war schneller^^
Schau mal hier @Lanealine: https://www.autoitscript.com/forum/topic/15…ed-on-criteria/
-
Deine Abfrage ist ja auch verkehrt (Die Korrektur gibst du dir eine Zeile drüber schon vor):
Müsste die nicht so heißen:
Oder bin ich jetzt verkehrt?
-
@EL: Ich habe in meinem vorigen Post mal ein Beispiel angehängt. und ich (für meinen Teil) würde an deiner Stelle select Case nehmen anstatt switch.
Warum:
Select..Case:
ZitatIf the expression is true the following statements up to the next Case or EndSelect statement are executed. If more than one of the Case statements are true, only the first one is executed.
Switch..Case
ZitatAn expression that returns a value. The value from the expression is then compared against the values of each case until a match is found. This expression is always evaluated exactly once each time through the structure. Bei Select wärst du damit aus meiner Sicht auf der sicheren Seite UND wenn er ein passendes Case gefunden hat, prüft er nicht weiter.
-
Zur Abfrage der Buttons etc.: Schau mal hier: https://www.autoitscript.com/autoit3/docs/f…s/GUIGetMsg.htm
Code
Alles anzeigenWhile 1 $Ereignis = GUIGetMsg() Select Case $Ereignis = $GUI_EVENT_CLOSE MsgBox($MB_SYSTEMMODAL, "GUI Event", "Du hast auf CLOSE geklickt. Programm wird beendet...") ExitLoop Case $Ereignis = $InfoButton MsgBox($MB_SYSTEMMODAL, "Info", "Daten des Infoportals...") Case $Ereignis = $BerechnenButton if GUICtrlRead($Erweitert) = $GUI_CHECKED then Funktion2() else Funktion1() endif EndSelect WEnd ... Func Funktion1() Local $Ergebnis $Ergebnis = GUICtrlRead($Formnestzahl) + GUICtrlRead($Zykluszeit) GUICtrlSetData($Tagesproduktion, $Ergebnis) EndFunc Func Funktion2() Local $Ergebnis $Ergebnis = GUICtrlRead($Formnestzahl) + GUICtrlRead($Zykluszeit) GUICtrlSetData($Tagesproduktion, $Ergebnis) $Ergebnis = $A + $B GUICtrlSetData($Label2, $Ergebnis) ... EndFunc -
Nicht zwangsweise, und das schrieb ich bereits

Sorry Überlesen aber ich denke wir meinen das gleiche (in Variable speichern), da ich selber nur diese art der "Benennung" kenne in Autoit XD
-
Mit GUICtrlSetState und dem Status $GUI_DISABLE/$GUI_ENABLE kannst du genau das machen.
Du musst diese States beim Klick auf die Checkbox setzen.
Dafür musst du deinen Labels etc. aber beim erstellen Namen zuweisen!
Also z.B.: $NAME= GUICtrlCreateLabel("Erwarte Dateneingabe...",45,385,180,20,BitOr($SS_CENTER,$SS_CENTERIMAGE),-1) damit du drauf zugreifen kannst.
Und dann GUICtrlSetState($NAME, $GUI_DISABLE) bzw GUICtrlSetState($NAME, $GUI_ENABLE)
-
... Ich kann eben die Leistung heutiger integrierter Grafikchips nicht einschätzen. ...
Für normale Office-Anwendungen & reines Internet surfen reichen On-Board Karten aus. Sobald du 3D Rendering, Phys-X etc. brauchst kommst du um eine "normale" Graka nicht herum. Auch beim schauen von ((U)HD-)Videos / Streams kann es bei einer onBoard-Karte zu rucklern kommen, habe ich bisher aber selten gesehen. Ich selber würde dir, zumal du auch FlugSim spielst, zumindest zu einer LowBudget Graka raten, die diese Techniken mitbringt bzw. es würde auch nichts dagegen sprechen diese nachzurüsten falls notwendig oder?
Die günstigste AMD kostet ~43€ bzw. Nvidia ~34€, das wäre doch nun wirklich nicht die Welt. Da ich aber weder deinen FlugSim kenne (evtl. nimmst du diesen als Maßstab für die Graka), weiß ich nicht ob du hier höher greifen müsstest, da du aber überlegst evtl. nur die Onboard zu nutzen, glaube ich schon das diese deinen Anforderungen gerecht würden.
-
BugFix : Ja ich habe SciTe neu gestartet (mehrfach)
Habe zum testen extra einer Variable die Deklaration genommen, aber leider keine Fehlermeldung. Trage ich es direkt ein bzw. über Abbrev, dann funktionierts. Das ich eine bestehende .au3 verwende und keine neue dürfte ja egal sein odeR?@Musashi: Ich bin diese Prüfung eigentlich generell gewöhnt (Pascal -> Delphi) und kenne es so, das Variablen deklariert werden MÜSSEN, bevor sie verwendet werden. Aktuell ist heute ein Skript auf Fehler gelaufen, weil eine Variable durch eine Besonderheit an einem PC nicht deklariert wurde -> Fehlermeldung im Skript.
Das würde ich gerne generell vermeiden und wenn ich bei Foren-Skripten halt Variablen nachdeklarieren muss, wäre ja eigentlich sogar sauberer

Nachtrag: Wenn ich JETZT versuche Opt("MustDeclareVars", 1) einzutragen, ändert er es in Opt("MustDeclareVars", 0)!
Nachtrag 2: Ich habe in deiner Au3OptMustDeclareVars.lua den Eintrag local mustdeclare = tonumber(props["Opt.MustDeclareVars.au3"]) or 0 geändert in local mustdeclare = tonumber(props["Opt.MustDeclareVars.au3"]) or 1. Jetzt gehts!
-
Also vorerst schon mal Danke, das du dich meinem Problem angenommen hast

Aber irgendwas mache ich noch falsch. Eingefügt habe ich
SciTEUser.properties (als letzte Zeile): Opt.MustDeclareVars.au3=1
Code
Alles anzeigenimport au3.UserUdfs import au3.keywords.user.abbreviations font.base=font:Verdana,size:10,$(font.override) font.monospace=font:Courier New,size:10 backup.files=0 proper.case=0 error.inline=1 highlight.current.word=1 highlight.current.word.by.style=1 highlight.current.word.autoselectword=0 highlight.current.word.wholeword=0 highlight.current.word.matchcase=0 highlight.current.word.minlength=3 use.tabs=1 indent.size=4 indent.size.*.au3=4 tabsize=4 style.au3.32=style.*.32=$(font.base),back:#F0F4F9 caret.line.back=#FFFED8 caret.line.back.alpha=256 selection.fore=#006000 selection.alpha=50 selection.back=#F0A0A8 style.error.0=fore:#ff0000,back:#F0F0F0 style.error.1=fore:#FF0000,back:#FFFF00 style.error.2=fore:#FFFFFF,back:#FF0000 highlight.current.word.colour=#00D040 indicators.alpha=63 calltips.set.above=0 style.au3.38=fore:#050505,back:#FFFFFF calltips.color.highlight=#FF0000 visible.policy.strict=1 visible.policy.lines=0 style.au3.34=fore:#0000FF,back:#F0F4F9 style.au3.35=fore:#008000,italics,back:#F0F4F9 style.au3.0=fore:#000000,back:#F0F4F9 style.au3.1=fore:#008000,italics,back:#F0F4F9 style.au3.2=fore:#008000,italics,back:#F0F4F9 style.au3.3=fore:#0000FF,back:#F0F4F9 style.au3.4=fore:#000090,back:#F0F4F9 style.au3.5=fore:#0000FF,back:#F0F4F9 style.au3.6=fore:#808000,back:#F0F4F9 style.au3.7=fore:#FF0000,back:#F0F4F9 style.au3.8=fore:#FF8000,back:#F0F4F9 style.au3.9=fore:#5A5A5A,bold,back:#F0F4F9 style.au3.10=fore:#808080,back:#F0F4F9 style.au3.11=fore:#808000,back:#F0F4F9 style.au3.12=fore:#DC143C,back:#F0F4F9 style.au3.13=fore:#FF0000,back:#F0F4F9 style.au3.14=fore:#993399,back:#F0F4F9 style.au3.15=fore:#0080FF,back:#F0F4F9 style.au3.16=fore:#000000,back:#F0F4F9 command.name.19.*= command.19.beta= command.name.23.*= command.name.33.*= command.33.beta= openpath.$(au3)=$(SciteDefaultHome)\..\include; command.35.*.au3=dostring scite.MenuCommand(IDM_TOGGLE_FOLDALL) command.name.35.*=Un/Fold All command.mode.35.*=subsystem:lua,savebefore:no command.shortcut.35.*.au3=Ctrl+Alt+T Opt.MustDeclareVars.au3=1SciTEStartup.lua (am Ende, nach "EventClass:BeginEvents()"): LoadLuaFile("Au3OptMustDeclareVars.lua")
Code
Alles anzeigen-------------------------------------------------------------------------------- -- SciTE startup script. -------------------------------------------------------------------------------- -- A table listing all loaded files. LoadLuaFileList = { } -------------------------------------------------------------------------------- -- LoadLuaFile(file, directory) -- -- Helper function for easily loading Lua files. -- -- Parameters: -- file - The name of a Lua file to load. -- directory - If specified, file is looked for in that directory. By default, -- this directory is $(SciTEDefaultHome)\Lua. -------------------------------------------------------------------------------- function LoadLuaFile(file, directory) if directory == nil then directory = props["SciteDefaultHome"] .. "\\Lua\\" end table.insert(LoadLuaFileList, directory .. file) dofile(directory .. file) end -- LoadLuaFile() -- Load all the Lua files. LoadLuaFile("Class.lua") -- Always load first. LoadLuaFile("Common.lua") -- Always load second. LoadLuaFile("AutoItPixmap.lua") LoadLuaFile("AutoHScroll.lua") LoadLuaFile("AutoItAutoComplete.lua") LoadLuaFile("LUAAutoComplete.lua") LoadLuaFile("LoadSession.lua") LoadLuaFile("AutoItIndentFix.lua") LoadLuaFile("EdgeMode.lua") LoadLuaFile("SmartAutoCompleteHide.lua") LoadLuaFile("Tools.lua") LoadLuaFile("AutoItTools.lua") LoadLuaFile("AutoItGotoDefinition.lua") LoadLuaFile("SciTE_extras.lua") if os.getenv("SCITE_USERHOME") ~= nil then f = io.open(os.getenv("SCITE_USERHOME") .. "\\PersonalTools.lua") if f ~= nil then LoadLuaFile("PersonalTools.lua",os.getenv ("SCITE_USERHOME") .. "\\") f:close() end else f = io.open(os.getenv("USERPROFILE") .. "\\PersonalTools.lua") if f ~= nil then LoadLuaFile("PersonalTools.lua",os.getenv ("USERPROFILE") .. "\\") f:close() end end -- Start up the events (Calls OnStartup()). EventClass:BeginEvents() LoadLuaFile("Au3OptMustDeclareVars.lua")Au3OptMustDeclareVars.lua in den lua Ordner von SciTe
Beim Kompilieren bekomme ich jedoch keine Warnung.
-
Andy: Bezüglich der Steckplätze: Weißt du VORHER wie viele Steckplätze der Fertig-PC hat? Im optimalen Fall wird beim RAM MITTLERWEILE angegeben wie viele Steckplätze das Board hat und wie viele belegt werden, das war aber auch mal ganz anders! Zusätzlich weißt du so gut wie nie wie viele Steckplätze die Graka blockiert (durch Verwendung von 2 oder mehr Slots).
Bezüglich Harmonisieren: Hier hatte ich bisher keine Probleme. Wir reden hier von PC's für "Normalos" und von keinem High-Precision-PC wo das letzte Quäntchen Leistung rausgeholt wird (das wirst du wie selber geschrieben auch beim Fertig-PC nicht vorfinden. Wenn deine Aussage stimmt (war mir auch neu), ja eher im Gegenteil um Strahlungswerte einhalten zu können.
Habe bisher immer auf die Details bei Prozessor, Mainboard, Arbeitsspeicher etc. geachtet (Was für eine Taktfrequenz kann der Prozessor (beim RAM), welches das MB und welchen Arbeitsspeicher habe ich in dem Bereich zur Verfügung usw. usw.) und daher habe ich hier bisher keine Kompatiblitätsprobleme gehabt. Ich bin das erste mal ein wenig in Verlegenheit gekommen, wo ich die erste SSD verbaut habe aber auch das ließ sich durch Literatur lösen, selbes galt für ein Crash Problem mit dem aktuellen Ryzen 7 (da ich eigentlich nur Intel nutze, aber der Ryzen schneidet aktuell einfach zu gut ab) auch hier nach kurzer Suche die Problemstelle gefunden (Win10 BIOS-Setting machte Probleme) und beseitigt. Auch mit der Zeit habe ich mich z.B. auf bestimmte Hersteller "fixiert", einfach weil ich hier gute Erfahrungen gemacht habe und keine Probleme bekommen habe, das hat sich bisher immer bewährt.
Ich baue die PC's in der kompletten Familie nach Bedarf zusammen und je nach Anforderungen unterschiedlichste Systeme (ohne manuelles OC) und bin bei techn. Fragen (auch außerhalb von PC's) oft der erste Ansprechpartner. Bisher waren alle glücklich und mir macht das Schrauben Spaß.
Dein Extrem-Beispiel ist natürlich sagen wir typisch für "möchtegern" Typen, die am besten den PC auf dem Teppich schön mit statischer Aufladung umbauen und sich später wundern warum das System muckt. Sollte ich sowas mitbekommen, ist die Entscheidung schnell gefällt: DIY (Do-It-Yourself), da mutwillig selbst verschuldet, ist aber bisher bei mir im Bekanntenkreis nicht der Fall, eher (zu) vorsichtig und einmal mehr Fragen (hab sie gut erzogen
).Zum Rest: Ich habe mir zugegebenermaßen nicht den ganzen Text durchgelesen aber viele der von dir hier angesprochenen "Probleme" kann ich bisher nicht bestätigen. Weder das eine Graka nicht lief/erkannt wurde noch das Problem mit Kurzschlüssen. Gut, ich arbeite mit Erdungsband und wenn mal eine Schraube flöten geht, wird kein Strom eingeschaltet, solange bis sie gefunden wurde.
Natürlich sollte jemand der gar keine Ahnung hat lieber bauen LASSEN, wenn man aber bereit ist sich mit der Materie auseinander zu setzen. Man sollte durchaus wissen wie viel Wärmeleitpaste man nutzen muss bzw. ab wann es zu viel ist usw. Wenn man damit nicht aufwarten kann -> durch den Shop zusammen bauen lassen und glücklich sein.