Hi,
naja ein direktes Tutorial kenne ich nicht. Aber es gibt genug kleine Spiele die hier gepostet worden sind.
Wenn du eine Idee für ein Spiel hast, dann mach einen Vorschlag und dann kann man gemeinschaftlich dran arbeiten, jeder macht einen Teil und erklärt was er gemacht hat.
Außerdem kommt es drauf an, was du lernen willst. Wenn du lernen willst wie man mit Grafiken umgeht ist das z.B. was anderes, als wenn man eher was mathematisches löst.
Beiträge von anno2008
-
-
Wobei bei mir SRE immer noch schneller ist:
Spoiler anzeigen
[autoit]$time1 = TimerInit()
[/autoit] [autoit][/autoit] [autoit]
$string = '"Z:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip"-d "Z:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
'"A:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip" -d"Y:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
'"B:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip"-d"F\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
'"C:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip" -d "G:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
'"D:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip" -d "T:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
'"E:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip"-d"G:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"'
$a1 = StringSplit($string, @CR, 2)
Local $aPath[UBound($a1)]
For $i = 0 To UBound($a1) - 1
$aTmp = StringSplit($a1[$i], '.', 2)
$aPath[$i] = StringStripWS(StringReplace($aTmp[0], '"', ''), 1) & ".zip"
Next
$time1 = TimerDiff($time1)$time2 = TimerInit()
[/autoit] [autoit][/autoit] [autoit]
$string = '"Z:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip"-d "Z:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
'"A:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip" -d"Y:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
'"B:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip"-d"F\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
'"C:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip" -d "G:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
'"D:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip" -d "T:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
'"E:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip"-d"G:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"'
$array = StringRegExp($string, '"(.*?)"\s*-d\s*".+"', 3)
$time2 = TimerDiff($time2)MsgBox(0, "", $time1 & ' ' & $time2)
[/autoit] -
Ich finde das Tutorial übrigens ziemlich gut :).
Wenn du das komplett durchgemacht hast, dann kannst du RegularExpression auf jeden Fall schonmal relativ gut anwenden. Der Rest kommt irgendwann von alleine :).
http://www.regenechsen.de/phpwcms/index.php?regex_allg -
[autoit]
#include <Array.au3>
[/autoit][autoit][/autoit][autoit]$string = '"Z:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip"-d "Z:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
[/autoit]
'"A:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip" -d"Y:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
'"B:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip"-d"F\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
'"C:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip" -d "G:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
'"D:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip" -d "T:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"' & @CRLF & _
'"E:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\BRAN52d039r1.zip"-d"G:\BRAN\BRAN\Docfile\BRAN29-58\BRAN52\"'
$array = StringRegExp($string, '"(.*?)"\s*-d\s*".+"', 3)
_ArrayDisplay($array)Aber SRE ist nicht unbedingt besser als String-Funktionen (manchmal langsamer).
-
Beispiel mit FFMpeg:
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>Global $infile, $outfile
[/autoit] [autoit][/autoit] [autoit]$Form1 = GUICreate("", 169, 138, 532, 506)
[/autoit] [autoit][/autoit] [autoit]
$Button1 = GUICtrlCreateButton("Start", 8, 100, 145, 33, $WS_GROUP)
$Input1 = GUICtrlCreateInput("", 8, 26, 121, 21)
$Input2 = GUICtrlCreateInput("", 8, 74, 121, 21)
$Label1 = GUICtrlCreateLabel("Input:", 8, 8, 31, 17)
$Label2 = GUICtrlCreateLabel("Output", 8, 56, 36, 17)
$Button2 = GUICtrlCreateButton("...", 129, 25, 27, 23, $WS_GROUP)
$Button3 = GUICtrlCreateButton("...", 129, 73, 27, 23, $WS_GROUP)
GUISetState(@SW_SHOW)While 1
[/autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button2
$infile = FileOpenDialog("Bitte Datei wählen...", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", "Alles (*.*)")
If Not @error Then GUICtrlSetData($Input1, $infile)
Case $Button3
$outfile = FileSaveDialog("Bitte Speicherort wählen...", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", "mp3-Files (*.mp3)")
If Not @error Then GUICtrlSetData($Input2, $outfile)
Case $Button1
If ($infile <> '') And ($outfile <> '') Then
GUICtrlSetState($Button1, $GUI_DISABLE)
if (Not StringInStr($outfile, ".mp3")) Then $outfile &= ".mp3"
RunWait('ffmpeg.exe -i "' & $infile & '"' & ' -y "' & $outfile & '"')
GUICtrlSetState($Button1, $GUI_ENABLE)
Else
MsgBox(16, "Error", "Bitte erst Dateien wählen!")
EndIf
EndSwitch
WEndDie FFMpeg.exe musste dir noch irgendwo runterladen. Die muss ins selbe Verzeichnis wie das Script. Anhängen kann ich sie leider nicht weil sie zu groß ist.
-
Eweiterungsvorschlag: Bau eine Option ein, die mit Send arbeitet. Dann kann man es auch gleich als Tastaturersatz benutzen.
Würde ich sogar selbst machen, aber irgendwie weiß ich nicht wie ich es anstellen soll. Wenn deine Tastatur aktiv ist, würde ja Send an das Tastaturprogramm selbst senden.Hi,
[autoit]
Damit der Tastenanschlag nicht an das Programm selbst gesendet wird kann man ControlSend benutzen.
Wenn z.B. die Taste t gedrückt werden soll:ControlSend("","","","t")
[/autoit]
Jetzt wird immer an das aktive Control gesendet und der Anschlag wird von deinem Programm nicht erkannt. -
Melde mich ma wieder hier :P.
Ne mal im Ernst: Seele. Ist das evtl. sogar sowas wie die Evolution? Ich meine, Lebewesen passen sich ihrer Situation an. Aber wie wissen sie, dass wenn es kalt ist Fell wachsen muss? Klingt naiv, aber auch logisch (meine Meinung).
Das ist im Prinzip meine Meinung. Für alles was sich der Mensch nicht erklären kann sucht er etwas übermenschliches. Hat er die Erklärung gefunden, rückt er von dem Standpunkt ab, zumindest glauben heute die wenigsten religiösen Menschen, dass die Welt von Gott erschaffen wurde oder irgendsowas.
Aber: Evolution ist was zufälliges. Der stärkere überlebt. Ein Tier ist über mehrere Millionen Jahre entstanden. Dabei haben sich diejenigen, die vielleicht eine Mutation durchgemacht haben, oder auch eine "Fehlgeburt" waren durchgesetzt. Lebewesen passen sich so auch nicht ihrer Situation an (wir Menschen schon, aber die Natur nicht), das ist ja der Punkt von der Evolution, die Entwicklung über Generationen.
Entweder habe ich deinen Satz falsch verstanden, oder du widersprichst dir selber :P. -
Hi,
Spoiler anzeigen
[autoit]#include <Misc.au3>
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit]
If _IsPressed(01) Then
$pos = MouseGetPos()
IniWrite("positions.ini", "Position", "X", $pos[0])
IniWrite("positions.ini", "Position", "Y", $pos[1])
EndIf
Sleep(100)
WEnd -
Hey,
[autoit]InetGetSize
[/autoit]Wenn der Rückgabewert größer ist als 0 existiert die Datei.
INetGetBytes <> 0
Gibts gar ned mehr, oder? -
(Wieso eigentlich nicht 0-255?)
Es geht schon von 0 bis 255.
Aber 0xFF000000 ist schwarz und damit nicht die Möglichkeit besteht, das schwarze Linien entstehen hab ich die 0 weggelassen. -
Das geht aber auch einfacher
[autoit]_GDIPlus_PenSetColor($pen2, '0xFF' & Hex(Random(1, 255, 1), 2) & Hex(Random(1, 255, 1), 2) & Hex(Random(1, 255, 1), 2))
[/autoit]also sowas in der Art
Spoiler anzeigen
[autoit]; coded by Simon
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIConstants.au3>
#include <GDIPlus.au3>Global Const $width = 400
[/autoit] [autoit][/autoit] [autoit]
Global Const $height = 400
Global $graphics, $backbuffer, $bitmap, $Pen, $pen2, $i = 10, $bool = 0, $color = 1
Global $title = "GDI+ Beispiel"Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]
$hwnd = GUICreate($title, $width, $height, -1, -1, $WS_POPUP)
GUISetOnEvent($GUI_EVENT_CLOSE, "close")
GUISetState()_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]
$graphics = _GDIPlus_GraphicsCreateFromHWND($hwnd) ;erstelle GDI+ Objekt von der GUI (Grafik)
$bitmap = _GDIPlus_BitmapCreateFromGraphics($width, $height, $graphics) ;erstelle Bitmap von der Grafik
$backbuffer = _GDIPlus_ImageGetGraphicsContext($bitmap) ;erstelle Grafik Kontext von der Bitmap (dient für die Doppeltbufferung der Grafik, damit die Bewegungen flüssiger aussehen
$Pen = _GDIPlus_PenCreate(0, 3) ;erstelle Stift mit der Stärke 4 Pixels
_GDIPlus_PenSetColor($Pen, 0xFFFFFFFF) ;setze Stiftfarbe ;# weis +++++++++++++++++++++++++
$pen2 = _GDIPlus_PenCreate(0, 3) ;erstelle zweiten Stift mit der Stärke 4 PixelsDo
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsClear($backbuffer) ;lösche Buffer_GDIPlus_GraphicsDrawLine($backbuffer, 10, 10, $i, 10, $Pen) ;ziehe 1. Linie
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsDrawLine($backbuffer, 10, 390, 10, 400 - $i, $Pen) ;ziehe 2. Linie
_GDIPlus_GraphicsDrawLine($backbuffer, 390, 10, 390, $i, $Pen);Ziehe 3. Linie
_GDIPlus_GraphicsDrawLine($backbuffer, 400 - $i, 390, 390, 390, $Pen) ;Ziehe 4. Linie_GDIPlus_GraphicsDrawLine($backbuffer, $i, 10, 10, 400 - $i, $pen2)
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsDrawLine($backbuffer, 10, 400 - $i, 400 - $i, 390, $pen2)
_GDIPlus_GraphicsDrawLine($backbuffer, 390, $i, 400 - $i, 390, $pen2)
_GDIPlus_GraphicsDrawLine($backbuffer, $i, 10, 390, $i, $pen2)_GDIPlus_GraphicsDrawImageRect($graphics, $bitmap, 0, 0, $width, $height) ;das Zeichnen hat im Buffer stattgefunden. Damit das Ganze sichtbar wird, kopiere den Buffer (Bitmap) in den sichtbaren Bereich
[/autoit] [autoit][/autoit] [autoit]
If Not $bool And $i < 390 Then
If $color Then
_GDIPlus_PenSetColor($pen2, '0xFF' & Hex(Random(1, 255, 1), 2) & Hex(Random(1, 255, 1), 2) & Hex(Random(1, 255, 1), 2)) ;setze Stiftfarbe für den 2. Strich ;# random +++++++++++++++++++
$color = Not $color
EndIf
$i += 5
Else
$color = Not $color
$bool = 1
EndIfIf $bool And $i > 10 Then
[/autoit] [autoit][/autoit] [autoit]
$i -= 5
Else
$bool = 0
EndIf
Sleep(30)
Until FalseFunc close()
[/autoit]
_GDIPlus_PenDispose($Pen)
_GDIPlus_PenDispose($Pen2)
_GDIPlus_GraphicsDispose($backbuffer)
_GDIPlus_BitmapDispose($bitmap)
_GDIPlus_GraphicsDispose($graphics)
_GDIPlus_Shutdown()
WinClose($hwnd)
Exit
EndFunc ;==>close -
Die Menschen können einfach nicht erkennen, dass sie genau wie jedes andere Lebewesen teil eines Organismus sind, der sich in einem Kreislauf wiederholt.
Ich weis es ja auch nicht, aber so wie ich mir das vorstelle gibts nach dem Tod einfach gar nix. Ein Tier macht sich solche Gedanken auch nicht (oder besser gesagt ich gehe mal davon aus) und lebt trotzdem mit Routinen und Zielen.
Der Mensch ist soweit, dass er sich Gedanken um seine Umgebung machen kann, aber ist nicht die Krone der Schöpfung. -
Sry, aber ich verstehe auch nicht, was gemacht werden soll.
Du musst schon ein bisschen konkreter werden, was nicht funktioniert, bzw. was du machen willst.PS. Was ist eine Katigorie?
-
Alles gute zum Geburtstag :).
Du hast dem Forum hier wirklich sehr gute Dienste geleistet und weist bei fast allen Problemen Antwort.
Feier schön -
Ich kapier ned mehr so ganz was du willst!?
Meinst du vielleicht so?Spoiler anzeigen
[autoit]$file_in = FileOpen("in.txt", 0)
[/autoit] [autoit][/autoit] [autoit]
$file_out = FileOpen("out.txt", 2)$line = FileRead($file_in)
[/autoit] [autoit][/autoit] [autoit]
If Not @error Then
$ip = StringRegExp($line, "(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?:\s?-\s?|\s)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})", 3)
If Not @error Then
For $i = 0 To UBound($ip) - 1
FileWriteLine($file_out, $ip[$i])
Next
EndIf
EndIfFileClose($file_in)
[/autoit]
FileClose($file_out) -
Also ich denke, dass das so nächsten Frühling /Sommer passieren sollte
Dann wartet bitte noch bis ende Mai, vorher darf ich nicht alleine Autofahren :).
-
Hi,
hab schon lang nix mehr mit RegExp gemacht.
Willst du prüfen ob sie stimmten, oder auslesen?Zum prüfen:
[autoit]MsgBox(0,"",StringRegExp("127.0.0.1 - 127.255.255.255", "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(\s?-\s?|\s)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"))
[/autoit]Zum auslesen:
[autoit]#include <Array.au3>
[/autoit][autoit][/autoit][autoit]$arr = StringRegExp("127.0.0.1 - 127.255.255.255", "(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(?:\s?-\s?|\s)(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})", 3)
[/autoit]
_ArrayDisplay($arr)Vielleicht gehts einfacher :P.
-
Ich wäre dafür, dass jeder der eventuell mitmachen würde einfach mal seinen Standort ungefähr sagt. Die nächst größere Stadt oder die Stadt in der man wohnt reicht ja. Und dann einfach Standortsuche, man sucht den Ort, der von allen gleichweit entfernt ist.
Saarbrücken (Saarland)
Das ist jetzt nix verbindliches, aber damit kann mans vielleicht relativ fair bestimmen.
-
Oder versuch mal FreeImage Das ist auf solche Bildmanipulationen ausgelegt.
http://www.autoitscript.com/forum/index.…opic=95357&st=0Is garantiert besser und schneller :).
Werde ich benutzen, danke. -
schau mal da PushTheButton
Ja, deshalb war ich ja auch sehr froh, dass du dich direkt bereit erklärt hast mir zu Helfen .
Einziger Nachteil ist die Speicherung als BMP. Die nimmt mehr platz weg, aber das dürfte machbar sein.
Hoffentlich bekomm ich das hin, ich finde es ein schönes Projekt :).Dankeschön für die ganze Mühe