Und du bist dir sicher, dass der Ordner "C:\Temp\" auch wirklich existent ist? Erstellst du den selbst?
Beiträge von BinDannMalWeg
-
-
Ohne das komplette Script wird dir hier niemand helfen können, also poste es einfach mal.
(und die Lösung per Modulo war schöner ) -
Da ich das gerade selbst benötige habe ich mal schnell ne eigene Funktion gebastelt...
Spoiler anzeigen
[autoit]#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]
$aResult = _GetSystemInfo()
_ArrayDisplay($aResult)Func _GetSystemInfo()
[/autoit]
Local $iPid = Run(@ComSpec & ' /c systeminfo /FO CSV', @ScriptDir, @SW_HIDE, 2 + 4), $sOutput = "", $aData
Do
Sleep(20)
$sOutput &= StdoutRead($iPid, False, False)
Until @error
$aData = StringSplit($sOutput, @LF)
If $aData[0] <> 3 Then Return SetError(1)
$aName = StringRegExp($aData[1], '\"([^\"]*)\"\,', 3)
$aValue = StringRegExp($aData[2], '\"([^\"]*)\"\,', 3)
If UBound($aName) <> UBound($aValue) Then Return SetError(2)
Local $aReturn[UBound($aName)][2]
For $i = 0 To UBound($aName)-1
$aReturn[$i][0] = $aName[$i]
$aReturn[$i][1] = $aValue[$i]
Next
Return $aReturn
EndFunc ;==>_GetSystemInfo -
Es spricht aber nichts dagegen eine nette Nachricht in der GUI anzuzeigen die dem Nutzer klar macht, dass man die Software nur weiter entwickeln kann wenn ab und zu jemand auf ein Werbebanner auf der eigenen (natürlich verlinkten) Webseite klickt...
Außerdem kannst du dir ja auch eine Art "Mindestertrag" setzen und dann inerhalb deiner GUI neben der freundlichen Nachricht eine Progressbar anzeigen - damit die User sehen ob es nötig ist dich gerade zu unterstützen... -
An Zehnerschritten per Modulo dachte ich auch und so gehts auch.
Klasse *Applaus bitte*
-
Ich persönlich benutz die IE.au3 eher weniger, da es einfacher ist mit TCPSend/TCPRecv-Packets zu arbeiten
Für dich vielleicht - aber nicht für einen absoluten Anfänger auf diesem Gebiet?!
Ich empfehle dir, es einfach mal mit Hilfe der Internet-Explorer-UDF zu versuchen, denn ALLES was du von Hand im IE tun könntest kannst du mit Hilfe der UDF auch erledigen lassen. (Selbst den Login) Und falls die Frage nach einem Tutorial aufkommen sollte: siehe Autoitbot.de Jaa ich habe den "Namen der nicht genannt werden darf" ausgeschrieben, aber eins müsst ihr 'ihnen' lassen: IE-Automation können sie/wir... -
Also wenn ihr schon dabei seid den Code zu verschönern...
[autoit]Local $sLogFile, $sText
[/autoit]
$sLogFile = @ScriptDir & "\" & @YEAR & @MON & @MDAY & ".csv"
$sText = ";" & $DisplayDB_1 & ";" & $DisplayDB_2 & ";" & $DisplayDB_4 & ";" & $DisplayDB_6
If Mod(@MIN, 10) = 0 Then FileWrite($sLogFile, $sText) -
ein ObjT2Assembler Interpreter
Wieso benutzen die Leute immer Wörter die sie eindeutig nicht verstehen?
-
Robin98Code -> Autoit -> C++ -> Maschienencode
Ist das nicht 'etwas' doppelt gemoppelt?
Und ich suche gerade wirklich nach einer positiven Beschreibung für DAS - aber diese Syntax ist grausig... :wacko:
In meinen Augen verkomplizierst du nur die Sprache Autoit ein wenig. Das ist so als würdest du dir für jedes deutsche Wort ein neues eigenes ausdenken (aus "Haus" wird "brezüklep" und aus "Zoo" wird "lololo"...) und dann schreibst du ein Lexikon mit dem du alles wieder zurück übersetzt.
Wo ist der Sinn? -
Also ich bin dabei
Wen von euch wird man denn da so treffen? -
ô.Ô - Ja, die beiden Verfahren ähneln sich wirklich sehr...
Bis auf die Länge... *hust* *hust* *hust*
Aber sieht gut aus! -
Was pricht dagegen den Text/oder einen Teil einfach mit allen 25 Varianten zu verschieben und den User auswählen zu lassen was er lesen kann?
-
Leider ist es in der Switch-Router Technik etc. verbreitet und genau hierfür bräuchte ich diese Funktion
Schreiben/Lesen von Switchkonfiguration etc.Aber wofür brauchst du denn dann einen Server???
-
Bitte merk dir eins: Wenn du dich beim Programmieren dabei erwischst dass du ein und Dinge wiederholst/kopierst - dann machst du etwas falsch.
Wenn du deine "Datenbanken" so abänderst:Spoiler anzeigen
Code
Alles anzeigenA=Aachen,Acapulco,Amsterdam; B=Bergen,Berlin,Bochum; C=Celle,Chemnitz,Canberra; D=Dornbirn,Düsseldorf,Dortmund; E=Eisenstadt,Essen,Erfurt; F=Florenz,Fulda,Frankfurt; G=Glasgow,Graz,Gießen; H=Houston,Hamburg,Herten; I=Iserlohn,Innsbruck,Imst; J=Judenburg,Jena,Jersey; K=Kuala Lumpur,Klagenfurt,Kaiserslautern; L=Los Angeles,Linz,Leverkusen; M=Monaco,München,Münster; N=Nürnberg,Neapel; O=Oslo,Osnabrück,Oberwart; O=Palermo,Pisa,Paris; Q=Quebec,Quantico,Quinto; R=Riga,Radstadt,Rüsselsheim; S=Salzburg,Stuttgart,San Remo; T=Toronto,Tulln,Trondheim; U=Ulm,Ushuaia; V=Vatikanstadt,Völkamarkt,Verden; W=Wien,Weimar,Windhuk; X=Xanten,Xaddad,Xiamen; Y=Ybbs,York,Ybbsitz; Z=Zürich,Zwickau,Zweibrücken;
Sparst du ganze 444 Zeilen!
Hier ein kleines Beispiel:Spoiler anzeigen
[autoit]#include <EditConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <String.au3>
#include <Array.au3>
Opt("GuiOnEventMode", 1)
Global $Loop = 0, $Active = 0, $Timer = 0, $TimeCount = 0, $NpcS = "", $NpcL = "", $NpcF = ""#region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$SLF = GUICreate("SLF", 539, 242, 379, 172)
;~ Computer ergebnisse
$Snpc = GUICtrlCreateInput("", 24, 96, 153, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_READONLY))
GUICtrlSetState(-1, $GUI_DISABLE)
$Lnpc = GUICtrlCreateInput("", 192, 96, 153, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_READONLY))
GUICtrlSetState(-1, $GUI_DISABLE)
$Fnpc = GUICtrlCreateInput("", 360, 96, 153, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_READONLY))
GUICtrlSetState(-1, $GUI_DISABLE)
;~ Spieler ergebnisse
$Spl = GUICtrlCreateInput("", 24, 128, 153, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER))
GUICtrlSetState(-1, $GUI_DISABLE)
$Lpl = GUICtrlCreateInput("", 192, 128, 153, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER))
GUICtrlSetState(-1, $GUI_DISABLE)
$Fpl = GUICtrlCreateInput("", 360, 128, 153, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER))
GUICtrlSetState(-1, $GUI_DISABLE)
;~ Buttons
$Start = GUICtrlCreateButton("Start", 24, 16, 75, 25)
$Stop = GUICtrlCreateButton("Stop", 440, 16, 75, 25)
$Info = GUICtrlCreateButton("Info", 24, 200, 75, 25)
$Reset = GUICtrlCreateButton("Restart", 440, 200, 75, 25)
;~ Dyn Text
$Buchstabe = GUICtrlCreateLabel("Buchstabe", 104, 24, 327, 17, $SS_CENTER)
GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
$WinLose = GUICtrlCreateLabel("", 192, 208, 150, 17, $SS_CENTER)
GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
;~ Static Text
$Stadt = GUICtrlCreateLabel("Stadt", 32, 72, 141, 17, $SS_CENTER)
GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
$Land = GUICtrlCreateLabel("Land", 200, 72, 140, 17, $SS_CENTER)
GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
$Fluss = GUICtrlCreateLabel("Fluss", 360, 72, 148, 17, $SS_CENTER)
GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
;~ Zeit
$Time = GUICtrlCreateLabel("", 192, 160, 148, 28, $SS_CENTER)
GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent($Start, "_Start")
GUICtrlSetOnEvent($Stop, "_Stop")
GUICtrlSetOnEvent($Info, "_Info")
GUICtrlSetOnEvent($Reset, "_Reset")GUICtrlSetState($Stop, $GUI_DISABLE)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($Reset, $GUI_DISABLE)While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(20)
If $Active = 1 Then
$Random = Chr(Random(Asc("A"), Asc("Z"), 1))
GUICtrlSetData($Buchstabe, "" & $Random)
EndIfIf $Timer = 1 Then
[/autoit] [autoit][/autoit] [autoit]
Sleep(1000)
$TimeCount += 1
$TimeCount = Round($TimeCount, 0)
GUICtrlSetData($Time, "sek: " & $TimeCount)
EndIf
WEndFunc _Start()
[/autoit] [autoit][/autoit] [autoit]
$Active = 1
GUICtrlSetState($Stop, $GUI_ENABLE)
GUICtrlSetState($Start, $GUI_DISABLE)
EndFunc ;==>_StartFunc _Stop()
[/autoit] [autoit][/autoit] [autoit]
$Active = 0
If $Loop = 1 Then
$Timer = 0$aTowns = _StringBetween(FileRead("Stadt.txt"), $Random & "=", ";")
[/autoit] [autoit][/autoit] [autoit]
$aTowns = StringSplit($aTowns[0], ",")_ArrayDisplay($aTowns)
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, "Zufällige Stadt:", $aTowns[Random(1, $aTowns[0], 1)])
ExitGUICtrlSetData($WinLose, "Neues Spiel ?")
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($Stop, $GUI_DISABLE)
GUICtrlSetState($Reset, $GUI_ENABLE)
GUICtrlSetState($Spl, $GUI_DISABLE)
GUICtrlSetState($Lpl, $GUI_DISABLE)
GUICtrlSetState($Fpl, $GUI_DISABLE)
EndIfIf $Loop = 0 Then
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Loop += 1
GUICtrlSetState($Spl, $GUI_ENABLE)
GUICtrlSetState($Lpl, $GUI_ENABLE)
GUICtrlSetState($Fpl, $GUI_ENABLE)
$Timer = 1
GUICtrlSetData($Time, "sek: " & $TimeCount)
EndIf
EndFunc ;==>_StopFunc _Reset()
[/autoit] [autoit][/autoit] [autoit]
$Loop = 0
$Active = 0
$Timer = 0
$TimeCount = 0$NpcS = ""
[/autoit] [autoit][/autoit] [autoit]
$NpcL = ""
$NpcF = ""GUICtrlSetData($Time, "")
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($Spl, "")
GUICtrlSetData($Lpl, "")
GUICtrlSetData($Fpl, "")
GUICtrlSetData($Snpc, "")
GUICtrlSetData($Lnpc, "")
GUICtrlSetData($Fnpc, "")
GUICtrlSetData($WinLose, "")
GUICtrlSetData($Buchstabe, "Buchstabe")
GUICtrlSetState($Stop, $GUI_DISABLE)
GUICtrlSetState($Reset, $GUI_DISABLE)
GUICtrlSetState($Start, $GUI_ENABLE)
EndFunc ;==>_ResetFunc _Info()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, "Coded by ThirtySix", "Version 1.1")
EndFunc ;==>_InfoFunc _Exit()
[/autoit]
Exit
EndFunc ;==>_Exit -
Eine Frage hab ich: Wenn du sowohl Client als aucher Server selbst schreiben willst kannst du dir das veraltete TFTP zeug doch sparen???
-
An deiner Stelle würde ich das mit Hilfe von GDI+ lösen - der Rest ist dann reine Mathematik. Stell die Puzzelteile näherungsweise als Rechteck dar und wenn auf eines geklickt wird kann man es festhalten und herumziehen. Falls es sich einem anderen Rechteck/Puzzleteil zu nahe kommt kannst du es automatisch "andocken"...
-
ich werde den String noch zweien unserer 'HelpDesk' Kollegen geben,
damit sie, wenn gebraucht, es auch z.B. im Notepad++ nutzen können.Aber Achtung! - RegEx ist nicht gleich RegEx es gibt einige verschiedene RegEx-Parser die sich in der verwendeten Syntax unterscheiden. Daher kann es gut sein, dass ein Pattern zwar in Autoit funktioniert, aber in Notepad++ nur Quak liefert...
-
Einfache XOR 'Verschlüsselung' mit automatischer Wiederholung des Codeworts...
[autoit]Func _XORCrypt($sText, $sKey)
[/autoit]
Local $sResult
For $i = 1 To StringLen($sText)
$sResult &= Chr(BitXOR(Asc(StringMid($sText, $i, 1)), Asc(StringMid($sKey, Mod($i - 1, StringLen($sKey)) + 1)), 1))
Next
Return $sResult
EndFunc ;==>_XORCrypt -
Du hast nicht zufällig vor sowas zu programmieren?
-
Zwei Fragen:
1. Wieso um Himmels Willen können diese 2 "ominösen Scripte" nicht gleich mit gepostet werden?!
2. Das Internet ist rand voll mit Erklärungen/Threads/Tutorials und sogar Videos!!! zu genau deiner Fragestellung. (und nein diese sind nicht schwer zu finden Google + "autoit" + "tcp" und das sollte als angehender 'Programmierer' doch wirklich kein Problem sein?)
Aber okay - genug geredet: Was du suchst ist eine Funktion der unter dem Namen "TCPSend()" bekannt ist. In deinen beiden Scripten hast du jeweils von "TCPConnect()" oder "TCPAccept()" ein sogenanntes Socket zurückgegeben bekommen. Mit diesem Socket - das die Verbindung zwischen deinen beiden Scripten darstellt - kannst du die TCPSend-Funktion füttern... Alles Weitere findest du im passenden Autoit-Hilfe-Eintrag unter "TCPSend".