' #include once "windows.bi" 'sowieso erforderlich.. #include "vbcompat.bi" 'erforderlich für Format() #include "crt.bi" 'erforderlich für ArgC(), stammt aus der UrVersion, von yetifoot '+------------------------------------------------------------------------------------------+ '| Header: Bestimmen der Übergabeparameter' | '| AnzeigeCheck:|Il1 sind Alt-0124, Großes i, kleines L, Eins „”᎙šñ¸=äöüßÄÖܱ©| Const Author="Nun.Bas v1.1 ¸2006 by ytwinky, MD"' | '| (Tastenkombination: keine) | '| | '| Zweck : Ersatz für Now.Exe aus dem NT4.0 ResKit(+Verbesserungen und zum Ausprobieren..)| '+------------------------------------------------------------------------------------------+ Declare Sub OemToAnsi Lib "USER32" Alias "OemToCharA" (byVal ASCII As String, byVal ANSI As String) Declare Sub AnsiToOem Lib "USER32" Alias "CharToOemA" (byVal ANSI As String, byVal ASCII As String) Declare Sub Hilfe() Const Esc=27, Program=0 Dim Shared As Integer ArgC, IsConsole, i, Pause Dim Shared As String Meldung, Ausgabe, DatForm, CmdLin Dim As ZString*MAX_PATH Titel="" ArgC=(*__p___argc())-1 DatForm="ddd, dd/mm/yyyy hh:mm:ss" IsConsole=GetConsoleTitle(@Titel, MAX_PATH)>0 'hat volta freundlicherweise herausgefunden ;-)) If Command(1)="/?" Then Hilfe() CmdLin=Command Pause=InStr(lcase(CmdLin), "/p") If Pause Then CmdLin=Left(CmdLin, Pause-1) &Mid(CmdLin, Pause+3) i=Instr(lcase(CmdLin), "/u ") If i Then DatForm=Mid(CmdLin, i+3) CmdLin=Left(CmdLin, Max(1, i-2)) 'Max() habe ich gefunden(in ..\inc\win\windef.bi, da ist auch Min()..) End If i=Instr(CmdLin, "/") If i Then Meldung=Mid(CmdLin, i+3) Else Meldung=CmdLin End If Ausgabe=Format(Now, DatForm) If Command(1)<>"/-" Then Ausgabe+=" " &RTrim(Meldung) Else Ausgabe=Meldung &*IIF(Abs(Pause<>0), @"", @" ") &Ausgabe End If If IsConsole Then Print Ausgabe; If Pause Then Sleep Else OemToAnsi(Ausgabe, Ausgabe) 'Der alte Inhalt von Ausgabe geht verloren, aber es gibt ja AnsiToOem() :D MessageBox(Null, Ausgabe, "Mit -s gui kompiliert", MB_OK) End If End Program ' Sub Hilfe() Meldung=Author &!"\nAusgabe vom aktuellen Datum und der Zeit PLUS einer benutzer-definierten Meldung\n" Meldung+=!"Nun ist ein KonsolenProgramm, es funktioniert aber auch mit -s gui kompiliert..\n" Meldung+=!"Aufruf:\nNun [[/+]|[/-]] [Eine] [Meldung] [..] [/P] [/U ddd, dd.mm.yyyy hh:mm:ss]\n" Meldung+=!"/? wie blich diese kleine Hilfe(wartet immer auf einen Tastendruck) ;-))\n" Meldung+=!"/+ die Meldung wird an die Ausgabe angeh„ngt(Standard)\n/- die Ausgabe wird an die Meldung angeh„ngt\n" Meldung+=!" (/+ oder /- MUSS der erste Parameter(!!) sein)\n[..] soviele Wörter, wie gewnscht..\n" Meldung+=!" /P wartet(bei Konsolen-Ausgabe) auf einen Tastendruck\n" Meldung+=!" /U als 'LETZTER' Parameter dient zur Übergabe eines Formatstrings(s. Referenz)\n" Meldung+=!" (ab /U ist alles EIN Parameter..)" If IsConsole Then AnsiToOem(Meldung, Meldung) 'der alte Inhalt von Meldung geht hierbei verloren, aber es gibt ja OemToAnsi() :D Print Meldung; GetKey Else MessageBox(Null, Meldung, "Hilfe", MB_OK) End If End Esc End Sub '