[autoit]
Send ('shutdown s -t 10 -c "Shutdown"')
[/autoit]Send ('shutdown s -t 10 -c "Shutdown"')
[/autoit]Hachja ... Geometrie und ich.
Ja, ich geh von dieser Skizze aus. Der Denkfehler liegt scheinbar darin, das ich davon ausgehe das Seite AB des Dreicks als x-Achse herhalten soll bzw. parallel zu ihr laufen soll. Wenn dem so sein sollte liessen sich die Koordinaten der Lotfusspunkte ja einfach von der des Mittelpunktes ableiten (G wäre bei y von M - Radius) und von G dann die Koordinate der Eckpunkte A und B auf der x-Achse. Daraus dann wiederrum der Punkt C. Alles vor dem Hintergrund das die Winkelhalbierende wirklich 3xRadius ist. Hat ja noch niemand bestätigt.
Da fehlt eine Nebenbedingung.
Die Punkte können in unendlicher Kombination liegen.
Wenigstens 1 Punkt muss bekannt sein.
Die anderen Punkte liegen dann mit der Schrittweite 2/3*Pi vom 1. Punkt von der Kreismitte entfernt wenn es sich um ein gleichseitiges Dreieck handelt.
Mal davon ausgehend das meine Vermutung mit der Länge der Winkelhalbierenden stimmt, dann wäre der Winkel AMG immer 60°. Liesse sich damit nicht auch der Endpunkt in Bezug auf den Mittelpunkt errechnen ohne einen der Punkte A,B oder C zu kennen?
Es ist eher das hier http://www.mathepedia.de/Winkelhalbierende_Inkreis.aspx.
Wenn's nicht noch so früh wäre ..... gäähhn.
edit: Mir kam da grad so ein Gedanke. Wenn das Dreieck gleichseitig ist, dann dürften die Winkelhalbierenden exakt durch den jeweils gegenüberliegenden Lotfußpunkt laufen und genau 3 mal Radius lang sein. Wenn ich den Gedanken weiterspinne drängt sich mir die Vermutung auf, das im Dreieck AMG die Seite AM=2xRadius und die Seite MG=Radius ist. Dann liesse sich die Seite AG berechnen. 2xAG ist dann die Seitenlänge des Dreicks ABC.
Schade das ich grad kein passendes Progi da hab um das mal zu konstruieren.
Ja, kA. Ich weiss ja nicht was RunNow() macht.
Aber vergiss den Quatsch den ich da über das GUICtrlRead() geschrieben hab. Der Vergleich ob ausgefüllt oder nicht ist unsinnig. Es kommt ja immer der Status als Rückgabewert.
Für die GUICtrlReads müsstest du eine Bedingung angeben, z.B. das sie nicht leer sein dürfen.
Ungefähr so dürfte das funktionieren.
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $runnow
If GUICtrlRead($laptop) <> "" And GUICtrlRead($os) <> "" And GUICtrlRead($office) <> "" And GUICtrlRead($language) <> "" Then
If FileExists("r:\" & $laptop & $os & $office & $language) Then
MsgBox(0, "", "file exist")
Else
_RunNow()
EndIf
Else
MsgBox(0, "Hinweis", "Bitte zuerst alle Felder ausfüllen!")
EndIf
EndSwitch
WEnd
Allerdings wäre es eleganterinnerhalb der Funktion RunNow() auf Fehler zu prüfen.
#include<Array.au3>
$ret = _GetFilesFolder_Rekursiv(@TempDir, -1 , 0, 0)
If IsArray($ret) Then
MsgBox(0, "Rekursiv alle Dateien", $ret[0] & " Dateien gefunden")
Else
ConsoleWrite($ret & @CRLF)
EndIf
;==================================================================================================
; Function Name: _GetFilesFolder_Rekursiv($sPath [, $sExt='*' [, $iDir=-1 [, $iRetType=0 ,[$sDelim='0']]]])
; Description: Rekursive Auflistung von Dateien und/oder Ordnern
; Parameter(s): $sPath der Basispfad für die Auflistung ('.' -aktueller Pfad, '..' -Parentpfad)
; $sExt Erweiterung für Dateiauswahl '*' oder -1 für alle (Standard)
; $iDir -1 Dateien+Ordner(Standard), 0 nur Dateien, 1 nur Ordner
; optional: $iRetType 0 gibt Array, 1 gibt String zurück
; optional: $sDelim legt Trennzeichen für Stringrückgabe fest
; 0 -@CRLF (Standard) 1 -@CR 2 -@LF 3 -';' 4 -'|'
; Return Value(s): Array (Standard) od. String mit den gefundenen Pfaden der Dateien und/oder Ordner
; Array[0] enthält die Anzahl der gefundenen Dateien/Ordner
; Author(s): BugFix ([email='bugfix@autoit.de'][/email])
;==================================================================================================
Func _GetFilesFolder_Rekursiv($sPath, $sExt='*', $iDir=-1, $iRetType=0, $sDelim='0')
Global $oFSO = ObjCreate('Scripting.FileSystemObject')
Global $strFiles = ''
Switch $sDelim
Case '1'
$sDelim = @CR
Case '2'
$sDelim = @LF
Case '3'
$sDelim = ';'
Case '4'
$sDelim = '|'
Case Else
$sDelim = @CRLF
EndSwitch
If ($iRetType < 0) Or ($iRetType > 1) Then $iRetType = 0
If $sExt = -1 Then $sExt = '*'
If ($iDir < -1) Or ($iDir > 1) Then $iDir = -1
_ShowSubFolders($oFSO.GetFolder($sPath),$sExt,$iDir,$sDelim)
If $iRetType = 0 Then
Local $aOut
$aOut = StringSplit(StringTrimRight($strFiles, StringLen($sDelim)), $sDelim, 1)
If $aOut[1] = '' Then
ReDim $aOut[1]
$aOut[0] = 0
EndIf
Return $aOut
Else
Return StringTrimRight($strFiles, StringLen($sDelim))
EndIf
EndFunc
Func _ShowSubFolders($Folder, $Ext='*', $Dir=-1, $Delim=@CRLF)
If Not IsDeclared("strFiles") Then Global $strFiles = ''
If ($Dir = -1) Or ($Dir = 0) Then
For $file In $Folder.Files
If $Ext <> '*' Then
If StringRight($file.Name, StringLen($Ext)) = $Ext Then _
$strFiles &= $file.Path & $Delim
Else
$strFiles &= $file.Path & $Delim
EndIf
Next
EndIf
For $Subfolder In $Folder.SubFolders
If ($Dir = -1) Or ($Dir = 1) Then $strFiles &= $Subfolder.Path & '\' & $Delim
_ShowSubFolders($Subfolder, $Ext, $Dir, $Delim)
Next
EndFunc
edit: omg, das war extrem langsam
Warum lässt du die Dateien nicht gleich von FileInstall() ins Zielverzeichnis schieben?
Nur so nebenbei - DirCreate() erstellt dir die komplette Ordnerstruktur wenn sie nicht existiert. Von daher würde DirCreate("C:/temp/deploy/extras/hotfix") ausreichen bzw. bei dir eigentlich DirCreate(@TempDir & "\deploy\extras\hotfix")
Rene Kevin? Komische Kombi. Hast du deine Eltern mal gefragt was sie sich dabei gedacht haben?
Ach Mark, ich brauch den Keks auch garnicht. Hab selber welche :P.
servus Jens ![]()
ZitatAutoit-Hilfe
Bemerkungen
Wenn die Ordnerstruktur des Zielordners nicht besteht, wird sie nach Möglichkeit erstellt.
Du kannst dir Variablen zum testen mit ConsoleWrite() oder als MsgBox() ausgeben lassen. Dann schau auch mal in SciTE unter Tools. Dort findest du z.B. Debug To Console.
Das gesammte Skript step by step zu debugen geht afaik nicht.
Häng mal LIMIT 1 hinten dran.
Weil Leute die dort keinen Account haben ziemlich oft ausgesperrt werden. Auch bei KB Dateien. Ist dann halt umständlich wenn man stindenlang probieren muss.
Bin ja ungemein beruhigt das ich nicht dr einzige bin der sowas nicht ohne Source startet ![]()
Warum kein Source ![]()
Ihr lebt eigentlich nur von den vielen Usern
Genau davon lebt eine gute Community und nur die User machen sie einzigartig. Nicht die kleinen Nebensächlichkeiten wie z.B. das Design. Soetwas ist subjektiv. Das Design von Autoit.at reisst mich jetzt auch nicht unbedingt vom Hocker.
Aber hey, FP scheint sich regelmässig um das Projekt zu kümmern also sei ihm der Erfolg gegönnt.
Ich find's aber extrem interessant wie eine kleine, eigentlich nichtssagende Aussage bei einigen für erhöhten Blutdruck sorgt. Naja, mit etwas Fansasie kann man auch in einen Apfelkuchen den Inbegriff allen Bösen hineininterpretieren. ![]()
if $cmdline[0] > 0 And $cmdline[1] = "-start" Then ;prüft ob Parameter vorhanden sind und ob der erste "-start" ist
MsgBox(0,"","Programm gestartet")
else
MsgBox(0,"","Falscher Parameter")
Exit
EndIf