Schrift
[thread]12225[/thread]

Formatierte Ausgabe



<< >> 6 Einträge, 1 Seite
ekos
 2008-07-23 12:49
#112473 #112473
User since
2008-07-23
7 Artikel
BenutzerIn
[default_avatar]
Hallo an alle,

ich bin absoluter Anfänger und hab mal ne Frage zur formatierten Ausgabe.

Wenn ich die Ausgabe folgendermaßen schreibe, funktioniert alles wie es soll:

printf "%-40s|%20s",$data1,$data2;

Nun will ich aber eine dynamische Tabelle erstellen, wo die spalten Formatierung variiert, was leider hinkt. Versuchts habe ich es so:

i = Schleifenvariable

printf "%-($i*40)s|%($i*20)s",$data1,§data2;

Ausgegeben wird aber leider nur was in den Gänsefüßchen steht.


Hat einer nen heißen Tipp???
Struppi
 2008-07-23 12:51
#112474 #112474
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
ein heißer Tipp wäre es wenn du uns ein lauffähiges Beispiel zeigst und das dann ohne Tippfehler
pq
 2008-07-23 12:56
#112475 #112475
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
das erste argument fuer sprintf ist das format, das folgende sind die daten.
berechnungen nimmt man gewöhnlich an daten vor. wieso willst du also
die berechnung unbedingt ins format ziehen und nimmst nicht einfach $data1 * 40 etc.?
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
ekos
 2008-07-23 13:09
#112476 #112476
User since
2008-07-23
7 Artikel
BenutzerIn
[default_avatar]
@pq
die Berechnung hat sich auf Formatierung bezogen, aber ich habs einfach nur falsch angewandt. Hat sich somit erledigt :-D

@Struppi
wieso denn gleich so patzig???
Struppi
 2008-07-23 13:11
#112477 #112477
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
Wieso patzig?
Dubu
 2008-07-24 02:01
#112556 #112556
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
ekos+2008-07-23 10:49:16--
Nun will ich aber eine dynamische Tabelle erstellen, wo die spalten Formatierung variiert, was leider hinkt. Versuchts habe ich es so:

i = Schleifenvariable

printf "%-($i*40)s|%($i*20)s",$data1,§data2;

Ausgegeben wird aber leider nur was in den Gänsefüßchen steht.


Ich denke der Stern als Platzhalter für die Länge macht, was du dir vorstellst:
Code (perl): (dl )
printf "%-*s|%*s", ($i*40), $data1, ($i*20), $data2;

<< >> 6 Einträge, 1 Seite



View all threads created 2008-07-23 12:49.