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 »

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
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: Name der Workstation?

Beitrag von Bertram Hansen »

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
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Name der Workstation?

Beitrag von Tom »

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: 265
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Name der Workstation?

Beitrag von adrian »

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
es Grüessli

Adrian
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Name der Workstation?

Beitrag von AUGE_OHR »

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: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Name der Workstation?

Beitrag von Tom »

@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: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Name der Workstation?

Beitrag von AUGE_OHR »

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 »

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: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Name der Workstation?

Beitrag von Werner_Bayern »

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

Werner

<when the music is over, turn off the lights!>
Antworten