Ga naar inhoud

Computer naam in een variabele


Aanbevolen berichten

Ik zou de computer naam in een variabele willen vangen. Hoe kan ik dat doen. Laten we zeggen, in basic, of in het dBase IV ideoom. (Ik werk met het Clipper ideoom) Met het commando "Net view" <enter> worden de computer-namen (in een dos box) op het scherm gezet. Maar hoe krijg ik die en een variabele? Resumerend: compnam = "computer name". MVG perloc
Link naar reactie
Tja, iets te enthousiast gereageerd! Het werkt zonder meer, maar ik heb later gezien dat het commando: NET VIEW <Enter> niet alleen de eigen computer naam geeft, maar een lijst van alle namen die in een netwerk zitten. (Dat veronderstel ik omdat dit netwerk maar bestaat uit 2 computers en beiden worden weergegeven.) Dus daaruit kan ik niet de naam van de computer halen die ik nodig heb, nl. "deze computer", tenzij die ALTIJD als laatste wordt vermeld. Maar dat kan ik niet testen. Is er aan ander commando / executable die wél en alleen de computernaam ophoest? MVG perloc
Link naar reactie
Elke oplossing heeft zo zijn problemen. Zo ook deze. Het werkt. Zondermeer. Maar helaas, alleen in Win2000 en WinXP. In Win98 en WinME wordt %computername% terug-ge-echoded! Daar heb ik maar "Net config > file.txt" voor gebruikt, want dat werkt weer niet in Win2000 en WinXP, althans geeft niet de computer naam. Dus het is opgelost, zij het niet fraai. Compatibility is ver te zoeken.... MVG, perloc
Link naar reactie
if X%OS%==XWindows_NT echo %COMPUTERNAME% > file.txt Net config >> file.txt en dan alleen de eerste regel inlezen :) (de X%OS% is om te zorgen dat er altijd een string staat, anders zou het in principe problemen kunnen geven) eventueel kan je ook 'net config workstation' of 'net config server' gebruiken op NT platforms, geen idee wat het doet op 9x bakken. Deze laatste is waarschijnlijk de netste oplossing ;)
Link naar reactie
Wat je hier hebt geschreven daar krijg ik niet de computernaam uit. Ik heb een goede oplossing die werkt voor alle vier de Windows: ***************** // Select this computer name. // "Echo %computername%" works only on Win2000 / WinXP, // "Net config" is only usable on Win98 / WinME Run echo %computername% > nview.txt vnet = MemoRead('nview.txt') If upper(vnet) = 'ECHO IS ON' && Opsys = Win98 or WinME Run net config > nview.txt vnet = MemoRead('nview.txt') For i = len(vnet) to 1 step -1 If substr(vnet,i,2) = '\\' For j = i + 2 to len(vnet) If substr(vnet,j,3) = ' ' Exit Else compnam = compnam + substr(vnet,j,1) Endif Next j Exit Endif Next i Else compnam = alltrim(lower(vnet)) Endif *************** Wat ik doe: ik wil mijn programma zo maken dat het werkt in ieder OS en waarvan ieder zelfde of ander OS als SERVER kan fungeren. De computernaam wordt in een listing van gebruikers (op dat moment) getoond, zodat de beheerder van mijn programma kan zien wie waar actief is in het netwerk. Anyway, dank voor de hulp. MVG perloc
Link naar reactie
Nog even twee dingen: - Helaas zijn in het stukje programma hierboven de TABs weggevallen, waardoor het wat moeilijker leesbaar is. - en in je bijzin dat "Goed Nederlands is makkelijker als u denkt" al een taalfout staat (tenzij de nieuwe spelling dit toestaat): met vergelijkende trappen - groter, kleiner, makkelijker, moeilijker wordt het "Goed Nederlands is makkelijker dan u denkt" en bij even groot, klein, dik, dun en makkelijk wordt het "Nederlands is even moeilijk als Portugees" (En daar kan ik van meepraten!) Maar dit terzijde... MVG perloc
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...