Re: Subroutine in Subroutine aufrufen - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Ralf (143 Beiträge) am Freitag, 23.April.2004, 13:39.
    Re: Subroutine in Subroutine aufrufen

      Na klar, dafür ist es ja auch ne private Variable.... grrr
      Man sollte halt manchmal doch die verrauchten Gehirnwindungen benutzen.

      Danke Dir!!


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Ralf (143 Beiträge) am Freitag, 23.April.2004, 00:52.
    Subroutine in Subroutine aufrufen

      Hallo,

      ich möchte eine Subroutine in einer Subroutine aufrufen. Geht aber irgendwie nicht...


      ####---- Menue Container bereitstellen
      

      sub inhalt_container {get "Container_id==1","templates";
                            while(get_next(templates))
         {out "<tr><td><a href=$BPpfad/document&docID=$docID>$Linkname</td></tr>";}
      }
      

      sub kopf_container {"<table width=90% border=0 cellspacing=0 cellpadding=0 align=center><tr><td class=container_oben> </td></tr><tr><td><table width=100% cellspacing=0 class=container_inhalt>";
      }
      

      sub ende_container {"</table></td></tr></table>";
      }
      

      sub menue {
      &kopf_container;
      &inhalt_container;
      &ende_container;
      }
      

      out menue;

     Antworten

    Beitrag von Sander (8133 Beiträge) am Freitag, 23.April.2004, 10:07.
    Re: Subroutine in Subroutine aufrufen

      probier mal return:

      sub inhalt_container {
         get "Container_id==1","templates";
         while(get_next(templates))
         {
             $rtn.="<tr><td><a href=$BPpfad/document&docID=$docID>$Linkname</td></tr>";
         }
         return $rtn;
      }
       
      sub kopf_container {
      return "<table width=90% border=0 cellspacing=0 cellpadding=0 align=center><tr><td class=container_oben> </td></tr><tr><td><table width=100% cellspacing=0 class=container_inhalt>";
      

      }
       

      sub ende_container {
      return "</table></td></tr></table>";
      }
      

      sub menue {
      $inhalt=&kopf_container;
      $inhalt.=&inhalt_container;
      $inhalt.=&ende_container;
      return $inhalt;
      }
       
      out menue;
      


      oder gleich out, was wohl übersichtlicher ist.

      sub inhalt_container {
          get "Container_id==1","templates";
          while(get_next(templates))
         {
               out "<tr><td><a href=$BPpfad/document&docID=$docID>$Linkname</td></tr>";
          }
      

      }
       
      sub kopf_container {
      out "<table width=90% border=0 cellspacing=0 cellpadding=0 align=center><tr><td class=container_oben> </td></tr><tr><td><table width=100% cellspacing=0 class=container_inhalt>";
      }
       
      

      sub ende_container {
      out "</table></td></tr></table>";
      }
       
      

      sub menue {
      &kopf_container;
      &inhalt_container;
      &ende_container;
      }
      

      &menue; #hier kein out


      Sander

     Antworten

    Beitrag von Ralf (143 Beiträge) am Freitag, 23.April.2004, 11:02.
    Re: Subroutine in Subroutine aufrufen

      Stimmt, wenn man das "out" weglässt, funktioniert es. Danke. Und ich hätte schwören können ich habe es so versucht.

      Aber im Vollbildmodus und der hat so seine Tücken. Ist vielleicht mal was für CB. Man muss zum teil 3mal speichern bis die korrekte Ausgabe erscheint!

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Freitag, 23.April.2004, 13:55.
    Re: Subroutine in Subroutine aufrufen

      Kann ich nix für, das macht Dein Browser oder ein Proxy -> Cache ;-)

     Antworten

    Beitrag von Ralf (143 Beiträge) am Freitag, 23.April.2004, 11:32.
    Re: Subroutine in Subroutine aufrufen

      Hallo Sander nochmal...

      Warum funzt meine private Variable in der Subroutine nicht? Habe auch schon mit local probiert und out weglassen geht auch nicht.

      $kopf_container="<table width=90% border=0 cellspacing=0 cellpadding=0 align=center>
                       <tr><td class=container_oben> $textkopf</td></tr>
                       <tr><td>
                       <table width=100% cellspacing=0 class=container_inhalt>";
      

      $ende_container="</table></td></tr></table>";



      sub inhalt_container {
      my $textkopf="Hallo Welt";
      out "$kopf_container";
      out "$ende_container";
      }
      out inhalt_container;
      

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Freitag, 23.April.2004, 12:47.
    Re: Subroutine in Subroutine aufrufen

      Hallo, Ralf,
      ist doch so, dass das Hauptprogramm das nicht wissen kannn was in $textkopf drin steht, weil halt privat in der Sub und dann die Variable $kopf_container zur Laufzeit ne leere Var textkopf evaluiert.
      Mit nem eval in der Sub gehts auf alle Fälle und auch umgekehrt würde es gehen (also wenn $kopf_container in ner Sub generiert würde), wobei du dann den Var-Inhalt als Parameter übergeben müsstest....

      sub inhalt_container {
      my $textkopf="Hallo Welt";
      my $akopf_container = eval $kopf_container;
      out "$akopf_container";
      out "$ende_container";
      }
      
      sollte das dann richtig bringen....
      HtH
      Ruben

     Antworten

    Beitrag von Ralf (143 Beiträge) am Freitag, 23.April.2004, 13:39.
    Re: Subroutine in Subroutine aufrufen

      Na klar, dafür ist es ja auch ne private Variable.... grrr
      Man sollte halt manchmal doch die verrauchten Gehirnwindungen benutzen.

      Danke Dir!!

     Antworten

    Beitrag von Ralf (143 Beiträge) am Samstag, 24.April.2004, 00:08.
    Re: Subroutine in Subroutine aufrufen

      Neee, hab das gerade getestet. Geht auch nicht. Hab den border extra auf 1 gesetzt. Anzeige Null. Nichts.

      $kopf_container="<table width=90% border=1 cellspacing=0 cellpadding=0 align=center>
                       <tr><td class=container_oben>$textkopf</td></tr>
                       <tr><td>
                       <table width=100% cellspacing=0 class=container_inhalt>";
      

      $ende_container="</table></td></tr></table>";



      sub inhalt_container {
      my $textkopf="Hallo Welt";
      my $akopf_container = eval $kopf_container;
      out "$akopf_container";
      out "$ende_container";
      }
      

      out inhalt_container;

     Antworten


     
 Liste der Einträge von 30751 bis 30901:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.05s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!