Español
Fuente/ Codesnippets

Auslesen Environment Variables

 

KompilierenMarcaSeparación
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Environment-Variablen auslesen
Autor: Michael Wodrich
GetEnvVars$
GetEnv$() von Profan ist zwar sehr gut zum Lesen
einer Environment-Variable, doch wie hieß denn
nun die Variable, die ich auslesen wollte??
Hier hilft GetEnvVars$ weiter. Alle im aktuellen
Environment gespeicherten Variablennamen werden
als ein String zurückgegeben (durch Kommata getrennt).
Def GetEnvX(0)  !kernel32,GetEnvironmentStringsA
Def FreeEnvX(1)  !kernel32,FreeEnvironmentStringsA
Declare Test$
liefert einen Komma-separierten String
mit allen Variablennamen des Environments zurück

Proc GetEnvVars$

    der interne Puffer muß das gesamte Environment abdecken können
    sonst gibt es einen Fehler bezüglich der Bereichsgrenze
    Declare Buf#,EnvAdr&,p&,i&,x$,Erg$,tmp$
    Dim Buf#,16384
    EnvAdr& = GetEnvX()
    Buf# = EnvAdr&  bearbeiten mittels Bereich
    Clear p&,Erg$
    x$ = String$(Buf#,p&)

    While Len(x$) > 0

        i& = InStr(=,x$)

        If i& > 1

            tmp$ = Left$(x$,i& - 1)
            tmp$ = Trim$(tmp$)
            Case Len(tmp$) : Erg$ = Erg$;tmp$;,

        EndIf

        p& = p& + Len(x$) + 1
        x$ = String$(Buf#,p&)

    EndWhile

    Dispose Buf#
    FreeEnvX(EnvAdr&)
    Case Len(Erg$) : Erg$ = Del$(Erg$,Len(Erg$),1)
    Return Erg$

EndProc

Ein Beispiel für die Verwertung der Variablennamen.

Proc ZeigeEnvVars

    Parameters Tst$
    Declare ende%,i%,x$,aus$,x%,y%
    Clear aus$,i%,x%,y%

    Proc WriteLn

        Parameters s$
        DrawText x%,y%,s$
        y%= y% + 18

    EndProc

    Window 0,0 - %MaxX,%MaxY
    WriteLn Die Environment-Variablen der aktuellen Umgebung:
    WriteLn aus$

    WhileNot ende%

        Inc i%
        x$ = SubStr$(Tst$,i%,,)

        If Len(x$)

            If (Len(aus$) + Len(x$) + 2) > (Div&(%MaxX,10) - 4)

                WriteLn aus$
                aus$ = x$

            Else

                If Len(aus$)

                    aus$ = aus$;  ;x$

                Else

                    aus$ = x$

                EndIf

            EndIf

        Else

            ende% = 1

        EndIf

    EndWhile

    WriteLn aus$
    WriteLn *** ENDE ***
    WaitInput

EndProc

Ein Beispiel für die Verwertung der Variablennamen.

Proc ZeigeAlles

    Parameters Tst$
    Declare ende%,i%,x$,y$
    Clear ende%,i%
    ClearList

    WhileNot ende%

        Inc i%
        x$ = SubStr$(Tst$,i%,,)

        If Len(x$)

            y$ = @GetEnv$(x$)
            AddString x$ +  =  + y$

        Else

            ende% = 1

        EndIf

    EndWhile

    ListBox$(Inhalt des Environment,2)

EndProc

Test$ = GetEnvVars$()
ZeigeEnvVars Test$
='./../../function-references/XProfan/zeigealles/'>ZeigeAlles Test$
End
 
15.07.2007  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

2.270 Views

Untitledvor 0 min.
RudiB.27.10.2021
rquindt26.07.2015

Themeninformationen

Dieses Thema ha 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie