musst du nicht einfach nur
while fileexist($filename)
$filename & = " (1)"
wend
damit sollte er wie das bei windoof üblich ist ein " (1)" an die datei anhägen bis es den file nicht gibt oder hab ich noch einen denkfehler drin?
musst du nicht einfach nur
while fileexist($filename)
$filename & = " (1)"
wend
damit sollte er wie das bei windoof üblich ist ein " (1)" an die datei anhägen bis es den file nicht gibt oder hab ich noch einen denkfehler drin?
Hallo,
würde auch mit ProcessExists($iPID) nach dem Prozzes selber suchen.
Local $aProcessList = ProcessList("java.exe")
if $aProcessList[0][0] <> 0 Then
MsgBox(1,"Beenden","Es sind noch " & $aProcessList[0][0] & " offenen Java Prozess")
For $i = 1 To $aProcessList[0][0]
$ret = MsgBox(1,"Beenden","Java Prozess mit PID: " & $aProcessList[0][0] & " beenden?")
if $ret = 1 Then
ProcessClose($aProcessList[$i][1]) ;beenden
EndIf
Next
EndIf
bzw
So,
heute ist es endlich soweit. Ich arbeite seit einiger Zeit an einem kleinen RPG mit online Modus.
Die "bloody beta" ist fertig. Nun suche ich Betatester bzw weitere Ideen Anregeungen Verbesserungsvorschläge etc.
Naja habe ich klein gesagt? Also das Spiel umfast mittlerweile knapp 400 MB ca 10k Zeilen Code 8 verschiedene spielbare Klassen 15 verschiedene Attacken
die man einzeln trainieren kann und wie sich das für ein RPG gehört dutzende Maps und Quests.
Ok die Maps sind alle noch "leer", denn der besondere Reiz soll sein das jeder Spieler eigene Maps bauen kann und diese dann der Community zur Verfügung gestellt werden.
Dafür habe ich einen "Map und Quest Creator" gebaut, der das erstellen kinderleicht macht.Da 400MB up und downloaden nicht ohne sind und eine automatische Updateverwaltung noch nicht klappt, gibt es das Spiel derzeit nur per Dropbox Einladung.
Ein automatischer Downloader und Patcher ist fertig.
Die Homepage ist leider auch noch nicht 100% Fertig.
Aber wer will kann einfach eine email an "ChosenOnehelp@googlemail.com" schreiben, oder sich etwas auf "subl.dyndns.org:12/co/public/" umsehen.
Neue Bilder zum Spiel werde ich sofort morgen uppen.
Mh und warum bringst du eine bloddy beta anstatt eine richtige Version raus? Das ist mein kleines Geburtstagsgeschenk von mir an mich
Ok dann hoffentlich bis bald
Mfg GegX
Aktuelle News:
Neuer großer Patch:
Es gibt einige gravierende Verbesserungen.
Derzeit werden folgende Dinge komplett überarbeitet um sie performanter und Sicherer zu machen.Anmeldung/RegistrierungOn und OfflinemodusUpdater
Server 50% fertigChat
Multiplayer PvE 50%
Dungeonsystem (wird evtl in 3d gemacht werden [ kommt später])
Hack/Cheatschutz 50%
und Echtzeitkämpfe (kommt mit dungeonsystem später )
Neues was fertig geworden ist
Laufen auf der map nun auf zwei arten möglich (einmal im zelda style map für map und einmal im pkm style fliesende map)
Questlogbuch
Questgeber
Questeditor
Da aus diesen Gründer die alten Spielversionen nicht mehr kompatibel sind wird das Spiel derzeit nicht zum download angeboten.
Sobald es eine stable Variante gibt sag ich bescheid. Aber ich denke mal mindestens 3 2 Wochen wird der Spaß dauern.
Spiel kann nun einfach per Downloader geladen werden. Kein dropbox mehr nötig.
Seite ist atm down da am CMS und Contenten selber gearbeitet wird.
ZitatDu solltest die Bilder nicht jedes mal laden, wenn du sie anzeigen willst. Du musst sie vorladen und am Ende des Skripts wieder freigeben.
bein den Inventarbildern hast du recht. aber die animation sind ja ca 200 bilder pro Figur meinst du wirklich ich sollte die alle vorladen ?
mega thx to progandy er hat mit scribt gebaut was die transparenz der bilder generiert
so siehts nun ohne "rahmen" aus
So hier also mal was zum anschauhen.
man kan schon laufen mit "1" zuhauhen und neue maps bauen.
(die braunen Umrandung der Figur kommen noch weg.
Wen einer schnell weis wie ich die Bilder bearbeite und das Braun mit autoit transparent mache und wieder speichere, kan er sich gerne melden)
als nächstes kommt Inventar, Menü etc und dan mal einen Kampf einbauen.
hoffe es gefällt, ist ja noch nicht wirklich viel
vielen dank.
ich denke ich werde nur einen teil anzeigen. wen das zu lahm ist dan selber bauen.
Bisher hab ich schon eine Figur die in 8 richtungen laufen kan und dabei 8 animation pro schritt macht und eine attacke mit 13 animation!
Wenn ich die Tiles (vlt morgen,eher montag ^^) fertig post ich das ganze mal und alle können sich freuen.
vielen dank erstmal
Ich habe mir letzten Doodle jump angeschaut.(Wirklich klasse)
Das hat mich motiviert mal bisl mit GDI rumzuspielen.
Ich wolte eig. schon immer ein kleines rpg bauen.
Erstes Problem hierbei sind die Bilder. Diese gibt es meis nur als Tilesets.
Unter Java ist das auch gut so, da kan ich sagen subimage und x,x und erhalten den Ausschnit des Tilessets, sprich ein Tile.
Google hat mir bisher noch keine sinvolle antwort darauf geben können ob GDi bzw autoit sowas auch kan.
andere möglichkeit währ jedes Tile mit pain zu zerlegen -_-
Vielleicht kan mich ja jemand davor bewahren.
thx
/edit jeden Tag kommt bisl mehr dazu drum poste ich hier oben mal immer die aktuelle version
version 0.0.3
http://www.file-upload.net/download-2477073/co.7z.html
v0.0.1.1 "inventar" geht mit "i" auf
Lebensleiste -> Background drückt sich durch
#include <GDIPlus.au3>
#include <Misc.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <timers.au3>
#include<Array.au3>
$Width = 480
$Height = 480
$tilesize=48
$richtung="e"
$xrichtung=0
$yrichtung=0
$x=250
$y=250
$map=1
$speed=3
$inventar1=-1
$inventar2=-1
$menu=-1
$gold=100
$hp=100
$mp=100
$GUI1 = GUICreate("Chosen one", $Width, $Height)
GUISetState(@SW_SHOW)
$dll=DllOpen("user32.dll")
[/autoit] [autoit][/autoit] [autoit]opt("guioneventmode", 1)
GUISetOnEvent($GUI_EVENT_CLOSE, "ende")
AutoItSetOption ("MouseCoordMode", 0)
TCPStartUp()
#cs
dim $attacke[13]
for $counter=0 to 12
$attacke[$counter]=@ScriptDir&"\bilder\attacke\attack" & $add & $counter & ".gif"
Next
#ce
$pBackground = @ScriptDir&"\map" & $map & ".jpg"
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]$Graphic = _GDIPlus_GraphicsCreateFromHWND($GUI1)
$Bitmap = _GDIPlus_BitmapCreateFromGraphics($Width, $Height, $Graphic)
$Buffer = _GDIPlus_ImageGetGraphicsContext($Bitmap)
$Background=_GDIPlus_ImageLoadFromFile ($pBackground)
#region Load
;$Background = _GDIPlus_ImageLoadFromFile ($pBackground)
#endregion Load
; gdi wieder beenden = _GDIPlus_GraphicsDispose(_GDIPlus_GraphicsCreateFromHWND($GUI1))
_WinAPI_RedrawWindow($GUI1, "", "", $RDW_UPDATENOW + $RDW_FRAME)
_GDIPlus_GraphicsDrawImage ($Buffer, $Background, 0, 0)
draw_inventar()
_GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir&"\bilder\steht\steht e0000.bmp"), $x, $y)
_GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, $Width, $Height)
;Sleep(10000)
while 1
;warten auf Eingabe laufen oder andere Aktion
[/autoit] [autoit][/autoit] [autoit];wen keine richtung gedrückt wird ist richtung =0 heist stillstand
[/autoit] [autoit][/autoit] [autoit];Inventar ein/ausschalten
If _IsPressed("49",$dll) Then
Do
Until Not _IsPressed("49",$dll)
_GDIPlus_GraphicsDrawImage ($Buffer, $Background, 0, 0)
$inventar1*=-1
draw_inventaronce()
EndIf
;menü ein/ausschalten
If _IsPressed("1B",$dll) Then
Do
Until Not _IsPressed("1B",$dll)
_GDIPlus_GraphicsDrawImage ($Buffer, $Background, 0, 0)
$menu*=-1
draw_inventar()
EndIf
If _IsPressed("31",$dll) Then ;angriff eins
[/autoit] [autoit][/autoit] [autoit]for $counter=0 to 12
if $counter<10 then
$add=0
else
$add=""
EndIf
_GDIPlus_GraphicsDrawImage ($Buffer, $Background, 0, 0)
_GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir&"\bilder\attack\attack " & $richtung & "00" & $add & $counter & ".bmp"), $x, $y)
draw_inventar()
Sleep(60)
_GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, $Width, $Height)
Next
EndIf
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];laufen
If _IsPressed("25",$dll) or _IsPressed("26",$dll) or _IsPressed("27",$dll) or _IsPressed("28",$dll) then
If _IsPressed("25",$dll) Then $xrichtung =-1
[/autoit] [autoit][/autoit] [autoit]If _IsPressed("26",$dll) Then $yrichtung =-1
[/autoit] [autoit][/autoit] [autoit]If _IsPressed("27",$dll) Then $xrichtung =1
[/autoit] [autoit][/autoit] [autoit]If _IsPressed("28",$dll) Then $yrichtung =1
[/autoit] [autoit][/autoit] [autoit];himmelsrichtungen definieren
[/autoit] [autoit][/autoit] [autoit]if $xrichtung=1 and $yrichtung=-1 then $richtung="ne"
if $xrichtung=1 and $yrichtung=0 then $richtung="e"
if $xrichtung=1 and $yrichtung=1 then $richtung="se"
if $xrichtung=0 and $yrichtung=-1 then $richtung="n"
[/autoit] [autoit][/autoit] [autoit]if $xrichtung=0 and $yrichtung=1 then $richtung="s"
[/autoit] [autoit][/autoit] [autoit]if $xrichtung=-1 and $yrichtung=-1 then $richtung="nw"
if $xrichtung=-1 and $yrichtung=0 then $richtung="w"
if $xrichtung=-1 and $yrichtung=1 then $richtung="sw"
for $counter=0 to 7
[/autoit] [autoit][/autoit] [autoit]_GDIPlus_GraphicsDrawImage ($Buffer, $Background, 0, 0)
_GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir&"\bilder\laufen\läuft " & $richtung & "000" & $counter & ".bmp"), $x, $y)
draw_inventar()
$x=$xrichtung*$speed+$x
$y=$yrichtung*$speed+$y
Sleep(60)
_GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, $Width, $Height)
Next
EndIf
$xrichtung=0
$yrichtung=0
wend
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]func make_background()
Local $hBitmap1, $hBitmap2, $hImage1, $hImage2, $hGraphic, $width, $height
; Initialisiert (startet) Microsoft Windows GDI+
$counterx=1
$hImage1 = _GDIPlus_ImageLoadFromFile (@ScriptDir&"\bilder\background.bmp")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]for $countery=1 to 10 step 1
[/autoit] [autoit][/autoit] [autoit]$sur=IniRead(@ScriptDir & "\map.ini",$map,$counterx,"Grass,Grass,Grass,Grass,Grass,Grass,Grass,Grass,Grass,Grass")
$tile = StringSplit($sur, ",")
for $counterx=1 to 10 step 1
$himage2=_GDIPlus_ImageLoadFromFile (@ScriptDir&"\bilder\Umgebung\" & $tile[$counterx] & ".bmp")
$hGraphic = _GDIPlus_ImageGetGraphicsContext($hImage1)
DrawInsert($hGraphic, $hImage2, $counterx*$tilesize-$tilesize, $countery*$tilesize-$tilesize, 00, $width, $height)
;_GDIPlus_GraphicsDrawImage ($Buffer, _GDIPlus_ImageLoadFromFile (@ScriptDir&"\bilder\Umgebung\" & $tile[$counterx] & ".bmp"), $counterx*$tilesize-$tilesize, $countery*$tilesize-$tilesize)
Next
Next
; Zeichnet ein Bild in ein anderes
[/autoit] [autoit][/autoit] [autoit]; Speichert das neue Bild
_GDIPlus_ImageSaveToFile($hImage1, @ScriptDir & "\GDIPlus_Image.jpg")
EndFunc
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func DrawInsert($hGraphic, $hImage2, $iX, $iY, $nAngle, $iWidth, $iHeight, $iARGB = 0xFF000000, $nWidth = 1)
Local $hMatrix, $hPen2
; Rotationsmatrix
$hMatrix = _GDIPlus_MatrixCreate()
_GDIPlus_MatrixRotate($hMatrix, $nAngle, "False")
_GDIPlus_GraphicsSetTransform($hGraphic, $hMatrix)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImage2, $iX, $iY)
[/autoit] [autoit][/autoit] [autoit]; Ermittelt Stift + Farbe
$hPen2 = _GDIPlus_PenCreate($iARGB, $nWidth)
; Zeichnet einen Rahmen um das eingefügte Bild
_GDIPlus_GraphicsDrawRect($hGraphic, $iX, $iY, $iWidth, $iHeight, $hPen2)
; Ressourcen freigeben
_GDIPlus_MatrixDispose($hMatrix)
_GDIPlus_PenDispose($hPen2)
Return 1
EndFunc ;==>DrawInsert
func draw_inventaronce()
_GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir & "\bilder\steht\steht " & $richtung & "0000.bmp"), $x, $y)
_GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir & "\bilder\Interface\Lebensleiste.gif"), 0, 10)
if $inventar1=1 then _GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir&"\bilder\Interface\inventar2.bmp"), 350, 100)
if $inventar2=1 then _GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir&"\bilder\Interface\inventar1.bmp"),350, 100)
if $menu=1 then _GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir&"\bilder\Interface\inventar1.bmp"),250, 100)
_GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, $Width, $Height)
EndFunc
[/autoit] [autoit][/autoit] [autoit]func draw_inventar()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]_GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir & "\bilder\Interface\Lebensleiste.gif"), 0, 10)
if $inventar1=1 then _GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir&"\bilder\Interface\inventar2.bmp"), 350, 100)
if $inventar2=1 then _GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir&"\bilder\Interface\inventar1.bmp"),350, 100)
if $menu=1 then _GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir&"\bilder\Interface\inventar1.bmp"),250, 100)
_GDIPlus_GraphicsFillRect($Graphic, 2,12, 100, 12, _GDIPlus_BrushCreateSolid(0xFFFF0000))
_GDIPlus_GraphicsFillRect($Graphic, 2, 27, 100, 12, _GDIPlus_BrushCreateSolid(0xFF0000ff))
_GDIPlus_GraphicsDrawString($Buffer, $hp & "/" & $hp, 28, 11, "Comic Sans MS", 7)
_GDIPlus_GraphicsDrawString($Buffer, $mp & "/" & $mp, 28, 26, "Comic Sans MS", 7)
_GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, $Width, $Height)
EndFunc
[/autoit]#include <GDIPlus.au3>
[/autoit] [autoit][/autoit] [autoit]Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]Global $hGui, $width = 600, $height = $width, $i = 100
$hGui = GUICreate("GDI+", $width, $height, -1, -1)
GUISetOnEvent(-3, "_disp")
GUISetState()
_GDIPlus_Startup()
Global $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGui)
Global $hBitmap = _GDIPlus_BitmapCreateFromGraphics($width, $height, $hGraphics)
Global $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
Global $hPen = _GDIPlus_PenCreate(0xFF990001, 2)
_GDIPlus_GraphicsClear($hBackbuffer)
[/autoit] [autoit][/autoit] [autoit]While 1
_GDIPlus_GraphicsClear($hBackbuffer)
_GDIPlus_GraphicsDrawLine($hBackbuffer,Sin($i * 3.14159265358979/ 180)*100+240, Cos($i * 3.14159265358979/ 180)*100+250, 240, 250, $hPen)
_GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, 0, 0)
$i -= 1
WEnd
Func _disp()
_GDIPlus_GraphicsDispose($hGraphics)
_GDIPlus_GraphicsDispose($hBackbuffer)
_GDIPlus_BitmapDispose($hBitmap)
_GDIPlus_PenCreate($hPen)
_GDIPlus_Shutdown()
GUIDelete($hGui)
Exit
EndFunc
finde ich viel cooler
Danke erstmal.
Ja KeyPass war meine alpha Version bish ich mich wieder für das einfache entschieden hab.
(Achtung dies war nur ein Witz)
Nicht schlecht. Da kan ich heute noch bisl was machen.
Aber ein Tool ist nicht gleich gut wen es viele Funktionen hat.
Einige Sachen an Keypass finde ich unsicher, weil es das MPW immer im Ram hält.
Aber das meiste kan man sich echt mal anschauhen und implementieren.
Ich habe hier ein Scribt geschrieben mit den man sich ein PW-Profil anlegen kann welche PWs speichert.
Bsp. ich erstelle "PW-Tabelle Arbeit". Nun kan ich ein neues PW adden wie zb. Mein root PW. Nun kann ich das Pw eingeb und es mit einem Masterschlüssel verschlüsseln. Bei Bedarf kan ich dan das pw wieder in klartext ausgeben lassen indem ich dem Masterschlüssel eingebe. Das Pw ist nun im zwischenspeicher und kan ganz bequem mit STRG+v iwo eingefügt werden.
(Note die PW-Tabellen werden verschlüssetl in einer ini gespeichert)
Bitte schreibt mir Anregungen oder Fragen oder Käfer damit ich ein intuitive und sicheres Tool der Menschheit schenken kann^^
#include <Crypt.au3>
#include <GUIConstantsEx.au3>
#include <Array.au3>
Opt('MustDeclareVars', 0)
[/autoit] [autoit][/autoit] [autoit]Example()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func Example()
Local $pwneu,$pwaendern,$pweingeben
Local $msg
Local $pws[60][2]
Local $Array[60][2]
GUICreate("Passwortsafe")
$new=GUICtrlCreateButton("neue PW-Tabelle erstellen",70,30)
$load=GUICtrlCreateButton("PW-Tabelle laden",250,30)
$reload=GUICtrlCreateButton("PW-Tabelle aktualisieren",245,160)
GUICtrlCreateGroup("Passwordname", 35, 80, 160,60)
$ausgabe=GUICtrlCreateInput("",220,100,80,20)
$liste=GUICtrlCreateCombo("", 40, 100,150,20) ; create first item
GUICtrlCreateGroup("Passwordwert", 210,80,120,60)
$pwneu=GUICtrlCreateButton("neues pw erstellen",10,160,120,30)
$pwaendern=GUICtrlCreateButton("pw ändern",140,160,80,30)
GUICtrlCreateLabel("Zum Verwalten des Pw safes solten sie folgendes beachten:" & @LF & "1.Erstellen sie eine neue Pw Tabelle oder laden sie eine alte" & @LF & "2.Fügen sie der Tabelle ein neues zu verschlüsselndes Pw hinzu." & @LF & "3 Geben sie den Eintrag einen eindeutigen Namen" & @LF & "4.Geben Sie den Schlüssel ein mit den das Pw gesichert werden soll." & @LF & "5.Nun können sie sich das Pw in die Zwichenablage kopieren" & @LF & "indem sie ihr Pw auswählen und den richtigen Schlüssel eingeben" , 30, 210)
$pweingeben=GUICtrlCreateButton("Schlüssel eingeben",250,320,120,35)
;MsgBox(0,"",IniRead($var, "section2","JPM","nicht gefunden"))
GUISetState()
; Run the GUI until the dialog is closed
While 1
$msg = GUIGetMsg()
if $msg=$liste then GUICtrlSetData($ausgabe,iniRead($var, "section2",GUICtrlRead($liste),"nicht gefunden"))
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
if $msg=$new Then
$loc=FileSaveDialog( "Choose a name.", @DesktopCommonDir, "Passworttabellen (*.ini)", 2)
iniWrite($loc & ".ini","section2","Beispiel Pw Name","Beispiel Pw")
$msg=$load
EndIf
if $msg=$load Then
$message="Bitte wähle eine Datei"
$var = FileOpenDialog($message, @DesktopCommonDir & "\", "Text (*.ini;)", 1 + 4 )
If @error Then
MsgBox(4096,"","No File(s) chosen")
EndIf
$pws=IniReadSection($var, "section2")
;IniWrite("C:\Temp\myfile.ini", "section2", "key", "this is a new value")
for $counter=1 to UBound($pws)-1
GUICtrlSetData($liste,$pws[$counter][0] ) ; add other item snd set a new default
Next
$msg=$reload
EndIf
if $msg=$reload Then
$pws=IniReadSection($var, "section2")
for $counter=1 to UBound($pws)-1
GUICtrlSetData($liste,$pws[$counter][0] ) ; add other item snd set a new default
Next
GUICtrlSetData($ausgabe,iniRead($var, "section2",GUICtrlRead($liste),"nicht gefunden"))
EndIf
if $msg=$pwneu Then
$pwname=InputBox("Eingabe 1","Bitte geben sie ein Namen für das PW ein","","")
while 1
$pw=InputBox("Eingabe 1","Bitte geben sie ein PW ein","","*")
$pw2=InputBox("Eingabe 2","Bitte geben sie das PW zu Sicherheit erneut ein","","*")
if $pw = $pw2 Then
ExitLoop
Else
MsgBox(0,"Hinweis","Pws sind nicht gleich")
EndIf
WEnd
$Key=InputBox("Schlüssel","Bitte geben sie einen Schlüssel ein der das Pw verschlüsseln soll","","*")
$Key=_Crypt_DeriveKey($Key,$CALG_RC4)
$pw=_Crypt_decryptData($pw,$Key,$CALG_USERKEY)
IniWrite($var, "section2",$pwname,$pw)
$pws=IniReadSection($var, "section2")
for $counter=1 to UBound($pws)-1
GUICtrlSetData($liste,$pws[$counter][0] ) ; add other item snd set a new default
Next
GUICtrlSetState ( $liste, $GUI_DEFBUTTON )
EndIf
if $msg=$pweingeben Then
$Key=InputBox("Schlüssel","Bitte geben sie den Schlüssel ein mit dem sie das Pw gesichrt haben","","*")
$Key=_Crypt_DeriveKey($Key,$CALG_RC4)
$var2 = Binary(IniRead($var, "section2",GUICtrlRead($liste),"nicht gefunden"))
$code=BinaryToString(_Crypt_encryptData($var2,$Key,$CALG_USERKEY))
_Crypt_DestroyKey($Key)
ClipPut($code)
EndIf
if $msg=$pwaendern Then
while 1
$pw=InputBox("Eingabe 1","Bitte geben sie ein PW ein","","*")
$pw2=InputBox("Eingabe 2","Bitte geben sie das PW zu Sicherheit erneut ein","","*")
if $pw = $pw2 Then
ExitLoop
Else
MsgBox(0,"Hinweis","Pws sind nicht gleich")
EndIf
WEnd
$Key=InputBox("Test","Bitte geben sie einen Schlüssel ein der das Pw verschlüsseln soll","","*")
$Key=_Crypt_DeriveKey($Key,$CALG_RC4)
$pw=_Crypt_decryptData($pw,$Key,$CALG_USERKEY)
IniWrite($var, "section2",GUICtrlRead($liste),$pw)
EndIf
WEnd
EndFunc ;==>Example
ja du hast recht.also @lf <> | .
also eine forschleife die bei maxwert startet und dan solange nach unten geht bis ein " " vorhanden is und dan dort trennen und ein "|" einfügen.
(wen aber EIN Wort länger als $max ist siehts dunkel aus)
ok dan statt
if stringcompare($string,"Hier dein Maximale Länge in Buchstaben eintragen BSP. XXXXXX")> 0 then
StringRegExp($sString,".{$max-1,$max}( )"
was hälst du davon?
ich bin für
$max=(max länge deines Strings)
$i=0
while 1
if stringcompare($string,"Hier dein Maximale Länge in Buchstaben eintragen BSP. XXXXXX")> 0 then
$array[$i]=StringTrimLeft($string, $max)
$string=StringTrimRight($string,$len-$max)
$i+=1
Else
$array[$i+1]=string
ExitLoop
WEnd
for $i=0 to UBound($array)-1
$string2=$array[$i] & @LF
next
So solte es gehn.
#include <GUIConstantsEx.au3>
#Include <GuiListBox.au3>
#include <ListviewConstants.au3>
#include <WindowsConstants.au3>
#include <array.au3>
;----------------------------------------------------------------------------------------------------
$Daten_Pfad1 = @ScriptDir & "\Telefonnummern.ini"
;----------------------------------------------------------------------------------------------------
Global $GUI_01_Button_01
;----------------------------------------------------------------------------------------------------
$GUI_01 = GUICreate ("Telefonnummern", 500, 1000, -1, -1, 0x80000000)
$GUI_01_List_01 = GUICtrlCreateListView ("Nachname|Vorname|Telefonnummer|Ort|Geburtstag", 5, 5, 490, 965, 0x8014, 0x00090121)
$GUI_01_Button_01 = GUICtrlCreateButton ("Exit", 5, 975, 490, 20)
GUISetBkColor (0x000000, $GUI_01)
GUISetState (@SW_SHOW, $GUI_01)
Sleep (500)
;----------------------------------------------------------------------------------------------------
_Daten ()
;----------------------------------------------------------------------------------------------------
While True
Switch GUIGetMsg ()
Case $GUI_01_Button_01
Exit
EndSwitch
WEnd
;----------------------------------------------------------------------------------------------------
Func _Daten ()
$INI_Read_Section_01 = IniReadSection ($Daten_Pfad1, "Daten")
_ArraySort($INI_Read_Section_01,1,0,(UBound($INI_Read_Section_01)-1))
For $Stk = 1 To UBound($INI_Read_Section_01)-1
$INI_Daten_01 = IniRead ($Daten_Pfad1, "Daten", $INI_Read_Section_01[$Stk][0], "ERROR")
$INI_Daten_02 = StringSplit ($INI_Daten_01, ",")
$INI_Daten_03 = $INI_Daten_02[1] & " | " & $INI_Daten_02[2] & " | " & $INI_Daten_02[3] & " | " & $INI_Daten_02[4] & " | " & $INI_Daten_02[5]
GUICtrlCreateListViewItem ($INI_Daten_03, $GUI_01_List_01)
Next
EndFunc
du kanst ein regread auf "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Word\InstallRoot" machen
hier steht der wert Path ="C:\Program Files\Microsoft Office\Office12\"
in diesen Verzeichnis stehn die Office Prog drin. einfach if fileexist($Path & "\EXCEL.EXE") then "Excel ist dabei.
ich hab eine kleine tool gebaut (achtung ist nicht ma betaversion^^)
damit kann man relativ leich eine automatiche installation errzeugen.
man brauch nur autoitconverter und win infotool
momentan kan man noch nicht compilren die datei wird in eine test.txt auf den desktop gespeichert.
wen einer mal lust hatt kan er sich ja mal den text anschauhen und bisle kritik üben.
und bitte macht mir meine 4 stunden arbeit nicht kaputt indem ihr mir sag es ist totaler rotz oder da gibst was besseres.
das auslesen der id mit den win infotool nervig hat einer ne alternative
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
Opt('MustDeclareVars', 0)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];buttonevents
Global $buttonneueseite,$buttonbutton,$buttoncheckbox,$buttontext,$buttonpfad,$buttonfertig,$buttonnew
;counter
global $Tab,$counter,$file,$path,$id,$text
;input
Global $framename,$dateiname,$titel,$inputid,$inputtext
Local $defaultstatus, $status, $filemenu, $helpmenu, $saveitem
Local $fileitemsave,$fileitemopen,$fileitemcompile,$fileitemnew
Local $infoitem, $exititem, $recentfilesmenu, $separator1, $viewmenu,$compilemenu
Local $viewstatusitem, $okbutton, $cancelbutton, $statuslabel, $msg, $file
Example()
HotKeySet("a","new")
Func Example()
GUICreate("AutoIT Win install creator by Nils Zenker@cbs.mpg", 500, 460)
Global $defaultstatus = "Ready"
Global $status
;filemenue
$filemenu = GUICtrlCreateMenu("&File")
$fileitemnew = GUICtrlCreateMenuItem("New", $filemenu)
GUICtrlSetState(-1, $GUI_DEFBUTTON)
$fileitemopen = GUICtrlCreateMenuItem("Open", $filemenu)
;co,pile menue
$fileitemcompile = GUICtrlCreateMenuItem("Compile", $compilemenu)
$helpmenu = GUICtrlCreateMenu("?")
$saveitem = GUICtrlCreateMenuItem("Save", $filemenu)
GUICtrlSetState(-1, $GUI_Disable)
$infoitem = GUICtrlCreateMenuItem("Info", $helpmenu)
$exititem = GUICtrlCreateMenuItem("Exit", $filemenu)
$recentfilesmenu = GUICtrlCreateMenu("Recent Files", $filemenu, 1)
$separator1 = GUICtrlCreateMenuItem("", $filemenu, 2) ; create a separator line
$viewmenu = GUICtrlCreateMenu("View", -1, 1) ; is created before "?" menu
$viewstatusitem = GUICtrlCreateMenuItem("Statusbar", $viewmenu)
$statuslabel = GUICtrlCreateLabel($defaultstatus, 0, 400, 500, 80, BitOR($SS_SIMPLE, $SS_SUNKEN))
[/autoit] [autoit][/autoit] [autoit]GUISetState()
While 1
$msg = GUIGetMsg()
If $msg = $fileitemopen Then
$file = FileOpenDialog("Choose file...", @TempDir, "All (*.*)")
If @error <> 1 Then GUICtrlCreateMenuItem($file, $recentfilesmenu)
EndIf
If $msg = $fileitemnew Then
new()
EndIf
If $msg = $viewstatusitem Then
If BitAND(GUICtrlRead($viewstatusitem), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetState($viewstatusitem, $GUI_UNCHECKED)
GUICtrlSetState($statuslabel, $GUI_HIDE)
Else
GUICtrlSetState($viewstatusitem, $GUI_CHECKED)
GUICtrlSetState($statuslabel, $GUI_SHOW)
EndIf
EndIf
If $msg = $GUI_EVENT_CLOSE Or $msg = $exititem Then ende()
If $msg = $infoitem Then MsgBox(0, "Info", "Die kommt noch^^")
WEnd
GUIDelete()
EndFunc ;==>Example
Func new()
GUICtrlSetState($saveitem, $GUI_enable)
$dateiname=InputBox("Neues Projekt","Wie wollen sie ihr neues Projekt nennen?")
$path = FileOpenDialog("Choose file...", @TempDir, "All (*.exe)")
$file = FileOpen("test.txt", 1)
;vlt ein gui einfügen
FileWriteLine($file,'main()')
FileWriteLine($file,'func main()')
FileWriteLine($file,'Run("' & $path & '")')
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlCreateGroup("Neue Aktion hinzufügen",5,6,250,180)
$buttonneueseite=GUICtrlCreateButton("Seite bennen", 15, 30, 100, 20)
GUICtrlSetState($buttonneueseite,$GUI_disable)
$buttonnew=GUICtrlCreateButton("Neue Seite", 130, 30, 100, 20)
GUICtrlSetState(-1, $GUI_FOCUS)
$buttonbutton=GUICtrlCreateButton("Button drücken", 15, 70, 100, 20)
$buttoncheckbox=GUICtrlCreateButton("Checkbox betätigen",130,70,100,20)
$buttontext=GUICtrlCreateButton("Text senden", 15, 94, 100, 20)
$buttonpfad=GUICtrlCreateButton("Pfad auswählen",130,94,100,20)
$buttonfertig=GUICtrlCreateButton("Fertigstellen",15,150,100,20)
;Eigenschaften eintragen
GUICtrlCreateGroup("Information über das Objekt",260,6,230,180)
GUICtrlCreateLabel("Name des Frames",275, 30, 100, 20)
$framename=GUICtrlCreateInput("",275, 50, 150, 20)
GUICtrlSetState($framename,$GUI_Disable)
GUICtrlCreateLabel("ID des Objektes",275, 80, 100, 20)
$inputid=GUICtrlCreateInput("",275, 100, 150, 20)
GUICtrlCreateLabel("Text senden",275, 130, 100, 20)
$inputtext=GUICtrlCreateInput("",275, 150, 150, 20)
;Durchgeführte Aktion
GUICtrlCreateGroup("Aktion des Objektes",260,190,230,200)
GUICtrlCreateInput("",275, 150, 150, 20)
;Vorhandene Objekte
$tab=GUICtrlCreateTab(10,210,240,170)
GUICtrlCreateGroup("Objekt",6,190,250,200)
GUICtrlSetState($buttonbutton,$GUI_disable)
GUICtrlSetState($buttontext,$GUI_disable)
GUICtrlSetState($buttoncheckbox,$GUI_disable)
GUICtrlSetState($buttonpfad,$GUI_disable)
$counter=1
Main()
EndFunc
Func Main()
While 1
$msg = GUIGetMsg()
if $msg=$saveitem then
$path = FileSelectFolder("Choose a folder.", "")
MsgBox(0,"",$path)
EndIf
if $msg=$buttonnew then
GUICtrlSetState($buttonneueseite,$GUI_enable)
GUICtrlSetState($framename,$GUI_enable)
endif
If $msg = $buttonneueseite Then
GUICtrlSetState($buttonneueseite,$GUI_disable)
GUICtrlSetState($buttonbutton,$GUI_enable)
GUICtrlSetState($buttontext,$GUI_enable)
GUICtrlSetState($buttoncheckbox,$GUI_enable)
GUICtrlSetState($buttonpfad,$GUI_enable)
$titel=GUICtrlRead($framename)
GUICtrlSetData($inputid,"")
GUICtrlSetData($framename,"")
FileWriteLine($file,'WinWaitActive("' & $titel & '")' )
$tab1 = GUICtrlCreateTabItem("Seite" & $counter)
GUICtrlSetState($framename,$GUI_Disable)
$counter+=1
endif
if $msg=$buttonbutton then
$id=GUICtrlRead($inputid)
FileWriteLine($file,'Sleep(2000)')
FileWriteLine($file,'ControlClick("' & $titel & '","",' & $id & ')')
GUICtrlSetData($inputid,"")
endif
if $msg=$buttontext then
$text=GUICtrlRead($inputtext)
$id=GUICtrlRead($inputid)
FileWriteLine($file,'ControlSend("' & $titel & '","",' & $id & ',"' & $text & '")')
GUICtrlSetData($inputid,"")
GUICtrlSetData($inputtext,"")
EndIf
If $msg = $GUI_EVENT_CLOSE Or $msg = $exititem Then
ende()
EndIf
If $msg = $GUI_EVENT_CLOSE Then
ende()
endif
if $msg=$buttonfertig Then
FileWriteLine($file,'endfunc')
EndIf
wend
EndFunc
Func ende()
Exit
endfunc
func _iniread()
EndFunc
;to au3 exportieren
;FileCopy("C:\Dokumente und Einstellungen\user\Desktop\test.txt", "D:\ $dateiname .au3",
;compile shellexeccut
;Aut2exe.exe /in D:\juhu.au3 /out D:super.exe
nim ein fach den tool und wähle mit dem "Finder tool ein youtube vidoe auf.
das ist mein momentanes ziel
>>>> Window <<<<
Title: YouTube - SHORTCUTS youtube video competition - Mozilla Firefox
Class: MozillaUIWindowClass
Position: -4, -4
Size: 808, 578
Style: 0x15CF0000
ExStyle: 0x00000100
Handle: 0x001201EA
>>>> Control <<<<
Class: MozillaWindowClass
Instance: 8
ClassnameNN: MozillaWindowClass8
Advanced (Class): [CLASS:MozillaWindowClass; INSTANCE:8]
ID:
Text:
Position: 5, 226
Size: 640, 385
ControlClick Coords: 172, 113
Style: 0x50000000
ExStyle: 0x00000000
Handle: 0x001E0198
>>>> Mouse <<<<
Position: 177, 365
Cursor ID: 0
Color: 0xF2F3F1
>>>> StatusBar <<<<
>>>> Visible Text <<<<
so ganz funktioniert das noch nicht oder ich stell mich zu doof an. wrs zweiteres^^.
kan mir mal jemand ein bsp schreiben wie man die "8" instance bei zum beispiel einer inet seite anklickt
Ich hab mich mal bissl mit den "Autoit Windoof info" tool befast.
Man kan die instance eines Objektes ermittel. Nun will ich das ein scribt eine gewisse instance anklick. Ist die realisierbar. Vielen dank schonmal
gibt es eine eleganter Lösung einen nutzer adminrechte zu geben auser mit mouse moves und send keys aktions. im regedit hab ich bisher noch nichts gefunden. vieleicht hilft der tool cacls? hat jemnd ne idee?