English
Source / code snippets

several procedure Return values Zurückgebe

 

CompileMarkSeparation
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
 
07/16/07  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

2.361 Views

Untitledvor 0 min.
Normann Strübli02/05/23
rafl05/02/16
Michael Borowiak12/08/11

Themeninformationen

this Topic has 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie