Español
Fuente/ Codesnippets

Mehrere Procedimiento Volver Werte Zurückgebe

 

KompilierenMarcaSeparación
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


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.334 Views

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

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