1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. eukalyptus

Beiträge von eukalyptus

  • Ausblenden wenn minimiert

    • eukalyptus
    • 15. November 2009 um 21:46
    [autoit]

    #include <Constants.au3>
    #include <GUIConstantsEx.au3>

    [/autoit][autoit][/autoit][autoit]

    Opt("GUIOnEventMode",1)
    Opt("TrayOnEventMode",1)
    Opt("TrayAutoPause",0)
    TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE, "_Show")

    [/autoit][autoit][/autoit][autoit]

    $hGui=GUICreate("Test")
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Hide")
    GUISetState(@SW_SHOW, $hGui)

    [/autoit][autoit][/autoit][autoit]

    While 1
    Sleep(1000)
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func _Hide()
    GUISetState(@SW_HIDE, $hGui)
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func _Show()
    GUISetState(@SW_SHOW, $hGui)
    EndFunc

    [/autoit]

    Doppelklick auf TrayIcon macht es wieder sichtbar

  • Bitmaps aus einer Dll laden?

    • eukalyptus
    • 15. November 2009 um 20:29

    Bitmaps mit folgender Funktion laden:

    [autoit]

    Func _ResourceLoadImage($DLL, $ResName); THX to Progandy, Zedna
    Local $hInstance, $InfoBlock, $GlobalMemoryBlock, $MemoryPointer, $ResSize, $hData, $pData, $pStream, $dll2, $pBitmap
    $hInstance = DllCall("kernel32.dll", "int", "LoadLibrary", "str", $DLL)
    $InfoBlock = DllCall("kernel32.dll", "int", "FindResourceA", "int", $hInstance[0], "str", $ResName, "long", 10)
    $ResSize = DllCall("kernel32.dll", "dword", "SizeofResource", "int", $hInstance[0], "int", $InfoBlock[0])
    $GlobalMemoryBlock = DllCall("kernel32.dll", "int", "LoadResource", "int", $hInstance[0], "int", $InfoBlock[0])
    $MemoryPointer = DllCall("kernel32.dll", "int", "LockResource", "int", $GlobalMemoryBlock[0])
    DllCall("Kernel32.dll", "int", "FreeLibrary", "str", $hInstance[0])
    $hData = _MemGlobalAlloc($ResSize[0], 2)
    $pData = _MemGlobalLock($hData)
    _MemMoveMemory($MemoryPointer[0], $pData, $ResSize[0])
    _MemGlobalUnlock($hData)
    $pStream = DllCall("ole32.dll", "int", "CreateStreamOnHGlobal", "int", $hData, "long", 1, "Int*", 0)
    $pBitmap = DllCall($ghGDIPDll, "int", "GdipCreateBitmapFromStream", "ptr", $pStream[3], "int*", 0)
    $DLL = DllStructCreate("Uint", $pStream[3])
    $dll2 = DllStructCreate("uInt", DllStructGetData($DLL, 1) + 8)
    DllCall("", "UInt", DllStructGetData($dll2, 1), "UInt", $pStream[3])
    _WinAPI_DeleteObject($pStream[3])
    $pStream[3] = 0
    _MemGlobalFree($hData)
    Return $pBitmap[2]
    EndFunc ;==>_ResourceLoadImage

    [/autoit][autoit]

    $r[0] = _ResourceLoadImage(@scriptdir & "\img\gfx.dat","move_1_0")

    [/autoit]


    Des weiteren solltest du alle Sprites editieren und auf gleiche Größe bringen, damit die komischen Bewegungen wegfallen (Seitengröße ändern, nicht skalieren)

    Bei Fragen einfach melden...

    Dateien

    img.rar 376,09 kB – 193 Downloads
  • µit - Dezember

    • eukalyptus
    • 13. November 2009 um 15:49

    Sehr interessante Aufgabe!
    Bin auf jeden Fall dabei!

  • Geburtstag von AutoBert

    • eukalyptus
    • 13. November 2009 um 07:42

    Alles Gute :thumbup:

  • Geburtstag von Xeno

    • eukalyptus
    • 12. November 2009 um 08:19
    [autoit]

    $iAge = 30
    $sString1 = "Geburtstagskind"
    $sString2 = "Kasten Bier"
    If $iAge > 30 Then
    $sString1 = "Jubilar"
    $sString2 = "Geschenkkorb"
    EndIf
    MsgBox(0, "Glückwunsch", "Alles Gute dem " & $sString1 & @LF & @LF & "Wir überreichen diesen " & $sString2)

    [/autoit]

    :D


    ps.: nicht so ernst nehmen

  • µit Light Dezember '09

    • eukalyptus
    • 11. November 2009 um 21:16

    Spiele könnten schon Spaß machen, aber das wäre dann wohl eher was für den normalen µit, da spezielle Kenntnisse wie GDI+ von Vorteil wären.
    Und der Gundgedanke vom µit-Light war doch, daß auch AutoIt-Anfänger mitmachen können...

  • µit Light Dezember '09

    • eukalyptus
    • 11. November 2009 um 15:12

    Wie wär´s mit einem Geburtstagsreminder?
    Das Script wird bei Systemstart gestartet, läuft ständig im Hintergrund und erinnert an anstehende Geburtstage und sonstige wichtige Daten/Datums/Datume (was zum Teufel ist eigentlich die Mehrzahl von Datum :rofl: ) mit einer einstellbaren Vorwarnzeit.

    mfgE

  • Skript funktioniert wie es lustig ist

    • eukalyptus
    • 10. November 2009 um 10:09

    Schreib am besten bei FileMove eine Log-Datei mit, dann kannst du besser überprüfen was FileMove so macht...

    [autoit]

    FileWriteLine($hFile,$xerox & $liste[$i] & " " & $xerox & $ordner & "\" & $liste[$i])

    [/autoit]
  • Mouse-Keyboard

    • eukalyptus
    • 10. November 2009 um 09:57

    Es geht noch viel kürzer:

    Spoiler anzeigen
    [autoit]

    Run(@SystemDir & "\osk.exe")

    [/autoit]

    :rofl:

    Wie dieses Beispiel aber zeigt, gibt es so ein aktives, nichtaktives Fenster...

  • Skript funktioniert wie es lustig ist

    • eukalyptus
    • 10. November 2009 um 09:50

    Der Wert bei Sleep muß kleiner sein, als die kleinste gemessene Zeiteinheit;
    Sonst macht das Skript grad Pause, wenn die gewünschte Zeit eintritt ;)

    In diesem Fall könnte es jedoch passieren, daß die If-Bedingung mehrmals zutrifft, deshalb gehört dort ein Sleep rein, welches größer als die kleinste Zeit ist

    Je nachdem, wie genau du die Zeit messen willst kannst du sowas machen:

    [autoit]

    While True
    If @HOUR == $hh And @MIN == $mm And (@SEC >= $ss-1 And @SEC <= $ss+1) Then
    _inhalt_loeschen($xerox & $alte_scans)
    _inhalt_verschieben($xerox, $alte_scans)
    Sleep(3000)
    Else
    Sleep(1000)
    EndIf
    WEnd

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    While True
    If @HOUR == $hh And @MIN == $mm Then
    _inhalt_loeschen($xerox & $alte_scans)
    _inhalt_verschieben($xerox, $alte_scans)
    Sleep(65000)
    Else
    Sleep(30000)
    EndIf
    WEnd

    [/autoit]
  • Länge der Variablen-Namen VS Geschwindigkeit

    • eukalyptus
    • 8. November 2009 um 09:56

    Zumindest ist die aktuelle Beta noch immer viel schneller als AutoIt 3.2.4.9!

    Script aus dem ersten Post:

    3.2.4.9:

    Code
    2162
    1854


    3.3.0.0:

    Code
    397
    309


    3.3.1.5 Beta:

    Code
    472
    348
  • Scite4Autoit und Pascal

    • eukalyptus
    • 5. November 2009 um 18:51

    Hallo

    Ich würde gerne den Scite4Autoit Editor auch für Freepascal verwenden.
    Dazu hab ich folgende 2 Dateien heruntergeladen:

    pascal.abbrev

    Spoiler anzeigen
    Code
    asm=asm\n\t|\nend;
    asmfunc=function |(): ; assembler;\nasm\n\t\nend;
    asmproc=procedure |(); assembler;\nasm\n\t\nend;
    arr=array of |;
    arrc=array of const|
    arr1=array [|..] of ;
    arr2=array [|..,..] of ;
    be=begin\n\t|\nend;
    bparr=bitpacked array of |;
    bparrc=bitpacked array of const|
    bparr1=bitpacked array [|..] of ;
    bparr2=bitpacked array [|..,..] of ;
    bprec=| = bitpacked record\n\t\nend;
    cas=case | of\n\t:\nend;
    case=case | of\n\t:\n\telse\nend;
    caso=case | of\n\t:\n\totherwise\nend;
    cls=| = class\nprivate\n\t\npublic\n\t\nend;
    const=constructor |();\nbegin\n\t\nend;
    dest=destructor |();\nbegin\n\t\nend;
    ext=external name '|';
    extc=cdecl; external name '|';
    extp=pascal; external name '|';
    exts=stdcall; external name '|';
    def={$define |}
    ford=for |:= downto  do\n\t;
    fort=for |:= to  do\n\t;
    fordb=for |:= downto  do begin\n\t\nend;
    fortb=for |:= to  do begin\n\t\nend;
    func=function |(): ;\nbegin\n\t\nend;
    gencls=generic |<T> = class\nprivate\n\t\npublic\n\t\nend;
    ifb=if | then begin\n\t\nend;
    ifbe=if | then begin\n\t\nend else begin\n\t\nend;
    ifd={$ifdef |}\n\t\n{$endif}
    ifde={$ifdef |}\n\t\n{$else}\n\t\n{$endif}
    if=if | then ;
    ife=if | then  else ;
    intarr=array of Integer;
    lib=library |;\n\nexports\n\t\nend.\n
    mac={$define |:=}
    mdel={$mode delphi}
    mobj={$mode objfpc}{$H+}
    mtp={$mode tp}
    obj=| = object\nprivate\n\t\npublic\n\t\nend;
    oper=operator |();\nbegin\n\t\nend;
    parr=packed array of |;
    parrc=packed array of const|
    parr1=packed array [|..] of ;
    parr2=packed array [|..,..] of ;
    prec=| = packed record\n\t\nend;
    proc=procedure |();\nbegin\n\t\nend;
    prog=program |;\n\nbegin\n\t\nend.\n
    prop=property |: read ;
    proprw=property |: read  write ;
    pubal=[public, alias: |];
    rec=| = record\n\t\nend;
    rep=repeat\n\t|\nuntil ;
    whi=while | do ;
    whib=while | do begin\n\t\nend;
    wit=with | do ;
    witb=with | do begin\n\t\nend;
    trye=try\n\t|\nexcept\n\ton  do begin\n\t\t\n\tend;\nend;
    tryef=try\n\ttry\n\t\t|\n\texcept\n\t\ton  do begin\n\t\t\t\n\t\tend;\nfinally\n\t\nend;
    tryf=try\n\t|\nfinally\n\t\nend;
    unit=unit |;\n\ninterface\n\n\nimplementation\n\n\nend.\n
    virabs=virtual; abstract;
    (*=(* | *)
    Alles anzeigen

    pascal.api

    Spoiler anzeigen
    Code
    // Reserved words
    absolute
    and
    array
    asm
    at
    begin
    Break
    case
    class
    const
    constructor
    Continue
    default
    destructor
    div
    do
    downto
    else
    end
    except
    exports
    false
    finalization
    finally
    for
    function
    generic
    goto
    if
    implementation
    in
    index
    inherited
    initialization
    interface
    is
    label
    library
    mod
    name
    nil
    not
    object
    of
    on
    operator
    or
    otherwise
    out
    packed
    private
    procedure
    program
    property
    protected
    public
    published
    raise
    record
    reintroduce
    repeat
    Self
    set
    shl
    shr
    specialize
    then
    threadvar
    to
    true
    try
    type
    unit
    until
    uses
    var
    variant
    while
    with
    xor
    // Modifiers
    abstract
    alias
    assembler
    cdecl
    cppdecl
    export
    external
    far
    far16
    forward
    inline
    local
    nostackframe
    oldfpccall
    overload
    override
    pascal
    register
    safecall
    softfloat
    stdcall
    virtual
    // Types
    AnsiString
    Boolean
    Byte
    ByteBool
    Cardinal
    Char
    Comp
    Currency
    Extended
    File
    Double
    DWord
    HRESULT
    Int64
    Integer
    LongBool
    LongInt
    LongWord
    PBoolean
    PByte
    PChar
    PComp
    PLongWord
    Pointer
    PPChar
    PtrInt
    PtrUInt
    Real
    QWord
    ShortInt
    ShortString
    Single
    SizeInt
    SizeUInt
    SmallInt
    String
    TDateTime
    Text
    UInt64
    UTF8String
    ValReal
    ValSInt
    ValUInt
    Word
    WordBool
    // Variables
    Argc
    Argv
    CmdLine
    ErrOutput
    Input
    Output
    StdErr
    StdOut
    Result
    // Constants
    DirectorySeparator
    DriveSeparator
    LineEnding
    PathSeparator
    // Standard units
    Classes
    Crt
    DateUtils
    Dos
    DynLibs
    GetOpts
    Graph
    Keyboard
    Math
    Matrix
    MMX
    Mouse
    Objects
    Printer
    Sockets
    Strings
    StrUtils
    System
    SysUtils
    Video
    // Functions/Procedures
    Addr(X: TAnytype): Pointer;
    Align(Addr: PtrUInt; Alignment: PtrUInt): PtrUInt;
    Align(Addr: Pointer; Alignment: PtrUInt): Pointer;
    Append(var t: Text);
    Assert(Expr: Boolean);
    Assert(Expr: Boolean; const Msg: String);
    Assign(var f: File; const Name: String);
    Assign(var f: File; p: PChar);
    Assign(var f: File; c: Char);
    Assign(var f: TypedFile; const Name: String);
    Assign(var f: TypedFile; p: PChar);
    Assign(var f: TypedFile; c: Char);
    Assign(var t: Text; const s: String);
    Assign(var t: Text; p: PChar);
    Assign(var t: Text; c: Char);
    Assigned(P: Pointer): Boolean;
    Chr(b: Byte): Char;
    Close(var f: File);
    Close(var t: Text);
    CompareByte(const buf1; const buf2; len: SizeInt): SizeInt;
    CompareChar(const buf1; const buf2; len: SizeInt): SizeInt;
    CompareChar0(const buf1; const buf2; len: SizeInt): SizeInt;
    CompareWord(const buf1; const buf2; len: SizeInt): SizeInt;
    CompareDWord(const buf1; const buf2; len: SizeInt): SizeInt;
    Dec(var x: TOrdinal);
    Dec(var x: TOrdinal; Decrement: TOrdinal);
    Dispose(P: Pointer);
    Dispose(P: TypedPointer; Des: TProcedure);
    EOF(var f: File): Boolean;
    EOF(var f: Text): Boolean;
    Exclude(var S: TSetType; E: TSetElement);
    Exit(const X: TAnyType);
    FillByte(var x; count: SizeInt; value: Byte);
    FillChar(var x; count: SizeInt; value: Boolean);
    FillChar(var x; count: SizeInt; value: Byte);
    FillChar(var x; count: SizeInt; value: Char);
    FillDWord(var x; count: SizeInt; value: DWord);
    FillWord(var x; count: SizeInt; value: Word);
    Move(const source; var dest; count: SizeInt);
    MoveChar0(const buf1; var buf2; len: SizeInt);
    Flush(var t: Text);
    Frac(d: ValReal): ValReal;
    FreeMem(p: Pointer; Size: PtrInt);
    FreeMem(p: Pointer): PtrInt;
    GetMem(var p: Pointer; Size: PtrInt);
    GetMem(Size: PtrInt): Pointer;
    Halt(errnum: Byte);
    Hi(b: Byte): Byte;
    Hi(i: Integer): Byte;
    Hi(w: Word): Byte;
    Hi(l: LongInt): Word;
    Hi(l: DWord): Word;
    Hi(i: Int64): DWord;
    Hi(q: QWord): DWord;
    High(Arg: TypeOrVariable):TOrdinal;
    Inc(var X: TOrdinal);
    Inc(var X: TOrdinal; Increment: TOrdinal);
    Include(var S: TSetType; E: TSetElement);
    IOResult(): Word;
    Length(const S: String): LongInt;
    Lo(b: Byte): Byte;
    Lo(i: Integer): Byte;
    Lo(w: Word): Byte;
    Lo(l: LongInt): Word;
    Lo(l: DWord): Word;
    Lo(i: Int64): DWord;
    Lo(q: QWord): DWord;
    Low(Arg: TypeOrVariable):TOrdinal;
    New(var P: Pointer);
    New(var P: Pointer; Cons: TProcedure);
    Ord(X: TOrdinal): LongInt;
    ParamCount();
    ParamStr(l: LongInt): String;
    Pred(X: TOrdinal): TOrdinal;
    Random(l: LongInt): LongInt;
    Random(l: Int64): Int64;
    Randomize();
    Read(Args: Arguments);
    Read(var F: Text; Args: Arguments);
    ReadLn(Args: Arguments);
    ReadLn(var F: Text; Args: Arguments);
    Reset(var f: File; l: LongInt);
    Reset(var f: File);
    Reset(var f: TypedFile);
    Reset(var t: Text);
    Rewrite(var f: File; l: LongInt);
    Rewrite(var f: File);
    Rewrite(var f: TypedFile);
    Rewrite(var t: Text);
    Round(d: ValReal): Int64;
    SetLength(var p: Pointer; Size: PtrInt);
    SizeOf(X: TAnyType): LongInt;
    Sqr(l: LongInt): LongInt;
    Sqr(l: Int64): Int64;
    Sqr(l: QWord): QWord;
    Sqr(d: ValReal): ValReal;
    Sqrt(d: ValReal): ValReal;
    Succ(X: TOrdinal): TOrdinal;
    Trunc(d: ValReal): Int64;
    Write(Args: Arguments);
    Write(var F: Text; Args: Arguments);
    WriteLn(Args: Arguments);
    WriteLn(var F: Text; Args: Arguments);
    Alles anzeigen

    Wie muß ich damit nun machen?
    Reichen diese für eine Art Autovervollständigung?
    Und wie weise ich z.b. Types und Functions unterschiedliche Farben zu?
    Wo trage ich den Compiler ein?
    Gibt es sonst noch was zu beachten?

    Hoffe, es kann mir jemand helfen...

    Danke
    E

  • 3D-Konstrunktions-Engine für den Möbelbau mit Autoit möglich?

    • eukalyptus
    • 3. November 2009 um 21:44

    Ich war 4 Jahre lang CNC-Fräser in einer Möbeltischlerei.
    Wir hatten das so gelöst, daß die Stückliste per Hand geschrieben wurde (weiß jetzt leider das Optimierungsprogramm nicht mehr), z.b.:

    Zitat

    1 HA-L 2000 500 19...
    1 HA-R 2000 500 19...
    1 BO-O 962 479 19...
    5 FA 962 470 19...
    1 BO-U 962 479 19...


    und eine Software hat daraus berechnet, wie die einzelnen Teile gefräst werden müssen.
    Incl. Reihenlochbohrung, Türbänderbohrung, Rückwandnut, Dübelbohrungen, Offset für verschiedene Kantenstärken usw...

    Da kam es natürlich immer zu Problemen, besonders bei Spezialfällen...
    Deshalb wollte ich damals schon so eine Software, wie du sie vorhast, schreiben :)

    Wenn du die Darstellung nicht unbedingt 3D haben willst, sondern nur Dreitafelprojektion, dann geht das mit GDI+ eigentlich ganz einfach.

    Bei 3D muß ich leider passen...

    zumindest würd ich gerne etwas mithelfen;)

    mfgE

    Edit: Nein XNC kenn ich nicht, aber das Ausgabeformat kann ja beliebig sein, denk ich mal...

  • Mikrofon

    • eukalyptus
    • 3. November 2009 um 21:16

    Nein, mit dieser Funktion kannst du nur Audiodateien aus dem internet öffnen und abspielen (http://www.xy.com/abc.mp3)

    Wenn du mein kurzes Beispiel schon nicht mehr durchblickst, dann wird das wohl mit der Echtzeitübertragung nichts werden ;)

    Vielleicht findest du eine fertige DLL die sowas kann, incl. senden und empfangen
    Such mal auf Sourceforge, Codeproject & Co

  • 3D-Konstrunktions-Engine für den Möbelbau mit Autoit möglich?

    • eukalyptus
    • 3. November 2009 um 21:09

    Arbeitet die CNC-Maschine zufällig mit WoodWop?

  • Mikrofon

    • eukalyptus
    • 3. November 2009 um 19:34

    Hier mal ein ganz einfaches Beispiel um an die MP3-Daten zu kommen:

    [autoit]

    #include <BassEnc.au3>

    [/autoit][autoit][/autoit][autoit]

    Global $hBassDll = DllOpen("bass.dll")
    Global $hBassEncDll = DllOpen("bassenc.dll")

    [/autoit][autoit][/autoit][autoit]

    _BASS_RecordInit($hBassDll, -1)
    Global $hRecHandle = _BASS_RecordStart($hBassDll, 44100, 2, 0, "Bass_Callback_Rec")
    _BASS_Encode_Start($hBassDll, $hBassEncDll, $hRecHandle, 'lame -r -x -b128 - - ', 0, "Bass_Callback_Enc")

    [/autoit][autoit][/autoit][autoit]

    While 1
    Sleep(10)
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func Bass_Callback_Rec($handle, $buffer, $length, $user)
    Return 1
    EndFunc ;==>Bass_Callback_Rec

    [/autoit][autoit][/autoit][autoit]

    Func Bass_Callback_Enc($handle, $channel, $buffer, $length, $user)
    Local $tempbuffer = DllStructCreate("byte[" & $length & "]", $buffer) ;???
    ConsoleWrite("MP3-Daten " & $length & " " & StringLeft(DllStructGetData($tempbuffer, 1), 80) & @LF)
    EndFunc ;==>Bass_Callback_Enc

    [/autoit]


    (Das StringLeft ist nur wegen der Darstellung drinnen!)

    Allerdings bricht das Script nach einiger Zeit ab, da Autoit zu langsam für solche Callbacks ist!?
    Um das zu beheben, muß man die Callback-Funktion in eine externe DLL auslagern (ich schreib diese z.b. in Freepascal)
    Dazu hab ich mir jedoch noch keine weiteren Gedanken gemacht, wie man dann die Mp3-Daten am besten in das Script bekommt ;)

    Ein paar Sekunden läuft das Script ja auch mit internem Callback für erste Testläufe ;)

    lame.exe wird benötigt!

    lgE


    Edit:

    Beim Empfänger muß man die Daten dann in einen PushStream füttern, in etwa so (NICHT GETESTET):

    [autoit]

    _BASS_Init($hBassDll, 0, -1, 44100, 0, "")
    Global $hStream = _BASS_StreamCreate($hBassDll, 44100, 2, 0, $STREAMPROC_PUSH, "")
    ...
    ...
    ...
    $tempbuffer = DllStructCreate("byte[4096]")
    DllStructSetData($tempbuffer, 1, $Data)
    _BASS_StreamPutData($hBassDll, $hStream, DllStructGetPtr($tempbuffer), 4096)

    [/autoit]
  • Mikrofon

    • eukalyptus
    • 3. November 2009 um 08:19

    Hi

    mit Bass.dll und BasEnc.dll kannst du den Mikrofoneingang direkt als MP3 an einen Shoutcast oder Icecast-Server schicken und auf der Gegenseite auch wieder empfangen und abspielen.
    Das geht dann mit etwa 2 bis 7 Sekunden Verzögerung.

    Dazu benötigst du aber einen Icecast-Server.
    Wie man so einen einrichtet weiß ich leider nicht, aber die Scripte selber sind nicht so schwierig.

    evtl. findest du auch einen gratis Icecast Anbieter...


    Eine zweite Möglichkeit:
    Auch mit den Bass Dll´s kann man die MP3-Daten direkt an das Script in 4096Byte-Paketen übergeben...
    Diese könnte man dann via TCP versenden und an der Gegenseite wieder zusammenfügen.

    Das ist aber wesentlich complexer!

    lgE

  • SuperMario LevelEditor

    • eukalyptus
    • 29. Oktober 2009 um 12:58

    Ich hab jetzt mal versucht den Leveleditor so zu gestalten, daß man schneller navigieren (auch zwischen den Sublevels) kann.

    Diese Version ist nur zu Testzwecken und wird wahrscheinlich demnächst komplett neu geschrieben werden!
    Deshalb bitte ich um Verbesserungsvorschläge und Bugreport!

    Download: SuperMario Gameplay und Download

    lgE

  • Zahlensysteme ausrechnen

    • eukalyptus
    • 29. Oktober 2009 um 10:41

    Hat Prog@ndy auch mal was geschrieben:

    Spoiler anzeigen
    [autoit]

    ;===============================================================================
    ;
    ; Function Name: _TranslateSystem
    ; Description:: Wandelt eine Zahl zwischen verschiedenen Zahlensystemen um.
    ; Parameter(s): $zahl - Die Zahl zum Umwandeln
    ; $OldSystem - [Optional] Das alte System (Default: 10)
    ; $NewSystem - [Optional] Das neue System (Default: 2)
    ; Requirement(s):
    ; Return Value(s): Success: Number in new format and @extended set to SystemBase
    ; Error: -1.#NAN or -1.#IND
    ; @error set to:
    ; 1 - Zahl nicht richtig formatiert
    ; 2 - neues System nicht im darstellbaren Bereich
    ; 3 - altes System nicht im darstellbaren Bereich
    ; 4 - Zahl enthält Zeichen, die nicht im System vorkommen
    ; Author(s): Prog@ndy; sd (VB-Code)
    ; VB source used from http://www.vbarchiv.net/tipps/details.php?id=1590
    ;
    ;===============================================================================
    ;
    Func _TranslateSystem($zahl, $OldSystem=10, $NewSystem = 2)
    Local $out ;' Ausgabevariable
    Local $temp ;' Temporäre Variable
    $OldSystem = Int($OldSystem)
    $NewSystem = Int($NewSystem)
    Select
    Case Not StringRegExp($zahl,"\A[0-9a-zA-Z]+\Z")
    Return SetError(2,0,"-1.#NAN")
    Case $NewSystem < 2 Or $NewSystem > 62
    Return SetError(2,0,"-1.#IND")
    Case $OldSystem < 2 Or $OldSystem > 62
    Return SetError(3,0,"-1.#IND")
    EndSelect
    ;' Zeichen der Zahlensysteme ( bis Hexadezimalsystem )
    Local $chrsys = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

    If $OldSystem <> 10 Then
    Local $CaseSense = ($OldSystem > 36)
    Local $ziffern = StringSplit($zahl,""), $nummer
    $zahl = 0
    For $i = 1 To $ziffern[0]
    $nummer = StringInStr($chrsys,$ziffern[$i],$CaseSense,1)
    If $nummer > 0 Then $zahl += ($nummer-1)*($OldSystem^($ziffern[0]-$i))
    If $nummer > $OldSystem Then Return SetError(4,0,"1.#NAN")
    Next
    EndIf

    ;' Solange bis Zahl = 0
    While $zahl <> 0
    ;' Stelle der Zahl ermitteln
    $temp = Mod($zahl, $NewSystem )
    ;' Zahl anhängen
    $out = StringMid($chrsys, $temp + 1, 1) & $out
    ;' Integerdivision
    $zahl = Int($zahl / $NewSystem)
    Wend
    SetExtended($NewSystem)
    Return $out
    EndFunc

    [/autoit]
  • SuperMario Gameplay und Download

    • eukalyptus
    • 18. Oktober 2009 um 04:03

    Siehe Post 39...

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™