Beiträge von neurobert
-
-
@InetGetActive ist ja ein AutoIT eigenes Makro.
Habe die UpdateGui.au3 nach /autoit3/includes/ kopiert.
In meinem Testscript habe ich es wie beschrieben aufgerufen:
#include <UpdateGui.au3>$sDataTextPathOnServer = "http://bbs07.spacequadrat.de/PixelFinder/data.txt"
$sFilePathOnServer = "http://bbs07.spacequadrat.de/PixelFinder/"
$sServerUrl = "bbs07.spacequadrat.de"
$sWindowTitel = "Updates"_CreateUpdateGUI($sWindowTitel,$sServerUrl,$sDataTextPathOnServer, $sFilePathOnServer)
Nur die Pfade hab ich ausgetauscht.
Wenn ich die UpdateGui.au3 mit dem Editor öffne, dann sieht man schon welche Makros er nicht versteht.
Ich versuch mal anhand von einem Bildschirmfoto.Lieben Gruss
Norbert
-
-
Hi,
habs mit der Gruppierung und Radio Buttons gemacht und es funzt.
[autoit]#Region ### START Koda GUI section ### Form=
[/autoit]
$Form2 = GUICreate("PC 2 MC", 316, 238, 347, 263)
GUISetIcon("M:\Daten\PCMC_Transfer\0.ico")
$GroupBox1 = GUICtrlCreateGroup("", 8, 1, 297, 193)
$Label1 = GUICtrlCreateLabel("Die erlaubten Laufwerke sind schon verbunden:", 16, 16, 231, 17)
$Label2 = GUICtrlCreateLabel("Bitte ein Laufwerk auswählen, das gretrennt werden soll.", 16, 32, 270, 17)
$Radio1 = GUICtrlCreateRadio("", 40, 64, 257, 17)
$Radio2 = GUICtrlCreateRadio("", 40, 88, 257, 17)
$Radio3 = GUICtrlCreateRadio("", 40, 112, 257, 17)
$Label3 = GUICtrlCreateLabel("R:", 24, 64, 15, 17)
$Label4 = GUICtrlCreateLabel("S:", 24, 88, 14, 17)
$Label5 = GUICtrlCreateLabel("T:", 24, 112, 14, 17)
$Label6 = GUICtrlCreateLabel("Welches Laufwerk soll getrennt werden?", 40, 160, 197, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Buttonok = GUICtrlCreateButton("&OK", 65, 203, 75, 25, 0)
$Buttonab = GUICtrlCreateButton("&Abbrechen", 162, 203, 75, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###Danke
Ich schliesse den Thread ab
norbert
-
Hi,
danke für die schnelle Hilfe, ich werds gleich morgen ausprobieren.
GUICtrlCreateGroup hatte ich ja schon drin, aber scheinbar an der falschen Stelle.
Naja.. mal sehen..lg
norbert
-
Hi,
ja könnte ich, aber der Unterschied sind dann doch nur runde oder eckige Kästchen.
[autoit]
Das ist nur ein Ausschnitt aus dem kpl. Script. Da ich noch nicht fertig bin, wollte ich noch nicht alles hochladen.
Aber wenns hilft:#include <Excel.au3>
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]
#include <Array.au3>
#include <NetShare.au3>
#include <GUIConstants.au3>
#include <File.au3>
#include <WinNet.au3>; öffne die Excel-Datei vesteckt
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]
$pcliste = _ExcelBookOpen(@WorkingDir & "\Computerliste.xls", 0, 1)
;Liest in Zeile 1 Spalte 1 alle Werte Vertikal bis 200
Local $avArray = _ExcelReadArray($pcliste, 1, 1, 200, 1)
;Finde einen Wert, der mit der Systemvariablen "Computername" identisch ist
Local $TXResult = _ArrayFindAll($avArray, @ComputerName)If $TXResult = -1 Then
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]
MsgBox(0, "Keine Verbindung", "Ihr Computer wurde nicht gefunden", 10)
_ExcelBookClose($pcliste, 0, 0)
Exit
EndIf;Setze die Variable
[/autoit][autoit][/autoit][autoit]
Local $Platz = $TXResult[0];Bestimme anhand der Vorgabe mit welchem Platz wir uns verbinden
[/autoit][autoit][/autoit][autoit]
Local $ESPlatz = _ExcelReadCell($pcliste, $Platz + 1, 2);Welche Laufwerke dürfen verwendet werden und wie ist ihr Zustand
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
Global $SHARE = "\\psys4000.zrh.prod\PC2AVID$\"
$dsr = DriveStatus("R:\")
$dss = DriveStatus("S:\")
$dst = DriveStatus("T:\")Local $Laufwerk[3]
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
$Laufwerk[0] = "R"
$Laufwerk[1] = "S"
$Laufwerk[2] = "T";gibt es die Datei _ESPlatz.tpc auf R;S;T ??
[/autoit][autoit][/autoit][autoit]
If FileExists("R:\_" & $ESPlatz & ".TPC") Then
Run("c:\WINDOWS\explorer.exe R:\")
_ExcelBookClose($pcliste, 0, 0)
Exit
ElseIf FileExists("S:\_" & $ESPlatz & ".tpc") Then
Run("c:\WINDOWS\explorer.exe S:\")
_ExcelBookClose($pcliste, 0, 0)
Exit
ElseIf FileExists("T:\_" & $ESPlatz & ".tpc") Then
Run("c:\WINDOWS\explorer.exe T:\")
_ExcelBookClose($pcliste, 0, 0)
Exit
EndIf;gibt es R: nicht -> verbinde mit R:
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
If $dsr = "INVALID" Then
DriveMapAdd("R:", $SHARE & $ESPlatz, 0, "USER", "PW")
_FileCreate("R:\_" & $ESPlatz & ".TPC")
Run("c:\WINDOWS\explorer.exe R:\")
_ExcelBookClose($pcliste, 0, 0)
Exit
ElseIf $dss = "INVALID" Then
;gibt es R: -> verbinde mit S:
DriveMapAdd("S:", $SHARE & $ESPlatz, 0, "USER", "PW")
_FileCreate("S:\_" & $ESPlatz & ".TPC")
Run("c:\WINDOWS\explorer.exe S:\")
_ExcelBookClose($pcliste, 0, 0)
Exit
ElseIf $dst = "INVALID" Then
;gibt es R und S -> dann verbinde mit T:
DriveMapAdd("T:", $SHARE & $ESPlatz, 0, "USER", "PW")
_FileCreate("T:\_" & $ESPlatz & ".TPC")
Run("c:\WINDOWS\explorer.exe T:\")
_ExcelBookClose($pcliste, 0, 0)
Exit
EndIf; UNC Pfad der gemappten Laufwerke in Variable schreiben
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]
$uncR = _WinNet_GetUniversalName("R:")
$uncS = _WinNet_GetUniversalName("S:")
$uncT = _WinNet_GetUniversalName("T:");Gibt es R;S;T -> frage nach wie wir uns verbinden sollen
[/autoit][autoit][/autoit][autoit]
If $dsr = "READY" And $dss = "READY" And $dst = "READY" Then
; GUI alle Laufwerke schon gemappt
Opt("GUIOnEventMode", 1)
$Form1_1 = GUICreate("PC 2 MC", 326, 216, 293, 225)
$Group1 = GUICtrlCreateGroup("Die erlaubten Laufwerke sind schon verbunden", 0, 0, 321, 209)
$Label1 = GUICtrlCreateLabel("Bitte mindestens ein Laufwerk auswählen, das getrennt werden kann.", 32, 24, 275, 34)
$Buttonok = GUICtrlCreateButton("OK", 72, 160, 75, 25, 0)
$Buttonab = GUICtrlCreateButton("Abbrechen", 160, 160, 75, 25, 0)
$Label2 = GUICtrlCreateLabel("Welches Laufwerk soll getrennt werden??", 32, 140, 203, 17)
$CheckboxR = GUICtrlCreateCheckbox("", 32, 64, 17, 17)
$CheckboxS = GUICtrlCreateCheckbox("", 32, 88, 17, 17)
$CheckboxT = GUICtrlCreateCheckbox("", 32, 112, 17, 17)
$Label3 = GUICtrlCreateLabel("", 56, 64, 260, 17)
$Label4 = GUICtrlCreateLabel("", 56, 88, 260, 17)
$Label5 = GUICtrlCreateLabel("", 56, 112, 260, 17)
$Label6 = GUICtrlCreateLabel("R:", 8, 64, 17, 17)
$Label7 = GUICtrlCreateLabel("S:", 8, 88, 17, 17)
$Label8 = GUICtrlCreateLabel("T:", 8, 112, 17, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlSetData($Label3, $uncR[0])
GUICtrlSetData($Label4, $uncS[0])
GUICtrlSetData($Label5, $uncT[0])
GUISetState()
;GUI Funkionen
GUICtrlSetOnEvent($Buttonok, "Create")
GUICtrlSetOnEvent($Buttonab, "CLOSEClicked")
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")While 1
[/autoit][autoit][/autoit][autoit]
Sleep(100)
WEndEndIf
[/autoit][autoit][/autoit][autoit]
Func create()
$ausgabe1 = $CheckboxR And BitAND(GUICtrlRead($CheckboxR), $GUI_CHECKED) = $GUI_CHECKED
$ausgabe2 = $CheckboxS And BitAND(GUICtrlRead($CheckboxS), $GUI_CHECKED) = $GUI_CHECKED
$ausgabe3 = $CheckboxT And BitAND(GUICtrlRead($CheckboxT), $GUI_CHECKED) = $GUI_CHECKED
If $ausgabe1 = 1 Then
DriveMapDel("R:")
Sleep(5000)
DriveMapAdd("R:", $SHARE & $ESPlatz, 0, "USER", "PW")
Run("c:\WINDOWS\explorer.exe R:\")
Exit
ElseIf $ausgabe2 = 1 Then
DriveMapDel("S:")
Sleep(5000)
DriveMapAdd("S:", $SHARE & $ESPlatz, 0, "USER", "PW")
Run("c:\WINDOWS\explorer.exe S:\")
Exit
ElseIf $ausgabe3 = 1 Then
DriveMapDel("T:")
Sleep(5000)
DriveMapAdd("T:", $SHARE & $ESPlatz, 0, "USER", "PW")
Run("c:\WINDOWS\explorer.exe T:\")
Exit
Else
MsgBox(0, "", "es wurde nichts ausgewählt!")
EndIf
GUISetState(@SW_HIDE)EndFunc ;==>create
[/autoit][autoit][/autoit][autoit][/autoit][autoit]Exit
[/autoit][autoit][/autoit][autoit]Func CLOSEClicked()
[/autoit][autoit][/autoit][autoit]
Exit
EndFunc ;==>CLOSEClickedExit
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]Die Idee ist: es dürfen zum mounten nur Laufwerk R;S und T genommen werden. Auf dem Server gibt es verschiedene Verzeichnisse für verschiedenen Arbeitsplätze. Jetzt wird in einer Excel-Liste der Computername abgefragt und die Verbindung immer mit dem richtigen Verzeichnis hergestellt.
Wenn aber schon R;S und T durch andere Mounts belegt sind soll der User eines davon auswählen können und das wird dann "geunmounted"(geiles Wort) und wieder mit dem richtigen Ordner gemounted. Hoffe das war verständlich genugLieben Gruss
Neurobert
-
Hi,
hab eine kleine GUI wo man 3 Checkboxen anwählen kann. Ich brings einfach nicht fertig, dass nur eine der 3 Boxen gewählt werden darf.
[autoit];Gibt es R;S;T -> frage nach wie wir uns verbinden sollen
[/autoit][autoit][/autoit][autoit]
If $dsr = "READY" And $dss = "READY" And $dst = "READY" Then
; GUI alle Laufwerke schon gemappt
Opt("GUIOnEventMode", 1)
$Form1_1 = GUICreate("PC 2 MC", 326, 216, 293, 225)
$Group1 = GUICtrlCreateGroup("Die erlaubten Laufwerke sind schon verbunden", 0, 0, 321, 209)
$Label1 = GUICtrlCreateLabel("Bitte mindestens ein Laufwerk auswählen, das getrennt werden kann.", 32, 24, 275, 34)
$Buttonok = GUICtrlCreateButton("OK", 72, 160, 75, 25, 0)
$Buttonab = GUICtrlCreateButton("Abbrechen", 160, 160, 75, 25, 0)
$Label2 = GUICtrlCreateLabel("Welches Laufwerk soll getrennt werden??", 32, 140, 203, 17)
$CheckboxR = GUICtrlCreateCheckbox("", 32, 64, 17, 17)
$CheckboxS = GUICtrlCreateCheckbox("", 32, 88, 17, 17)
$CheckboxT = GUICtrlCreateCheckbox("", 32, 112, 17, 17)
$Label3 = GUICtrlCreateLabel("", 56, 64, 260, 17)
$Label4 = GUICtrlCreateLabel("", 56, 88, 260, 17)
$Label5 = GUICtrlCreateLabel("", 56, 112, 260, 17)
$Label6 = GUICtrlCreateLabel("R:", 8, 64, 17, 17)
$Label7 = GUICtrlCreateLabel("S:", 8, 88, 17, 17)
$Label8 = GUICtrlCreateLabel("T:", 8, 112, 17, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlSetData($Label3, $uncR[0])
GUICtrlSetData($Label4, $uncS[0])
GUICtrlSetData($Label5, $uncT[0])
GUISetState()
;GUI Funkionen
GUICtrlSetOnEvent($Buttonok, "Create")
GUICtrlSetOnEvent($Buttonab, "CLOSEClicked")
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")While 1
[/autoit][autoit][/autoit][autoit]
Sleep(100)
WEndEndIf
[/autoit][autoit][/autoit][autoit]
Func create()
$ausgabe1 = $CheckboxR And BitAND(GUICtrlRead($CheckboxR), $GUI_CHECKED) = $GUI_CHECKED
$ausgabe2 = $CheckboxS And BitAND(GUICtrlRead($CheckboxS), $GUI_CHECKED) = $GUI_CHECKED
$ausgabe3 = $CheckboxT And BitAND(GUICtrlRead($CheckboxT), $GUI_CHECKED) = $GUI_CHECKED
If $ausgabe1 = 1 Then
DriveMapDel("R:")
Sleep(5000)
DriveMapAdd("R:", $SHARE & $ESPlatz, 0, "USER", "PW")
Run("c:\WINDOWS\explorer.exe R:\")
Exit
ElseIf $ausgabe2 = 1 Then
DriveMapDel("S:")
Sleep(5000)
DriveMapAdd("S:", $SHARE & $ESPlatz, 0, "USER", "PW")
Run("c:\WINDOWS\explorer.exe S:\")
Exit
ElseIf $ausgabe3 = 1 Then
DriveMapDel("T:")
Sleep(5000)
DriveMapAdd("T:", $SHARE & $ESPlatz, 0, "USER", "PW")
Run("c:\WINDOWS\explorer.exe T:\")
Exit
Else
MsgBox(0, "", "es wurde nichts ausgewählt!")
EndIf
GUISetState(@SW_HIDE)EndFunc ;==>create
[/autoit][autoit][/autoit][autoit][/autoit][autoit]Exit
[/autoit][autoit][/autoit][autoit]Func CLOSEClicked()
[/autoit]
Exit
EndFunc ;==>CLOSEClicked
Bis jetzt bin ich ganz dolle stolz, dass es soweit funktioniert... es könnte aber sein, dass jemand 2 Chckboxen auswählt und dann geht es nicht mehr.. Jemand eine Idee???Gruss Neurobert
-
Hey Schnuffel,
das ging aber schnell und funktioniert einwandfrei.
Danke...
Ich progrmmier mal weiter, mach das erst 2 Tage... kann sein, dass ich mich zu weiteren Problemen hier nochmal melden muss.
Neurobert
-
Hi,
ich habe verschiedene Netzlaufwerke gemounted. z.B. Laufwerk R: "Name" auf "Server\Share".
Jetzt steht das Problem an, dass ich die aktuell verbundenen Laufwerke mit "DriveStatus" auslesen kann. Es darf nur R;S;T verwendet werden.
Wenn "INVALID" dann mounte ich neu, wenn aber "READY", dann soll er mir den UNC Pfad: "Server\Share" ausgeben. Könnte ja auch ein mapping von einem anderen Server sein.
Weiss jemand wie das geht???$dsr = DriveStatus( "R:\" )
$dss = DriveStatus( "S:\" )
$dst = DriveStatus( "T:\" );gibt es R: nicht -> verbinde mit R:
if $dsr = "INVALID" Then
DriveMapAdd ("R:", $SHARE&$ESPlatz, 0, "USER", "PW")
_FileCreate("R:\_"&$ESPlatz&".txt")
run("c:\WINDOWS\explorer.exe R:\")
Exit
ElseIf $dss = "INVALID" Then
;gibt es R: -> verbinde mit S:
DriveMapAdd ("S:", $SHARE&$ESPlatz, 0, "USER", "PW")
_FileCreate("S:\_"&$ESPlatz&".txt")
run("c:\WINDOWS\explorer.exe S:\")
Exit
Elseif $dst = "INVALID" Then
;gibt es R und S -> dann verbinde mit T:
DriveMapAdd ("T:", $SHARE&$ESPlatz, 0, "USER", "PW")
_FileCreate("T:\_"&$ESPlatz&".txt")
run("c:\WINDOWS\explorer.exe T:\")
Exit
EndIfJetzt soll eine GUI folgen, in der die bereits gemappeten Laufwerke mit UNC Pfad stehen. Und der User die Möglichkeit hat eines zu unmappen.
Danke im Vorraus
Neurobert