Name der Workstation?

Still in use?

Moderator: Moderatoren

Antworten
Benutzeravatar
Magic
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 343
Registriert: Mo, 11. Jul 2011 12:01

Name der Workstation?

Beitrag von Magic » Fr, 25. Nov 2011 15:06

Hi,

führe gerade Änderungen im Uralt Programm durch :roll:
Wie kriege ich unter Clipper den Namen / Bezeichnung der Wirkstation raus :?:
Funktion? Tools?

Vielen Dank schon mal im Voraus!
Gruß,
Magic

Benutzeravatar
Bertram Hansen
1000 working lines a day
1000 working lines a day
Beiträge: 693
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 53902 Bad Münstereifel
Kontaktdaten:

Re: Name der Workstation?

Beitrag von Bertram Hansen » Fr, 25. Nov 2011 15:21

Hallo Magic,

versuch es mal mit:
NETNAME() -> gibt den Namen der Workstation, unter dem sie im Netz bekannt ist, als Zeichenkette aus bis zu 15 Zeichen zurück. Wenn dieser Name nicht definiert wurde oder wenn die Programmumgebung kein IBM PC Netzwerk ist, gibt die Funktion eine leere Zeichenkette ("") zurück.
:wave:
Gruß Bertram
http://www.tobax.de

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 7287
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: Name der Workstation?

Beitrag von Tom » Fr, 25. Nov 2011 16:15

Das Kommandozeilentool "SET" liefert alle Environment-Variablen, darunter "COMPUTERNAME", also den Namen der Workstation. Wenn man z.B. "SET > SETTINGS.TXT" ausführen lässt, entsteht eine Datei "SETTINGS.TXT", die alle Variablen enthält. Die kann man dann analysieren, was auch noch mit Clipper möglich sein dürfte. Keine Ahnung, ob Clipper ansonsten Funktionen für Environment-Variablen kennt, aber möglich isses.
Herzlich,
Tom

Benutzeravatar
adrian
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 190
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG
Kontaktdaten:

Re: Name der Workstation?

Beitrag von adrian » Fr, 25. Nov 2011 16:51

Bei uns sieht dies wie folgt aus:

Code: Alles auswählen

sName := UPPER(GETENV(IF("RDP-TCP"$UPPER(GETENV("SESSIONNAME")),"CLIENTNAME","COMPUTERNAME")))
Dadurch wird dies auch bei Remotedesktop korrekt ausgegeben.

adrian

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11424
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Name der Workstation?

Beitrag von AUGE_OHR » Fr, 25. Nov 2011 19:15

Bertram Hansen hat geschrieben:versuch es mal mit:
NETNAME()
richtig ... aber es ist kein Xbase++ Funktion ;)

Code: Alles auswählen

#include "DLL.CH"

PROC MAIN
CLS
a := NETNAME()
? a
RETURN

FUNCTION NETNAME()
  LOCAL nDll, cName:= SPACE(255), nSize:= 255, cReturn:=''
  nDll := DllLoad("kernel32.dll")
  IF nDll <> 0
    IF !EMPTY(DllCall(nDll,DLL_STDCALL,"GetComputerNameA",@cName,@nSize))
      cReturn:= LEFT(cName,nSize)
    ENDIF
    DllUnload( nDll )
  ENDIF
RETURN(cReturn)
p.s. "COMPUTERNAME" aus dem Environment auszulesen funktioniert ... aber das kann der User "ändern" ...
gruss by OHR
Jimmy

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 7287
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: Name der Workstation?

Beitrag von Tom » Sa, 26. Nov 2011 10:05

@Jimmy: Geht ja auch um Clipper. Deshalb findet die Diskussion auch im Clipper-Unterforum statt. :wink:
Herzlich,
Tom

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11424
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Name der Workstation?

Beitrag von AUGE_OHR » Sa, 26. Nov 2011 20:33

Tom hat geschrieben:@Jimmy: Geht ja auch um Clipper. Deshalb findet die Diskussion auch im Clipper-Unterforum statt. :wink:
uuuuupppssss ... ok unter Cl*pper gibt es schon Netname() "fertig".
gruss by OHR
Jimmy

Benutzeravatar
Magic
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 343
Registriert: Mo, 11. Jul 2011 12:01

Re: Name der Workstation?

Beitrag von Magic » Mo, 28. Nov 2011 9:13

Guten Morgen!

NETNAME() ist für mein Anliegen das Richtige.

Danke :!:
Gruß,
Magic

Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1541
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern

Re: Name der Workstation?

Beitrag von Werner_Bayern » Mi, 21. Mär 2012 14:32

Servus Adrian,

super Lösung, top! =D>
Danke.
adrian hat geschrieben:sName := UPPER(GETENV(IF("RDP-TCP"$UPPER(GETENV("SESSIONNAME")),"CLIENTNAME","COMPUTERNAME")))
es grüßt euch

Werner

Antworten