Andre Prendel andre_prendel@gmx.de writes:
On Wed, Feb 06, 2008 at 04:24:58PM +0100, Frank Gerlach wrote:
Sollen wir hier eine Hausaufgabe machen ? :-)
Nein, ganz und gar nicht.
Ich schaetze dass weniger als 15 Zeilen C genau das gewuenschte tun....
Ich wünsche mir einen generischen Ansatz. Die Daten und die Struktur sind dynamisch. Außerdem will ich die Funktionalität aus verschieden Applikationen nutzen. Mit besagten 15 (eigentlich sind es mehr) Zeilen C mache ich es bisher, allerdings ist das natürlich wenig flexibel.
Um das Rad hier nicht neu zu erfinden, suche ich also nach einer vorhandenen Lösung.
Es sind mehrere zigtausend Zeilen C, aber dafür generisch und mit eigenem Interpreter ("Perl"), der dann das hier kann:
# ------------------------------------------------------------
# Variante 1: # http://search.cpan.org/~lunatic/Text-ASCIITable-0.18/lib/Text/ASCIITable.pm
use Text::ASCIITable;
$t = new Text::ASCIITable; $t->setCols('ID', 'Name','Vorname'); $t->addRow([ [ 1, 'Affe', 'Tiger' ], [ 2, 'Fink', 'Star' ], [ 3, 'Giraffe', 'Loewe' ], ]); print $t;
# .------------------------. # | ID | Name | Vorname | # +----+---------+---------+ # | 1 | Affe | Tiger | # | 2 | Fink | Star | # | 3 | Giraffe | Loewe | # '----+---------+---------'
# ------------------------------------------------------------
# Variante 2: # http://search.cpan.org/~sri/Text-SimpleTable-0.03/lib/Text/SimpleTable.pm
use Text::SimpleTable;
my $t1 = new Text::SimpleTable( 5, 10, 10 ); $t1->row( 1, 'Affe', 'Tiger' ); $t1->row( 2, 'Fink', 'Star' ); $t1->row( 3, 'Giraffe', 'Loewe' ); print $t1->draw;
# .-------+------------+------------. # | 1 | Affe | Tiger | # | 2 | Fink | Star | # | 3 | Giraffe | Loewe | # '-------+------------+------------'
# ------------------------------------------------------------
Steffen