Seite 1 von 1

ProcedureReturn

Verfasst: 31.08.2014 17:29
von svencokg
erst einmal hallo , sind meine ersten schritte - gleich als entschuldigung vorraus :-)

habe ein kleines problem mit ProcedureReturn - und zwar steht in der hilfe das man auch einen string zurückgeben kann
das funktioniert aber nicht :-(

Code: Alles auswählen

Procedure norm(term.s,genauigkeit.i)
  komma_term=FindString(term,".")
  
  If komma_term<>0 
    links_term.s=Left(term,komma_term-1)  
    rechts_term.s=Right(term,Len(term)-komma_term)
  Else
    links_term.s=term
    rechts_term.s=""  
  EndIf
  
  rechts_term=LSet(rechts_term,genauigkeit,"0")
  links_term=RSet(links_term,Len(links_term),"0")
  
  
  ProcedureReturn links_term+"."+rechts_term
  
EndProcedure  
als fehler sagt mir der compiler - procedurereturn erwartet einen numerischen wert - ist das so gewollt und wenn ja , wie bekomme ich einen string zurück ?

__________________________________________________
Code-Tags hinzugefügt
31.08.2014
RSBasic

Re: ProcedureReturn

Verfasst: 31.08.2014 17:40
von ts-soft
Procedure.s oder Procedure$
Mit Codetags:

Code: Alles auswählen

Procedure.s norm(term.s, genauigkeit.i)
  komma_term = FindString(term, ".")

  If komma_term <> 0
   links_term.s = Left(term, komma_term -1)
   rechts_term.s = Right(term, Len(term) - komma_term)
  Else
    links_term.s  = term
    rechts_term.s = ""
  EndIf

  rechts_term = LSet(rechts_term, genauigkeit,  "0")
  links_term  = RSet(links_term,  Len(links_term),  "0")


  ProcedureReturn links_term + "." + rechts_term

EndProcedure
Ausserdem würde ich Dir das EnableExplicit ans Herz legen :)

Gruß
Thomas

Verfasst: 31.08.2014 17:58
von CodeCommander
Du musst deiner Prozedur auch den Typ für Return angeben. Wenn es sich um String handelt der zurückgegeben werden soll dann musst du Procedure.s schreiben:

Code: Alles auswählen

Procedure.s norm(term.s,genauigkeit.i)
  komma_term=FindString(term,".")
 
  If komma_term<>0
    links_term.s=Left(term,komma_term-1)
    rechts_term.s=Right(term,Len(term)-komma_term)
  Else
    links_term.s=term
    rechts_term.s=""
  EndIf
 
  rechts_term=LSet(rechts_term,genauigkeit,"0")
  links_term=RSet(links_term,Len(links_term),"0")
 
 
  ProcedureReturn links_term+"."+rechts_term
 
EndProcedure

Re: ProcedureReturn

Verfasst: 01.09.2014 09:30
von svencokg
Dankeschön ! :D