Aus einer mehrzeiligen Eingabe eine HTML Tabelle generieren

Für allgemeine Fragen zur Programmierung mit PureBasic.
Decoy
Beiträge: 1
Registriert: 15.01.2005 15:28
Kontaktdaten:

Aus einer mehrzeiligen Eingabe eine HTML Tabelle generieren

Beitrag von Decoy »

Servus,
also ich habe folgendes Problem.:

Ich bastel an einem Programm, wo ein mehrzeiliges Texteingabefeld ist.
Aus einer Mitgliederliste möchte ich alle mitglieder kopieren, in das Feld einfügen, und dann mit einer ForEach schleife ein HTML statusfile generieren.

Die Usertabelle ist wie folgt angelegt,
Name Punkte Status

nick1 75 Mitglied
nick2 83 Mitglied
nick3 91 Mitglied
...

Dabei stellen sich mir folgende Probleme:
- Wenn ich das ins Textfeld Copy&Paste wird nur eine Zeile reinkopiert...
- Mit welchen Befehlen könnte ich in einer Schleife Wert für Wert und zeile für Zeile auslesen und dadurch ein HTML File generieren ?
Also das er ab dem Leerzeichen den darauffolgenden Wert als neuen erkennt, und diesen anders handhabt ? Und für eine neue Zeile ein <br>
einsetz ? (Bei PHP gibt es ja den nl2br() Befehl, gibts hier was ähnliches ?)
- Und wie könnte ich dann entweder nach Namen oder nach Punkten Sortieren lassen ? :)

Sorry wenn ich euch durch unwissenheit löcher in den Bauch frage, ich bin für jede hilfe dankbar.

mfg, Decoy
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

Um den Zeilenumbruch zu erkennen: im String nach Chr(10)+Chr(13) suchen.

Um die jeweiligen Worte/Einträge zwischen den Leerzeichen zu filtern: StringField() verwenden.
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

Also zuerst musst du das einlesen, da hab ich dich nicht ganz verstanden wie du das handhaben möchtest, also ob eine Datei hast, die dann eingelesen werden soll, oder irgendwas anderes. Erläutere das am besten nochmal.

Edit: Muss mich korriegieren, folgendes ist nicht gerade der einfachste Weg, über diesem Post stehts besser, StringField() kannte ich noch gar nicht...
Dann musst du, um die Werte zu trennen nach Leerzeichen suchen (Chr(32)), dir die Position merken, und mit Mid den String rausholen, der zwischen zwei Leerzeichen ist. Dann setzt du die Startposition auf den letzten Fundort, und suchst ab da wieder nach einem Leerzeichen.
Die Werte speicherst du dann einfach in ein Array oder eine LinkedList, die du dann auch sortieren kannst.


Um einen zeilenumbruch mit <br> zu ersetzen machst du einfach ReplaceString(String, #CRLF$, "<br>") oder liest die Datei (falls du es über eine Datei machst) gleich Zeilenweise ein und fügst hinten ein "<br>" dazu.

Edit: #CRLF$ ist Chr(10)+Chr(13) und ReplaceString(blablabla) entspricht damit dem nl2br() von PHP


Viel Glück!
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Um einen zeilenumbruch mit <br> zu ersetzen machst du einfach
> ReplaceString(String, #CRLF$, "<br>")

bitte von Anfang an richtigerweise <br /> schreiben.
Dann klappt's später auch mit einem eventuellen XHTML ;)

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

Ich hab <br> verwendet, weil ich davon ausging, dass er noch HTML 4 schreibt.
Da ist <br /> falsch, soweit ich weiß, auch wenns von den Browsern verstanden wird.
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Antworten