Hi
Ich verstehe es auf die schnelle auch nicht, aber schreibe mal ne msgbox mit den Variabeln als Wert mit rein. Dort kannst Du dann sehen warum sie nicht abbricht.
Gruß Ralf
Hi
Ich verstehe es auf die schnelle auch nicht, aber schreibe mal ne msgbox mit den Variabeln als Wert mit rein. Dort kannst Du dann sehen warum sie nicht abbricht.
Gruß Ralf
Hallo
bei Microsoft gibt es eine Msdn-Bbliothek in der du die Objekte und Eigenschaften nachschlagen kannst.
http://msdn.microsoft.com/de-de/library/cc952560.aspx
Vielleicht hilft es weiter.
Gruß Ralf
oh da habe ich wohl zu lange in der msdn gestöbert
Hallo
wie Oscar schon sagte, ist die IP denkbar ungeeignet. Die Internetverbindung wird in der Regel vom Provider nach 24 Stunden getrennt (mehr Internetnutzer als IP-Adressen). Als Client kann man jederzeit die Verbindung trennen und bekommt beim erneuten Verbindungsaufbau eine neue IP-Adresse zugewiesen. Somit läßt sich das Programm nicht erneut starten, was beim Computerneustart (ohne Router) der Fall ist. Ist das Programm an die Hardware gekuppelt kann der Nutzer den Rechner nicht wechseln (bei Besitz eines Pc und Laptops z.B.). In diesem Fall solltest Du darüber nachdenken, dem Programm zu erlauben, am Tag auf 2 verschiedenen Hardwarekonfigurationen zu starten. Dies dürfte die beste Lösung für Dich und dem Anwender sein.
Gruß Ralf
Hallo
bist schon auf dem richtigen Weg.
Ini - Datei
[Netz]
1= IP-Adresse
2= IP-Adresse
anschließend muß nur noch hinter
case iniread("Pfad\Ini-Datei","Netz", "1","Ip-Adresse")
[/autoit]
rein
Gruß Ralf
Hallo
Als erstes solltest Du bei dem Programmstart überprüfen (WinExists) ob das Programm schon läuft, sonst können mehrere Instanzen gestartet werden und mit dem trennen und neuverbinden (neue IP-Adresse) des Internets mehrere Pw geholt werden. Anschließend sollte das Programm den Benutzernamen und das Pw an Deinen Rootserver (über TCPConnect) senden und bei richtger Antwort das Programm fortsetzen ansonsten schließen.
Gruß Ralf
Hi
habe deinen Code ein bischen geändert. Er funktioniert zwar bei mir, allerdings weiß ich nicht ob er so noch richtig ist. (Übersteigt mein Autoit wissen)
#Include
[/autoit] [autoit][/autoit] [autoit]Opt("TrayMenuMode",1) ; Default tray menu items (Script Paused/Exit) will not be shown.
[/autoit] [autoit][/autoit] [autoit]$settingsitem = TrayCreateMenu("Settings")
$about = TrayCreateItem("About")
$shortcut = TrayCreateItem("Shortcut", $settingsitem)
;$printeritem = TrayCreateItem("Printer", $settingsitem)
$exititem = TrayCreateItem("Exit")
TraySetState()
[/autoit] [autoit][/autoit] [autoit]Func _copy ()
ClipPut ( "" )
send ("^c")
$cache = ClipGet ()
$cache = StringRegExpReplace ( $cache,@crlf, " ")
ClipPut ( $cache )
WinActivate ("[CLASS:XLMAIN]", "")
WinWaitActive ("[CLASS:XLMAIN]", "")
; MsgBox (48, "Cache", $cache)
; send ( "{F2}" )
send ( "^v")
; send ( $cache )
send ( "{ENTER}" )
WinActivate ("[CLASS:AcrobatSDIWindow]", "")
WinWaitActive ("[CLASS:AcrobatSDIWindow]", "")
EndFunc
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Copystation", 180, 157, 193, 128)
GUISetIcon("E:\REG-IS Archiv\_REG_IS 20090419\Favicon.ico")
GUISetState ( @SW_HIDE, $Form1 )
$Button1 = GUICtrlCreateButton("Close", 40, 120, 97, 25, 0)
$Button2 = GUICtrlCreateButton("Save", 40, 90, 97, 25, 0)
$Input1 = GUICtrlCreateInput("", 75, 16, 33, 21)
$Label1 = GUICtrlCreateLabel("alt = !", 30, 48, 30, 17)
$Label2 = GUICtrlCreateLabel("shift = +", 30, 65, 41, 17)
$Label3 = GUICtrlCreateLabel("strg = ^", 90, 48, 39, 17)
$Label4 = GUICtrlCreateLabel("{F1} - {12}", 90, 65, 53, 17)
#EndRegion ### END Koda GUI section ###
While 1
$msg = TrayGetMsg()
$nMsg = GUIGetMsg()
Select
Case $msg = $about
MsgBox ( 64, "about:", "Scriped by Daniel Glauche")
Case $msg = $shortcut
GUISetState(@SW_SHOW,$Form1)
Case $nMsg = $Button2
$key = GUICtrlRead ( $Input1 )
MsgBox ( 48, "Meldung", "Tastenkombination wurde gesetzt" )
HotKeySet ( $key, "_copy")
GUISetState ( @SW_HIDE, $Form1 )
Case $nMsg= $Button1
GUISetState ( @SW_Hide, $Form1)
;~ GUIDelete ( $Form1 )
Case $msg = $exititem
Exit
EndSelect
WEnd
Gruß Flarkus
So
ich habe jetzt mich ein bischen mit Excel beschäftigt und folgendes herausgefunden.
Um Excel zu steuern mußt du die Excel.au3 einbinden. Jetzt kannst du Excel-Dateien öffnen, speichern, bearbeiten und schließen.
Folgende Befehle bräuchtest du am dringendsten.
$sValue = "test was" ;$cache
$sRangeOrRow = "B8"
$iColumn = 1
$fAlerts = 0
$oExcel = _ExcelBookOpen("Pfad\Datei", 1) ;1=sichtbar 0=unsichtbar
_ExcelWriteCell($oExcel, $sValue, $sRangeOrRow, $iColumn)
_ExcelBookSave($oExcel, $fAlerts)
WinClose($oExcel) ;funktioniert bei mir nicht richtig Programm wird geschloßen, aber der Prozess nicht beendet
für weitere Befehle schau einfach in der Excel.au3 im Include-Ordner nach.
Da ich leider nicht genau weiß, was du machen willst, kann ich dir momentan keine komplette Funktion schreiben.
bis später
Hi
habe mich mal ein bischen hingesetzt und ausprobiert. Hier ein erster Entwurf.
Opt("WinTitleMatchMode", 2)
HotKeySet("+!d", "ShowMessage") ; Shift-Alt-d
While 1
Sleep (1000)
WEnd
Func ShowMessage()
WinActivate ( "Adobe Reader")
WinWaitActive("Adobe Reader","")
ClipPut ( "" ) ;Zwischenablage leeren damit überprüft werden kann ob etwas kopiert worden ist
Send("^c")
$cache = ClipGet ()
If $cache <> "" Then
$cache = StringRegExpReplace ( $cache,@crlf, " ")
MsgBox (48, "Cache", $cache)
ClipPut ( "" )
Else
MsgBox (48, "Cache", "cache ist leer")
EndIf
EndFunc
den Rest in Excel muß ich erst noch programmieren da auf dem Pc hier kein MS-Office installiert ist.
Cu bis Morgen
Hallo
Der Schreibschutz funktioniert soweit ich weiß nur bei bei Edit-Feldern. Einen Eintrag löschen bekommst du mittels Button und dem Befehl:
;include
$iIndex = _GUICtrlComboBox_GetCurSel($hWnd)
_GUICtrlComboBox_DeleteString($hWnd, $iIndex)
hin.
Gruß Ralf
Hallo
Wie das geht weiß ich leider nicht. Du kannst aber ein Icon nehmen das durchsichtig ist. Das dürfte den selben Effekt haben.
Gruß Ralf
Hallo
Du kannst über das Edit(EDIT1)Feld des Explorers den aktuellen Pfad auslesen und mit send String und Enter ein neues Verzeichnis auswählen. Ein anderer Weg wäre den Explorer zu schließen und durch FileDelete das Verzeichnis zu löschen und anschließend den Explorer wieder zu starten.
Gruß Ralf
Hallo
empfehlen könnte ich Dir ne Bibliothek falls Du sowas in der Nähe hast. Dort kannst Du in Ruhe die Bücher durchblättern und das auch ohne Ausweis. Dann hast du erst mal nen Überblick.
Auf jedenfall solltest Du DIr von Microsoft VisualStudio2008 und die MSDN-Bibliothek, sowie das Net-Framework laden. Damit kann man ohne Programmierkenntnisse schon mal Formulare erstellen. Ansonsten mußt Du halt in den C/C++ Foren mal schnuppern gehn.
Hier noch ein Link zu einem VB-Forum. http://www.vbarchiv.net/home/willkommen.php
Gruß Ralf
Hallo
mit
GUICtrlSetState($Group1,$GUI_HIDE);$GUI_SHOW
GUICtrlSetState($MonthCal1,$GUI_HIDE);$GUI_SHOW
kannst du den Kalender ein- und ausblenden. Brauchst halt nur noch nen Button dafür.
Gruß Ralf
Hallo
habe auch das Problem das er mir einen Fehler beim schreiben der ini bringt. Gib mal folgenden Code nach dem schreiben ein.
Msgbox(0,"ini schreiben", @error)
[/autoit]
sollte als Meldung eine 0 erscheinen ist die ini schreibgeschützt oder wie bei mir er denkt nur das sie das ist.
Gruß Ralf
Fileopendialog ist wohl das einfachste und das kannn ich zumindest
Dachte nur das es ne Möglichkeit gab die Kindelemente zu ermitteln. Schwamm drüber, wozu den Kopf unnötig zerbrechen, wenns auch so geht.
wollte ein Programm schreiben, bei dem man über ne Auswahl die eigene Sprache einstellen kann. Da es keinen leichten Weg gibt mache ich es über Filopendialog das geht auch.
Danke für die Hilfe
Der erste Teil
#include
#include
;Variabeldeklaration
Dim $Wndws, $msg
Dim $RegCod4 = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Activision\Call of Duty 4", "InstallPath")
$Wndws = GUICreate("Call of Duty 4 - Serverkonfigurator von RL", 700, 625)
GUISetIcon("%SystemRoot%\system32\SHELL32.dll", 47)
_Menue() ;Menues erstellen
[/autoit] [autoit][/autoit] [autoit]$Tab = GUICtrlCreateTab(0, 0, 700, 570)
;Tab Servereinstellungen-------------------------------------------------------------------------------------------------
$TabServer = GUICtrlCreateTabItem("Servereinstellungen")
$TabGame = GUICtrlCreateTabItem("Spieleinstellungen")
GUICtrlCreateTabItem("") ; Beendet die Tab Definition
GUICtrlSetState($TabServer,$GUI_SHOW)
GUISetState(@SW_SHOW, $Wndws)
[/autoit] [autoit][/autoit] [autoit]While 1
$msg = GUIGetMsg(1)
Select
Case $msg[0] = $Dateioeffnen
$fo = FileOpenDialog("Konfigurationsdatei auswählen", $RegCod4 & "\Main", "(*.cfg)")
MsgBox(0,"Fo", $fo);fileopen _funcload einarbeiten
Case $msg[0] = $Dateispeichern
$fs = FileSaveDialog("Konfigurationsdatei auswählen", $RegCod4 & "\Main", "(*.cfg)")
MsgBox(0,"Fo", $fs) ;filesave _funcsave einarbeiten
Case $msg[0] = $Serverstart
;serverstart
Case $msg[0] = $Sprachen
MsgBox(0,"Sprache", $Sprachen)
Case $msg[0] = $GUI_EVENT_CLOSE
ExitLoop
EndSelect
WEnd
und der Rest
Func _Menue()
Local $Sprache, $MenueText, $search, $file
Global $Dateimenue, $Dateioeffnen, $Dateispeichern, $Serverstart
Global $Einstellungen, $Sprachen, $BefehlsVariabel,$BefehlNichts, $BefehlSet, $BefehlSetA
Global $Info, $InfoMeldung
$Sprache = IniRead("Progdatei\Config.ini", "Optionen", "Sprache", "Deutsch")
$DateiMenue = GUICtrlCreateMenu (IniRead("Progdatei\" & $Sprache & ".lng", "Menue", "Datei","Datei"))
$Dateioeffnen = GUICtrlCreateMenuItem( IniRead("Progdatei\" & $Sprache & ".lng", "Menue", "öffnen","Datei öffnen"), $DateiMenue )
$Dateispeichern = GUICtrlCreateMenuItem( IniRead("Progdatei\" & $Sprache & ".lng", "Menue", "speichern","Datei speichern"), $DateiMenue )
$Serverstart = GUICtrlCreateMenuItem( IniRead("Progdatei\" & $Sprache & ".lng", "Menue", "Start","Server starten"), $DateiMenue )
$Einstellungen = GUICtrlCreateMenu ( IniRead("Progdatei\" & $Sprache & ".lng", "Menue", "Optionen","Optionen"))
$Sprachen = GUICtrlCreateMenu( IniRead("Progdatei\" & $Sprache & ".lng", "Menue", "Sprachen","Sprachen"), $Einstellungen )
$search = FileFindFirstFile( "Progdatei\*.lng")
If $search = -1 Then
MsgBox(0, "Fehler", "Es wurden keine Sprachdateien gefunden")
EndIf
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
GUICtrlCreateMenuItem( $file, $Sprachen )
WEnd
FileClose($search)
$BefehlsVariabel = GUICtrlCreateMenu( IniRead("Progdatei\" & $Sprache & ".lng", "Menue", "Befehlsvariabel","Befehlsvariabel"), $Einstellungen )
$BefehlNichts = GUICtrlCreateMenuItem( "...", $BefehlsVariabel)
$BefehlSet = GUICtrlCreateMenuItem( "Set", $BefehlsVariabel)
$BefehlSetA = GUICtrlCreateMenuItem( "Seta", $BefehlsVariabel)
$Befehlsvariabel = IniRead("Progdatei\Config.ini", "Optionen", "Befehlsvariabel", "1")
Select
case $Befehlsvariabel = 0
GUICtrlSetState( $BefehlNichts, $GUI_CHECKED)
case $Befehlsvariabel = 1
GUICtrlSetState( $BefehlSet, $GUI_CHECKED)
case $Befehlsvariabel = 2
GUICtrlSetState( $BefehlSetA, $GUI_CHECKED)
EndSelect
$Info = GUICtrlCreateMenu ( "?")
$InfoMeldung = GUICtrlCreateMenuItem( IniRead("Progdatei\Config.ini", "Menue", "Info", "Info"), $Info)
;~
;~ $MenueText = IniRead("Progdatei\" & $Sprache & ".lng", "Menue", "Datei","rrr")
;~ MsgBox(0,"Sprache", $MenueText)
;~ GUICtrlSetData($DateiMenue,$MenueText,"ssss")
EndFunc
Bin leider noch nicht so weit als das ich damit etwas anfangen könnte.
mein Code sieht bisher so aus
$Sprachen = GUICtrlCreateMenu( IniRead("Progdatei\" & $Sprache & ".lng", "Menue", "Sprachen","Sprachen"), $Einstellungen )
$search = FileFindFirstFile( "Progdatei\*.lng")
If $search = -1 Then
MsgBox(0, "Fehler", "Es wurden keine Sprachdateien gefunden")
EndIf
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
GUICtrlCreateMenuItem( $file, $Sprachen )
WEnd
FileClose($search)
Hallo
Das mit dem erstellen habe ich bereits herausgefunden. Da aber die Anzahl der Guictrlcreatmenuitem sich ändert (wird mittels filefind erstellt) ändert sich die anzahl der Einträge (Guictrlcreatmenuitem)
Dadurch weiß ich nicht wie ich über $msg = Eintrag drauf zugreifen soll da beim MessageLoop Modus die Einträge ja schon vorher bekannt sein müßen.
While 1
$msg = GUIGetMsg(1)
Select
Case $msg = $okbutton
Case $msg = $Eintrag1 ;Anzahl der Einträge variabel und vorher nicht bekannt
_Funktion
Case $msg = $Eintrag2
_Funktion
Case $msg = $Eintrag3
_Funktion
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
EndSelect
WEnd
Hallo
habe mir mit GUICtrlCreateMenuitem Untermenues über eine Funktion erstellt. Da aber die Anzahl der Untermenues unterschiedlich ist, weiß ich nicht wie ich beim anklicken der Menues mithilfe der msg Funktion das Ereignis abfragen soll. Vielleicht kann mir jemand einen Tip geben.
Gruß Ralf