#include "windows.bi" #include "vbcompat.bi" #Ifndef False Const False=0, True=Not False #endif 'Original von Sebastian 'http://www.freebasic-portal.de/index.php?s=code&id=3 '+-----------------------------------------------------------------------------------+ '| Header: Bestimmen der Übergabeparameter | '| AnzeigeCheck:|Il1 sind:Alt-0124, Großes i, kleines L, Eins „ä”öüáߎę֚Üñ±ø°¸©| Const Autor="lu.bas v1.0 (c)2012 by ytwinky, MD"' | '| (Tastenkombination: keine) | '| Zweck : Ausgabe des angemeldeten Benutzers mit diversen Optionen | '| Getestet mit dem aktuellen fbc und der aktuellen FBIDE | '+-----------------------------------------------------------------------------------+ '(Anmerkung zu den Sonderzeichen: zuerst steht das DOS-Zeichen, danach das Windowszeichen) 'ytwinky-version: Sebastians Programm als String-Function.. Function LoggedUser() As String Static As Integer PufferLaenge=255 'wieviel Speicher soll's denn sein? Dim UserPtr As ZString Ptr=Allocate(PufferLaenge) 'Bereich deklarieren und reservieren Function=*IIF(GetUserName(UserPtr, @PufferLaenge), UserPtr, @"*Fehler*")'Wichtig: nicht Return!! Deallocate UserPtr '..erst muß ja noch der reservierte Platz freigegeben werden.. End Function Var CrLf=!"\r\n", Msg="Aktueller Benutzer: ", Halt=TRUE 'Kein Sleep am Ende erforderlich ROFL If __FB_ARGC__ >1 Then Halt=FALSE Select Case lcase(Command(1)) Case "/?", "/h", "-?", "-h", "--hilfe" Msg=Autor &!"\nAufruf:\nLU [u.a. /?]|[/1]|[/0]|[/d]\nWobei:\n" Msg &="/? nur EINE M”glichkeit ist, diese Seite zu bekommen(/?, /h, -?, -h, --hilfe)" Msg &=!"\n/e Die Ausgabe wird in eine Zeile geschrieben(z.B. fr LOGs etc.)\n" Msg &=!"/u nur der Benutzername wird ausgegeben(z.B. für Automatisierungen)\n" Msg &=!"/t gibt auch Datum und Uhrzeit aus[tt.mm.jjjj hh:mm:ss](setzt /1)\n" Msg &=!"/j gibt auch Datum und Uhrzeit aus[jjjj-mm-tt hh:mm:ss](setzt /1)\n" Print Msg &"Irgendein Parameter(z.B. w) unterdrckt GetKey am Ende(nicht bei Hilfe).."; End 194 Case "/e": CrLf="" Case "/u": Msg="": CrLf="" Case "/t": Msg=Format(Now(), "dd.mm.yyyy hh:mm:ss ") &Msg: CrLf="" Case "/j": Msg=Format(Now(), "yyyy-mm-dd hh:mm:ss ") &Msg: CrLf="" End Select End If Print Msg &CrLf &LoggedUser(); If Halt Then GetKey End