Français
Source/ Codesnippets

plusieurs Procédure Retour Werte Zurückgebe

 

KompilierenMarqueSéparation
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Return: mehrere Return-Werte aus einer Prozedur zurückgeben
 $P+
SetErrorLevel 0
Def GetSysColor(1) !USER32,GetSysColor
SETTRUECOLOR 1
DECLARE ENDE%
DECLARE EDIT1%
DECLARE EDIT2%
DECLARE EDIT3%
DECLARE EDIT4%
DECLARE TEXT1%
DECLARE TEXT2%
DECLARE BUTTON1%
DECLARE LISTE1%
DECLARE TEXT3%,i%
declare string$,getit$,st%
declare gstring$[100] je nach Bedarf - hier mal 100 mögliche Rückgabevariablen ;))))
WINDOWSTYLE 63
WINDOWTITLE Returnwerte aus einer Proc
WINDOW 222,109-371,334
CLS GETSYSCOLOR(15)
USEFONT MS Sans Serif,13,0,0,0,0
SETDIALOGFONT 1

PROC GET_BACKPARA

    PARAMETERS e1$,e2$,e3$,e4$,anz%
    Declare rechnen%,Back1$,back2$,return$
    let rechnen%=add(val(e1$),val(e2$))
    let BACK1$=str$(rechnen%) rechnen% wird in Back1$ zurück übergeben
    let string$=e3$;e4$
    let Back2$=String$ string$ wird in Back2$ zurück übergeben
    und hier werden die Trenner zur späteren Rückwandlung eingefügt:
    let RETURN$=e1$;~;e2$;~;BACK1$;~;e3$;~;e4$;~;BACK2$;~;BlaBlaBla Trenner ist am besten ein ungwöhnliches Zeichen!
    RETURN RETURN$

ENDPROC

EDIT1% = CREATE(EDIT,%HWND,,0010,0032,0036,0020)
EDIT2% = CREATE(EDIT,%HWND,,0067,0032,0036,0020)
EDIT3% = CREATE(EDIT,%HWND,,0011,0080,0130,0018)
EDIT4% = CREATE(EDIT,%HWND,,0153,0080,0130,0018)
TEXT1% = CREATE(TEXT,%HWND,Hier einfach mal 2 zu addierende Zahlen eingeben,0010,0010,0269,0016)
TEXT2% = CREATE(TEXT,%HWND,... und hier einfach zwei Strings die an die Proc übergeben werden,0010,0060,0334,0014)
BUTTON1% = CREATE(BUTTON,%HWND,An Proc übergeben und zurückliefern,0012,0111,0326,0029)
LISTE1% = CREATE(LISTBOX,%HWND,,0011,0173,0328,0106)
TEXT3% = CREATE(TEXT,%HWNDbergabe aus Proc:,0013,0155,0163,0014)
setfocus(Edit1%)

WHILENOT ENDE%

    WAITINPUT

    If @EQU(%KEY,2)

        LET ENDE%= 1

    ELSEIF GETFOCUS(BUTTON1%) BUTTON

        GetMessage Damit nicht 2 mal Buttonklick ausgewertet wird!
        DIES IST NUN DIE AUSWERTUNG (MEHR AUS 1 X RETURN)
        GET_BACKPARA GetText$(Edit1%),GetText$(Edit2%),GetText$(Edit3%),GetText$(Edit4%)
        GETIT$=@$(0) wie üblich nur einen Rückgabewert (werden wir aber überlisten hihihihi ;))) )
        Ab Profan 7.0 mit Clear Gstring[] zur Not leeren
        Hier per Arrays aus 1nem Return beliebig viele Rückgabewerte splitten.
        Gstring$[1]=@SubStr$(GETIT$,1,~) Ist hier Eingabe 1
        Gstring$[2]=@SubStr$(GETIT$,2,~) Ist hier Eingabe 2
        Gstring$[3]=@SubStr$(GETIT$,3,~) Ist hier Summe Eingabe 1 und Eingabe 2
        Gstring$[4]=@SubStr$(GETIT$,4,~) Ist hier Eingabe 3
        Gstring$[5]=@SubStr$(GETIT$,5,~) Ist hier Eingabe 4
        Gstring$[6]=@SubStr$(GETIT$,6,~) Ist zusammengefügte Eingabe 3 und Eingabe 4
        Gstring$[7]=@SubStr$(GETIT$,7,~) Ist hier der Quatsch von mir oben in RETURN
        SetFocus(%hwnd)
        Beispiel Weiterverarbeitung:
        CLEARLIST
        AddString(Liste1%,****** ALLES AUS 1x RETURN **********)
        AddString(Liste1%,ADD$(EINGABE 1: ,Gstring$[1]))
        AddString(Liste1%,ADD$(EINGABE 2: ,Gstring$[2]))
        AddString(Liste1%,ADD$(SUMME 1+2: ,Gstring$[3]))
        AddString(Liste1%,ADD$(EINGABE 3: ,Gstring$[4]))
        AddString(Liste1%,ADD$(EINGABE 4: ,Gstring$[5]))
        AddString(Liste1%,ADD$(ZUSAMMEN : ,Gstring$[6]))
        AddString(Liste1%,ADD$(UNSINN;) : ,Gstring$[7]))

    E
a> ENDWHILE
 
16.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.337 Views

Untitledvor 0 min.
Normann Strübli05.02.2023
rafl02.05.2016
Michael Borowiak08.12.2011

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