Hi,
ich würde gern einen Text in tabellenform in der Konsole ausgeben. Das stelle ich mir in etwa so vor.
+---+-----+-----+ | 1 | Foo | Bar | +---+-----+-----+ | 2 | Foo | Bar | +---+-----+-----+ | 3 | Foo | Bar | +---+-----+-----+
Kennt hier jemand eine Bibliothek, welche das in der Form kann. Die Lib sollte in C geschrieben sein. Super wäre auch, wenn es die für die Standard-Distros gebe. Notfalls tut's auch ein Konsolentool ala Boxes. Dieses scheint mir allerdings für die tabellarische Ausgabe nicht geeignet.
Gruß Andre
Sollen wir hier eine Hausaufgabe machen ? :-) Ich schaetze dass weniger als 15 Zeilen C genau das gewuenschte tun....
On Feb 6, 2008 3:51 PM, Andre Prendel andre_prendel@gmx.de wrote:
Hi,
ich würde gern einen Text in tabellenform in der Konsole ausgeben. Das stelle ich mir in etwa so vor.
+---+-----+-----+ | 1 | Foo | Bar | +---+-----+-----+ | 2 | Foo | Bar | +---+-----+-----+ | 3 | Foo | Bar | +---+-----+-----+
Kennt hier jemand eine Bibliothek, welche das in der Form kann. Die Lib sollte in C geschrieben sein. Super wäre auch, wenn es die für die Standard-Distros gebe. Notfalls tut's auch ein Konsolentool ala Boxes. Dieses scheint mir allerdings für die tabellarische Ausgabe nicht geeignet.
Gruß Andre
Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd
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.
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
lug-dd@mailman.schlittermann.de