Re: out <<EOF; ... EOF statt vieler out's... - 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 Oliver (172 Beiträge) am Montag, 14.Mai.2001, 15:56.
    Re: out <<EOF; ... EOF statt vieler out's...

      Danke, danke... :-)

      vielleicht solltest du Seminare geben...

      Bin halt Baseportal- und Perl-Anfänger. Aber ich finde es super, wie du hier auf die einzelnen Probleme eingehst.

      Ich hatte es übrigens zuerst ohne "out" vor "substr" versucht. Hatte aber nicht geklappt.

      Das mit EOF sieht natürlich viel eleganter aus. Werde ich gleich mal ausprobieren.

      Grüße
      Oliver ;-)


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Oliver (172 Beiträge) am Mittwoch, 9.Mai.2001, 15:22. WWW: www.verwitwet.de
    Keine Überschriften in der Detailanzeige. Wie geht das?

      Hallo,

      ich will eine Prosadatenbank aufbauen http://baseportal.de/cgi-bin/baseportal.pl?htx=/alleine/alleine/Prosa

      Und dabei sähe es schöner aus, wenn in der Detailanzeige keine Überschriften angezeigt werden würden. Wie kann ich diese ausblenden?

      Außerdem, kennt jemand noch einen Trick, wie ich standardmäßig den ersten Buchstaben eines Textfeldes größer erscheinen lasse?

      Danke

      Oliver ;-)

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 10.Mai.2001, 21:45.
    Re: Keine Überschriften in der Detailanzeige. Wie geht das?

      Wahrscheinlich musst Du in beiden Fällen <do action=all...> aufgeben und mit <loop> arbeiten:

      <loop code=perl>
      out "Name:".ucfirst($Name);
      </loop>
      

      Gibt Dir z.B. den ersten Buchstaben von $Name immer als Grossbuchstabe aus... Für ausgefuchstere Sachen (grösseren Font o.ä.) musst Du substr()... etc benutzen...

     Antworten

    Beitrag von Oliver (172 Beiträge) am Freitag, 11.Mai.2001, 09:18. WWW: www.verwitwet.de
    Re: Keine Überschriften in der Detailanzeige. Wie geht das?

      Das heißt also, dass ich je eine Seite für die Listenausgabe und eine Seite für die Detailansicht einrichten muss. Und bei beiden mit <loop> arbeiten muss.

      Jetzt muss ich mir nur noch beibringen, wie ich denn beide Seiten verknüpfe. D.h. wie ich von dem jeweiligen Auswählen auf der Listenseite zu der entsprechenden Ausgabe auf der Detailseite komme.

      Gibt es dafür auch eine Dokumentation? Ich bin wohl doch noch ein Anfänger hier bei Baseportal... ;-)

      Aber ich muss mich den anderen hier anschließen: Baseportal ist Klasse !!!

      Grüße
      Oliver ;-)


      P.S.: Ich kämpfe mich gerade durch das Knowware-Heftchen "Perl und CGI". Aber bis ich das wirklich umsetzen kann, wird wohl noch etwas Zeit vergehen...

     Antworten

    Beitrag von Sander (8133 Beiträge) am Freitag, 11.Mai.2001, 12:45.
    Re: Keine Überschriften in der Detailanzeige. Wie geht das?

      um die Seiten mit loop zu verknüpfen lässt du den Link mit generieren.

      <loop>
      
      ...
      <a href="baseportal.pl?htx=/User/Verzeichnis/Template&Id==$_id">Detail</a>
      ...
      </loop>
      

      und die Ausgabeseite

      <loop db=dbname>
      
      ...
      <loop>


      Sander

     Antworten

    Beitrag von Oliver (172 Beiträge) am Samstag, 12.Mai.2001, 12:55. WWW: www.verwitwet.de
    Re: Keine Überschriften in der Detailanzeige. Wie geht das?

      Danke für die Tipps.

      Die Verbindung der Seiten funktioniert jetzt. Nur das mit .ucfirst klappt bei mir nicht. Irgendwas mache ich da noch falsch.

      Ich werde aber noch ein wenig rumprobieren und dann melde ich mich wieder.

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Freitag, 11.Mai.2001, 13:50.
    Re: Keine Überschriften in der Detailanzeige. Wie geht das?

     Antworten

    Beitrag von Oliver (172 Beiträge) am Montag, 14.Mai.2001, 09:22. WWW: www.verwitwet.de
    Lösung: erster Buchstabe groß

      Hallo,

      ich habe über's (schöne) Wochenende mein Wissen in Perl etwas erweitert und die Lösung für das Problem mit dem ersten Buchstaben des Textes herausgefunden 'stolz' :-))

      <loop code=perl>
      out substr($Text,0,0)='<font size="6">'; #vor den ersten Buchstaben wird jetzt der Font-Befehl gesetzt
      out substr($Text,16,0)='</font>'; #nach dem ersten Buchstaben schließe ich den Font-Befehl wieder. Dabei war zu beachten, dass der erste Font-Befehl den ersten Buchstaben weiter nach hinten setzt - daher die "16"
      out "<td>",$Text,"</td>";
      </loop>
      

      Das Ergebnis kann man sich hier ansehen: http://baseportal.de/cgi-bin/baseportal.pl?htx=/alleine/prosa/ausgabe&cmd=all&Id==1 . Ist noch nicht perfekt, aber ich habe mir hier noch einige andere Herausforderungen gestellt, die ich noch angehen will.

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 14.Mai.2001, 11:55.
    Re: Lösung: erster Buchstabe groß

      Das mit dem "substr" ist eine schöne Lösung, aber (wie Du ja schreibst) Du kannst das noch etwas verbessern, da ein Einfügen VOR dem ersten Buchstaben ja eine einfache Ausgabe vor dem eigentlichen Text ist. Damit entfällt auch das mit dem extra Zurechnen der 16 zusätzlichen Buchstaben (ist damit einfacher zu pflegen):

      <loop code=perl>
      substr($Text,1,0)="</font>"; #nach dem ersten Buchstaben den Font-Befehl schliessen.
      out "<td><font size=6>",$Text,"</td>";
      </loop>
      

     Antworten

    Beitrag von Oliver (172 Beiträge) am Montag, 14.Mai.2001, 12:30. WWW: www.verwitwet.de
    Re: Lösung: erster Buchstabe groß

      Das ist für dich vielleicht einfach, aber für mich "hartes Brot"...

      So funktioniert es jedenfalls nicht:

      <loop db=prosa code=perl>
           out "<tr>";
           out "<td>",$Rubrik,"</td>";
           out "</tr>";
           out "<tr>";
           out "<td>",$Titel,"</td>";
           out "</tr>";
           out "<tr>";
           out '<font size="6">'; # auch die "Gänsefüsschen doppelt-einfach andersherum tut es nicht !!
           out substr($Text,1,0)='</font>';
           out "<td>",$Text,"</td>";
           out "</tr>";
           out "<tr>";
           out "<td>",$Autor,"</td>";
           out "</tr>";
           out "<tr>";
           out "<td>",$gefunden,"</td>";
           out "</tr>";
          </loop>
      

      Was ist denn da falsch?

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von Oliver (172 Beiträge) am Montag, 14.Mai.2001, 12:35.
    Re: Lösung: erster Buchstabe groß - Danke ich hab's

      Da war ich wohl ein bisschen vorschnell...

      Die Lösung sieht so aus:

      out substr($Text,1,0)='</font>';
      out "<td>",'<font size="6">',$Text,"</td>";
      

      Danke für den Tipp

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 14.Mai.2001, 14:23.
    Re: Lösung: erster Buchstabe groß - Danke ich hab's

      Was ich nicht verstehe, ist, warum Du noch ein "out" vor dem "substr" hast:

      out substr($Text,1,0)='</font>';
      

      ?? Eigentlich würde ein

      substr($Text,1,0)='</font>';
      

      doch reichen, nicht?

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 14.Mai.2001, 14:29.
    Re: out <<EOF; ... EOF statt vieler out's...

      Noch ein kleiner Tip: Wenn Du viele "out"s hintereinander hast, ist es 1) schneller 2) schöner 3) kürzer und 4) besser wg. der anführungsstriche her, das so zu lösen:

      <loop db=prosa code=perl>
      

      substr($Text,1,0)='</font>';

      out <<EOF;
      <tr>
      <td>$Rubrik</td>
      </tr>
      <tr>
      <td>$Titel</td>
      </tr>
      <tr>
      <td><font size="6">$Text</td>
      </tr>
      <tr>
      <td>$Autor</td>
      </tr>
      <tr>
      <td>$gefunden</td>
      </tr>
      EOF
      

      </loop>

      Ah und noch was ;-) Du kannst in Perl Variablen gleich in doppelte Anführungsstriche reinschreiben, die werden da auch ersetzt, also z.B. sowas:

      out "<td>$Rubrik</td>";
      

      Ist einfacher/kürzer/schöner... ;-)

     Antworten

    Beitrag von Oliver (172 Beiträge) am Montag, 14.Mai.2001, 15:56.
    Re: out <<EOF; ... EOF statt vieler out's...

      Danke, danke... :-)

      vielleicht solltest du Seminare geben...

      Bin halt Baseportal- und Perl-Anfänger. Aber ich finde es super, wie du hier auf die einzelnen Probleme eingehst.

      Ich hatte es übrigens zuerst ohne "out" vor "substr" versucht. Hatte aber nicht geklappt.

      Das mit EOF sieht natürlich viel eleganter aus. Werde ich gleich mal ausprobieren.

      Grüße
      Oliver ;-)

     Antworten


     
 Liste der Einträge von 62400 bis 62550: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.40s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!