Ich glauber er will das , dass was er eingibt an bestimmten Stellen eingesetzt wird und am ende als ganzer Text ausgegeben wird ![]()
Beiträge von Goldy
-
-
Ja aber was ist den nun wen jemand anders die Datei auf einem server/ftp liegen hat?
-
Also die Datein die geladen werden sollen , sind bei z.B. hier : http://localhost/autoit/download/
-
Habe das mir mal angeschaut , sieht auch Interessant aus , mal schauen ob ich da durchblicke ;D
[autoit]
Nur nochmal kurz nebenbei.
Könnte man es nicht so machen :
Man hat auf dem PC eine .ini
Und auf dem FTP.
Wenn man nun den "Update" button drückt, wird eine .ini vom FTP geladem,ausgelesen und wenn die Zahl dadrin größer ist als die , die schon auf dem pc war,
dann wird geladen.
Habe es mir mal so gedacht da es hier mal so gepostet wurde :
[/autoit]
Func _update()
If 2 < 3 Then _VersionCompare($INI1,@scriptdir & $INI"2
EndIf
EndFuncWobei das eine falsche reihen folge wäre,
[autoit]
da er ja zuerst laden müsste und dann vergleichen also habe ich mir das so gedacht :Func _pruefen()
[/autoit][autoit]
InetGet ($config3)
EndFunc
[/autoit]
$config3 = IniRead(@ScriptDir & '\config.ini', "Config", "VersionWeb", "Nicht Gefunden")Die Ini :
[Config]
WebsiteButton=http://www.google.de
VersionWeb=http://localhost/autoit/version.ini
VersionClient=1
Download=http://localhost/autoit/download/Also sollte nun die version.ini vom localhost geladen werden.
Dann mit der
[autoit]
[/autoit]
$config2 = IniRead(@ScriptDir & '\config.ini', "Config", "VersionClient", "Nicht Gefunden")Vergleichen und dann müsste
[autoit]If 1 < 2 Then InetGet ($config4) EndIf
[/autoit][autoit]
[/autoit]
$config4 = IniRead(@ScriptDir & '\config.ini', "Config", "Download", "Nicht Gefunden")Mhmmm....gerade brainkilling....
Weis jemand was ich versuche euch zu verstehen zu geben ?
Also im Kopf weis ich wie es funzen soll doch schaffe ich es net es zu Worte zu bringen.Goldy
-
Man soll ja in der Ini eingeben wovon geladen werden soll.
-
-
Könnte man dann die Datei z.B. 2 nennen
in der Ini den pfad eingebenalso
Web=http://ichhabeinternet.de/2.txt
Client=1Und wenn nun halt die datei die nun 2 heist größer ist als die 1 im client wird geladen
Sonst nichts.
Also der Versions abgleich über den Namen der Datei läuft.
Goldy
-
-
Alles anzeigen
Hi,
[autoit]
Versionen kannst du mit_VersionCompare
[/autoit]
sicher Vergleichen
[autoit]
Download geht mitInetGet
[/autoit]Wie muss ich _VersionCompare benutzen?
Habe es als func und normal rein geschrieben doch nichts passiert.
Das der Dl mit InetGet geht weis ich ;D
Also soo sollte es dann aussuchen
[autoit][/autoit][autoit][/autoit][autoit]_VersionCompare($config2, $config3)
[/autoit][autoit]
[/autoit]
$config2 = IniRead(@ScriptDir & '\config.ini', "Config", "VersionClient", "Nicht Gefunden")
$config3 = IniRead(@ScriptDir & '\config.ini', "Config", "VersionWeb", "Nicht Gefunden")[Config]
VersionWeb=http://localhost/autoit/version.ini
VersionClient=1Uffen Localhost liegt halt die version.ini mit dem Eintrag 2.
Und nun wenn $config 2 kleiner ist als $config 3
Sollte ja InetGet kommen also der Code :
[autoit][/autoit][autoit][/autoit][autoit]
Zumindestens glaube ich das er so sein sollte
$config4 = IniRead(@ScriptDir & '\config.ini', "Config", "Download", "Nicht Gefunden")
[/autoit][Config]
[autoit]
Download=http://localhost/autoit/download/InetGet ( "$config4" [, 0] )
[/autoit]
Auch wenns bisl blöd klingt , kann mir jemand den code zusammen setzen ?
MfG
Goldy -
Also ich habe eine .ini Datei im Ordner diese sieht so aus ;
[Config]
WebsiteButton=http://www.google.de
VersionWeb=http://localhost/autoit/version.txt
VersionClient=1
Download=http://localhost/autoit/download////////////////////////////////////////
So Ich möchte halt das die .txt aufm Webserver ausgelesen wird und wenn da eine größere Version also Zahl als wie in der ini steht ist. wird geladen.
Sonst nichts halt :0
-
Heist also 2 = $config 4 und die 3 =$filename?
-
? dann machen wir mal therotisch weiter
ich würde m it inetget mir eine Datei nach tmp herunterladen wo die aktuelle Versionsnummer steht.
dann Wert1 mit Wert2 aus tmp datei vergleichen, wenn tmpdatei höher inetget mit URL&Filename+Versionsnummer aus tmpfile.Deine Theory verstehe ich weniger als ich meine eigene xD
Vl. hilft es wenn ich meinen ganzen code poste :
Spoiler anzeigen
[autoit]#NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Res_Fileversion=0.3.5.1
#AutoIt3Wrapper_Res_LegalCopyright=© by Goldy
#AutoIt3Wrapper_Res_Language=1031
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
; =======================================================================
; KalOnline Game Launcher
; Made by Goldy
; © 2010
; =======================================================================
;========================== Includes (Anfang) ===========================
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <ProgressConstants.au3>
;=========================== Includes (Ende) =============================
;========================= Code Anfang (Design)===========================
#Region ### START Koda GUI section ### Form=d:\koda\forms\minikallauncherwichtig.kxf
$Form1_1 = GUICreate("Local KalLauncher V0.3.5", 450, 400, 400, 279)
$Exit = GUICtrlCreateButton("Exit", 340, 312, 73, 25)
$Start = GUICtrlCreateButton("Start", 21, 312, 73, 25)
$Credits = GUICtrlCreateButton("Credits", 260, 312, 73, 25)
$Option = GUICtrlCreateButton("Option", 100, 312, 73, 25)
$Website = GUICtrLCreateButton("Website", 180, 312, 73 ,25)
$Your = GUICtrlCreateEdit("", 16, 128, 400, 169)
$config1 = IniRead(@ScriptDir & '\config.ini', "Config", "WebsiteButton", "Nicht Gefunden")
$config2 = IniRead(@ScriptDir & '\config.ini', "Config", "VersionClient", "Nicht Gefunden")
$config3 = IniRead(@ScriptDir & '\config.ini', "Config", "VersionWeb", "Nicht Gefunden")
$config4 = IniRead(@ScriptDir & '\config.ini', "Config", "Download", "Nicht Gefunden")
$Pic1 = GUICtrlCreatePic(@ScriptDir & "\logo.jpg", 40, 8, 353, 97)
$Progress2 = GUICtrlCreateProgress( 22, 360, 390, 17)
$Fe1 = FileExists (@ScriptDir & '\config.ini')
If @error Or Not $Fe1 Then
MsgBox (64, "Error", "The ''config.ini'' can not be found")
EndIf
$sText = FileRead(@ScriptDir & '\notice.txt')
If @error Or Not $sText Then
MsgBox(0, "Error", "Can not open notice.txt.")
EndIf
GUICtrlSetData($Your, $sText)
GUISetState(@SW_SHOW)#EndRegion ### END Koda GUI section ###
[/autoit] [autoit][/autoit] [autoit]
;==================== If Then (Anfang) =====================
If Not FileExists (@ScriptDir & '\engine.exe') ThenMsgBox(64, "Warning", "The 'engine.exe' can not be found")
[/autoit] [autoit][/autoit] [autoit]EndIf
[/autoit] [autoit][/autoit] [autoit]
If $config2 lower as $config3 then download $config4
;===================== If Then (Ende) ======================
;==================== Code Ende(Design)=====================
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Exit
Exit
Case $Credits
_credits()
Case $Start
Shellexecute("engine.exe", "/load /config debug")
If Not @error Then Exit
Case $Option
ShellExecute("engine.exe", "/setup")
Case $Website
ShellExecute ($config1)
EndSwitch
WEnd;==================== Funktionen (Start)=====================
[/autoit] [autoit][/autoit] [autoit]
Func _credits()
MsgBox(64, "Credits", "Idea: Goldy" & @CRLF & "Design: Goldy" & @CRLF & "Version 0.3.5" & @CRLF & "©2010 by Goldy")EndFunc
[/autoit] [autoit][/autoit] [autoit]Func _inialarm()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(64, "Alarm", "The 'config.ini' can not be found")EndFunc
[/autoit] [autoit][/autoit] [autoit][/autoit]
;==================== Funktionen (Ende)====================== -
Ich weis das man .ini auslesen kann .
z.B. so :
[autoit]$config1 = IniRead(@ScriptDir & '\config.ini', "Config", "WebsiteButton", "Nicht Gefunden")
[/autoit]Musste mal schauen unter der Hilfe nach "Read"
-
Hey hey ;D
Ich habe einen "Theoretischen Code" gemacht
Spoiler anzeigen
[autoit]
[/autoit]
If $config2 lower as $config3 then download $config4Spoiler anzeigen
[autoit]
[/autoit]
$config2 = IniRead(@ScriptDir & '\config.ini', "Config", "VersionClient", "Nicht Gefunden")
$config3 = IniRead(@ScriptDir & '\config.ini', "Config", "VersionWeb", "Nicht Gefunden")
$config4 = IniRead(@ScriptDir & '\config.ini', "Config", "Download", "Nicht Gefunden")Bei Version Client wird eine zahl stehen z.B.1 (ist eine .ini)
Und bei VersionWeb wird eine URL stehen z.B. autoit.de/versionweb.txt/ini etc.So wenn da nun 2 drin steht (2>1) dann soll
Geladen werden und zwar von dem angegeben Pfad der bei Download steht.
Z.B.
autoit.de/download
Steht auch schon in der Ini.
Ich habe auch schon eine Progressbar gemacht :
Spoiler anzeigen
[autoit]$Progress2 = GUICtrlCreateProgress( 22, 360, 390, 17)
[/autoit]Dort soll der fortschritt des Downloads angezeigt werden.
Ich hoffe ihr versteht was ich meine ;D
MfG
Goldy
-
autoBert das hier brauche ich oder :
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
Func _Update()
IniWrite($sLiz, "Update", "Date", 0) ;damit manuell auf jeden Fall geprüft wird
_CheckUpdate()
EndFunc ;==>_UpdateFunc _CheckUpdate()
[/autoit] [autoit][/autoit] [autoit]
Local $tLastCeck = IniRead($sLiz, "Update", "Date", 0)
Local $tDiff = _DateDiff('d', "2010/01/01 00:00:00", _NowCalc())
Local $hFile, $sVar, $iPos, $sVerNr, $sDL_Url, $sDL_Url2
If $tLastCeck < $tDiff Then
IniWrite($sLiz, "Update", "Date", $tDiff) ;damit am heutigen Tag nicht mehr geprüft wird
ToolTip("AutoIt lesen", @DesktopWidth / 2, @DesktopHeight / 2, "Prüfe auf Update ")
IniWrite($sLiz, "Update", "Status", "Source checken")
$sVar = _INetGetSource($sUpdateUrl)
If Not @error Then
$sVerNr = _StringBetween($sVar, '<title>[Beispiel] NeMP3-P (MP3-Player) Version ', ' - Skripte -')
If IsArray($sVerNr) Then $sVerNr = $sVerNr[0]
;consolewrite($sVerNr & @CRLF)
If $sVerNr <> $sProgVer Then
ToolTip("Update von " & $sProgVer & " auf " & $sVerNr, @DesktopWidth / 2, @DesktopHeight / 2, "Prüfe auf Update ")
$sDL_Url = _StringBetween($sVar, "hat folgende Dateien", 'heruntergeladen') ;dies muss noch exakter werden funktioniert aber
If IsArray($sDL_Url) Then
; _ArrayDisplay($sDL_Url, "Anhänge")
$sDL_Url = $sDL_Url[1]
EndIf
$sDL_Url2 = _StringBetween($sDL_Url, 'href="', '&s=')
If IsArray($sDL_Url2) Then
;_ArrayDisplay($sDL_Url2, "Ref")
$sDL_Url = $sDL_Url2[1]
$sDL_Url = StringReplace($sDL_Url, "&", "&")
EndIf
;consolewrite($sDL_Url & @CRLF)
$iSize = InetGetSize("http://www.autoit.de/" & $sDL_Url)
If $iSize <> 0 Then ;sollte immer der Fall sein
$hDown = InetGet("http://www.autoit.de/" & $sDL_Url, @ScriptDir & "\NeMP3.Exe", 1, 1)
IniWrite($sLiz, "Update", "Status", "Update läuft")
ToolTip("gestartet", @DesktopWidth / 2, @DesktopHeight / 2, "Update ")
AdlibRegister("_CheckDone", 1000)
Else
ToolTip("fehlerhaft", @DesktopWidth / 2, @DesktopHeight / 2, "Update ")
Sleep(2000)
IniWrite($sLiz, "Update", "Status", "fehlgeschlagen")
EndIf
Else
ToolTip("kein Update notwendig", @DesktopWidth / 2, @DesktopHeight / 2, "Update ")
Sleep(2000)
EndIf
Else
ToolTip("keine Verbidnung" & @CRLF & "probieren Sie es später" & @CRLF & "noch eimal!", @DesktopWidth / 2, @DesktopHeight / 2, "Update ")
Sleep(2000)
EndIf
EndIf
ToolTip("")
EndFunc ;==>_CheckUpdateFunc _CheckDone()
[/autoit]
Local $aData = InetGetInfo($hDown) ; Hole alle Informationen.
Local $iProz = Round($aData[0] / $iSize * 100, 0)
;;consolewrite($iProz & @CRLF)
ToolTip($iProz, @DesktopWidth / 2, @DesktopHeight / 2, "Update ")
If Not $aData[2] Then Return
If $aData[3] Then
If FileMove(@ScriptDir & "\NeMP3.Exe", @ScriptDir & "\NeMP3-P.Exe", 1) Then
IniDelete($sLiz, "Update", "Status")
ToolTip("erfolgreich", @DesktopWidth / 2, @DesktopHeight / 2, "Update ")
Sleep(2000)
Else
;von Hand kopieren
EndIf
Else
ToolTip("fehlerhaft", @DesktopWidth / 2, @DesktopHeight / 2, "Update ")
Sleep(2000)
IniWrite($sLiz, "Update", "Status", "fehlgeschlagen")
EndIf
AdlibUnRegister("_CheckDone")
ToolTip("")
EndFunc ;==>_CheckDone -
Hallo Goldy,
schau dir [Beispiel] NeMP3-P (MP3-Player) Version 0.8.4.7 an, dort habe ich eine Update-Funktion mithilfe dieses sBoards eingebaut,
mfg autoBert
Danke autoBert werde ich mir anschauen
-
Hallo Leute ;D
Ich schreibe gerade einen Game Lauchner :
Spoiler anzeigen
[autoit]#NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Res_Fileversion=0.3.5.1
#AutoIt3Wrapper_Res_LegalCopyright=© by Goldy
#AutoIt3Wrapper_Res_Language=1031
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
; =======================================================================
; Game Launcher
; Made by Goldy
; © 2010
; =======================================================================
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <ProgressConstants.au3>
;==================== Code Anfang (Design)====================
#Region ### START Koda GUI section ### Form=d:\koda\forms\minikallauncherwichtig.kxf
$Form1_1 = GUICreate("Local KalLauncher V0.3.5", 450, 400, 400, 279)
$Exit = GUICtrlCreateButton("Exit", 340, 312, 73, 25)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Start = GUICtrlCreateButton("Start", 21, 312, 73, 25)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Credits = GUICtrlCreateButton("Credits", 260, 312, 73, 25)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Option = GUICtrlCreateButton("Option", 100, 312, 73, 25)
GUICtrLSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Website = GUICtrLCreateButton("Website", 180, 312, 73 ,25)
GUICtrLSetFont(-1, 12 ,400, 0, "MS Sans Serif")
$Your = GUICtrlCreateEdit("", 16, 128, 400, 169)
GUISetState()
$config1 = IniRead(@ScriptDir & '\config.ini', "Config", "WebsiteButton", "Nicht Gefunden")
$config2 = IniRead(@ScriptDir & '\config.ini', "Config", "VersionClient", "Nicht Gefunden")
$config3 = IniRead(@ScriptDir & '\config.ini', "Config", "VersionWeb", "Nicht Gefunden")
$config4 = IniRead(@ScriptDir & '\config.ini', "Config", "Download", "Nicht Gefunden")
$Pic1 = GUICtrlCreatePic(@ScriptDir & "\logo.jpg", 40, 8, 353, 97)
GUISetState(@SW_SHOW)
$sText = FileRead(@ScriptDir & '\notice.txt')
If @error Or Not $sText Then
MsgBox(0, "Error", "Can not open notice.txt.")
EndIf
GUICtrlSetData($Your, $sText)
GUISetState(@SW_SHOW)
$Progress2 = GUICtrlCreateProgress( 22, 360, 390, 17)
GUISetState(@SW_SHOW)#EndRegion ### END Koda GUI section ###
[/autoit] [autoit][/autoit] [autoit]
;==================== Code Ende(Design)====================
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Exit
Exit
Case $Credits
_credits()
Case $Start
Shellexecute("engine.exe", "/load /config debug")
If Not @error Then Exit
Case $Option
ShellExecute("engine.exe", "/setup")
Case $Website
ShellExecute ($config1)
EndSwitch
WEnd
;======Funktionen=======
Func _credits()
MsgBox(64, "Credits", "Idea: Goldy" & @CRLF & "Design: Goldy" & @CRLF & "Version 0.3.5" & @CRLF & "©2010 by Goldy")EndFunc
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]Dieser Code funktioniert einwandfrei.
Nun wollte ich noch eine Update Funktion machen dafür habe ich in der GUI
Das hinzugefügt :
Spoiler anzeigen
[autoit]$Progress2 = GUICtrlCreateProgress( 22, 360, 390, 17)
[/autoit]
GUISetState(@SW_SHOW)Ich möchte nun das wenn man angibt :
Version=http://internet.de/version.ini
Die Datei mit dem Eintrag in dem Ordner Version verglichen wird.
Ist die Version im Ordner Kleiner als auf dem Server soll geladen werden
was im angegeben Ornder istDownload=http://internet.de/files/dateiien
Ist die Version auf dem Server kleiner als die in dem Ornder soll nichts gemacht werden.
Das diese Sachen aus der einer .ini ausgelesen werden habe ich ja schon.
Nur weis ich halt nicht wie ich es nun mache
das Version verglichen wird und
halt geladen wird aber nur halt dann wenn im Ornder eine kleinere also z.B. V1
und auf dem server z.B. V2 ist.Der Progressbalken soll halt den "Fortschritt" des Downlods anzeigen.
Ich hoffe man versteht was ich meine.
Mit freundlichen Grüßen
Goldy
-
Habe es nun gelöst und zwar so :
Spoiler anzeigen
[autoit]$config1 = IniRead(@ScriptDir & '\config.ini', "Config", "WebsiteButton", "Nicht Gefunden")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Pic1 = GUICtrlCreatePic(@ScriptDir & "\logo.jpg", 40, 8, 353, 97)
GUISetState(@SW_SHOW)
$sText = FileRead(@ScriptDir & '\notice.txt')
If @error Or Not $sText Then
MsgBox(0, "Error", "Can not open notice.txt.")
EndIf
$config1 = IniRead(@ScriptDir & '\config.ini', "Config", "WebsiteButton", "Nicht Gefunden")
GUICtrlSetData($Your, $sText)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Exit
Exit
Case $Credits
_credits()
Case $Start
Shellexecute("engine.exe", "/load /config debug")
Case $Option
ShellExecute("engine.exe", "/setup")
Case $Website
ShellExecute ($config1)EndSwitch
[/autoit]
WEndFals es mal jemand sucht

-
Hallo Leute ;D
Ich habe eine .ini Datei im selben Ordner wie die .exe!
Dafür ist ja $config1 = IniRead da.
Ich möchte nun wenn man nach Website-Button z.B. https://autoit.de/www.ichkagge.de eingibt diese durch das klicken von $Button6
diese Seite aufgerufen wird.Ich hoffe mir kann einer helfen !!!

Spoiler anzeigen
[autoit]$config1 = IniRead(@ScriptDir & '\config.ini', "Config", "Website-Button", "Nicht Gefunden")
[/autoit] [autoit][/autoit] [autoit]
EndIf
GUICtrlSetData($Your, $sText)
GUISetState(@SW_SHOW)
$Pic1 = GUICtrlCreatePic(@ScriptDir & "\logo.jpg", 40, 8, 353, 97)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Exit
Case $Button4
_credits()
Case $Button2
Shellexecute("engine.exe", "/load /config debug")
Case $Button5
ShellExecute("engine.exe", "/setup")
; Case $config1
; ShellExecute("")EndSwitch
[/autoit]
WEnd -
Zocke eh immer auf dem selben Server , aber für die faulen unter den Gamern ein super tool^^