Français
Source/ Codesnippets

Lecture Environment Umgebungs Variablen

 

KompilierenMarqueSéparation
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Umgebungs-Variablen auslesen (Environment)
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$
Fin
 
15.07.2007  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

2.617 Views

Untitledvor 0 min.
rquindt26.07.2015
RudiB.07.02.2013

Themeninformationen

cet Thema hat 1 participant:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie