Txt2Html (kleines Tool)

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

 

Michi

Betreff: Txt2Html (kleines Tool)

BeitragDo, Feb 24, 2005 18:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe mit der Demo von B+ ein kleines Tool gebastelt, das eine *.txt lädt und in eine *.html "umformt".
Das Ganze lädt also die datei, liest sie zeile für zeile, ersetzt Umlaute, ", &, <, >, ß, € durch die jeweiligen Html-Codes und setzt am Ende der Zeile noch <br>.
Ich habs in zwei tagen geschrieben, weil ich bei meiner HomePage bei längeren Texten immer besagtes <br> vergessen habe. Da ich es mit der Demo natürlich nicht compilieren konnte (evntl. hat ja einer B+ Besitzer Langeweile und machts für mich), hier der Code:

Code: [AUSKLAPPEN]

Global AusgangsDatei
Global ZielDatei
Global Datei1$
Global Datei2$
Global Dateiname$
Global temp$

Repeat
Datei1$=RequestFile("Ausgangsdatei", "txt")
If Datei1$="" Then
   If Confirm("Es muss eine Ausgangsdatei ausgewählt werden!"+Chr$(13)+"Soll das Programm beendet werden?", 1)=1 Then End
EndIf

Until Datei1$>0

Datei2$=RequestDir("Zielordner")
window1=CreateWindow("Dateiname", 412, 284, 200, 150)
Textfield=CreateTextField(0, 25, 200, 20, window1, 65536)
SetGadgetText Textfield, "Ziel"
label=CreateLabel("Name der Zieldatei (ohne Endung):", 0, 0, 200, 25, window1, 0)
Endschalter=CreateButton("OK", 0, 55, 200, 25, window1, 1)

Repeat
Repeat
If WaitEvent(1)=$401 And EventSource()=Endschalter Then Exit
Forever
Dateiname$=TextFieldText$(Textfield)
Dateiname$=Dateiname$+".html"
Wert=Confirm("Fertiger Dateiname: "+Dateiname$)
If Wert=1 Then Exit
Forever

AusgangsDatei=ReadFile(Datei1$)
ZielDatei=WriteFile(Datei2$+"/"+Dateiname$)
FreeGadget label
FreeGadget Textfield
FreeGadget Endschalter
label2=CreateLabel("Bitte warten...", 0, 0, 200, 150, window1, 0)

Repeat
temp$=ReadLine$(AusgangsDatei)
temp$=Replace$(temp$, "&", "&amp;")
temp$=Replace$(temp$, "ä", "&auml;")
temp$=Replace$(temp$, "Ä", "&Auml;")
temp$=Replace$(temp$, "ö", "&ouml;")
temp$=Replace$(temp$, "Ö", "&Ouml;")
temp$=Replace$(temp$, "ü", "&uuml;")
temp$=Replace$(temp$, "Ü", "&Uuml;")
temp$=Replace$(temp$, "ß", "&szlig;")
temp$=Replace$(temp$, "€", "&euro;")
temp$=Replace$(temp$, "<", "&lt;")
temp$=Replace$(temp$, ">", "&gt;")
temp$=Replace$(temp$, Chr$(34), "&quot;")
temp$=temp$+"<br>"
WriteLine ZielDatei, temp$

Until Eof(AusgangsDatei)

Notify "Datei konnte erfolgreich umgeformt werden"

End


Vielleicht kann's ja jemand gebrauchen.
Aber..Wozu soll er gut sein???
IBM-Ingeneur über die Idee des Mikroprozessors, 1968
Code: [AUSKLAPPEN]

   __
<_/__\_> <--- die Wayne-Zeichnung
  • Zuletzt bearbeitet von Michi am Do, Feb 24, 2005 20:47, insgesamt einmal bearbeitet

Artemis

BeitragDo, Feb 24, 2005 18:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab mal aus Spaß ne exe gemacht:
http://download.cybon.com/tmps/HTML-Former.exe
 

Michi

BeitragDo, Feb 24, 2005 18:41
Antworten mit Zitat
Benutzer-Profile anzeigen
thx - Link geht aber nicht!
Aber..Wozu soll er gut sein???
IBM-Ingeneur über die Idee des Mikroprozessors, 1968
Code: [AUSKLAPPEN]

   __
<_/__\_> <--- die Wayne-Zeichnung

Wild-Storm

BeitragDo, Feb 24, 2005 18:50
Antworten mit Zitat
Benutzer-Profile anzeigen
www.next-dimension.org/downloa...t2html.exe (ca. 323kb)

edit: ich habe mir erlaubt, ein apptitle in den code einzufügen (find das blitzcc net so dolle) ^^
Visit http://www.next-dimension.org
-------------------------------------------------
Freeware Modelle, Texturen & Sounds:
http://www.blitzforum.de/forum...hp?t=12875
 

Michi

BeitragDo, Feb 24, 2005 19:11
Antworten mit Zitat
Benutzer-Profile anzeigen
thx
Aber..Wozu soll er gut sein???
IBM-Ingeneur über die Idee des Mikroprozessors, 1968
Code: [AUSKLAPPEN]

   __
<_/__\_> <--- die Wayne-Zeichnung

Artemis

BeitragDo, Feb 24, 2005 20:36
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm irgendwie ist da ein fehler im code!!
ich will die zieldatei so erstellen:
"Eigene Dateien\tmps\Ziel.html"
aber raus kommt:
"Eigene Dateien\tmpsZiel.html"

Fehler:
Code: [AUSKLAPPEN]
ZielDatei=WriteFile(Datei2$+Dateiname$)

Das mussCode: [AUSKLAPPEN]
ZielDatei=WriteFile(Datei2$+"\"+Dateiname$)
heißen
 

Michi

BeitragDo, Feb 24, 2005 20:45
Antworten mit Zitat
Benutzer-Profile anzeigen
oh, schwerer fehler!!!
sorry

[Edit] habs oben korrigiert [/Edit]
Aber..Wozu soll er gut sein???
IBM-Ingeneur über die Idee des Mikroprozessors, 1968
Code: [AUSKLAPPEN]

   __
<_/__\_> <--- die Wayne-Zeichnung
 

FBI-blitz

BeitragDo, Feb 24, 2005 20:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Ach deswegen hat es bei mir net geklappt... Hab die Dateien net gefunden!

Verbesserungsvorschlag: Linkerkennung. Wenn man www.domain.de oder abc@domain.de schreibt, dass da nacher ein Link is!


FBI-blitz
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+
 

OJay

BeitragDo, Feb 24, 2005 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
wer hat das denn jetzt bitte in projekte verschoben? o_O

das gehört in die beginnerscorner...text2html konverter...na lol Rolling Eyes
 

Michi

BeitragDo, Feb 24, 2005 23:18
Antworten mit Zitat
Benutzer-Profile anzeigen
öhm, welche Beginners-Corner?
Ich finde nur Beginner-Fragen.
Ich habe aber keine Fragen Wink
Aber das es nichts großes ist, ist mir schon klar.

@FBI-blitz:
keine schlechte idee...
wird erledigt *g*
Aber..Wozu soll er gut sein???
IBM-Ingeneur über die Idee des Mikroprozessors, 1968
Code: [AUSKLAPPEN]

   __
<_/__\_> <--- die Wayne-Zeichnung
 

FBI-blitz

BeitragFr, Feb 25, 2005 14:22
Antworten mit Zitat
Benutzer-Profile anzeigen
@OJay:

In den Beginners-Corner? Ne, das ist doch ein Projekt! Mit BB bzw. B+ gemacht! Hier steht nirgends, dass hier nur GROßE Projekte reinkommen!
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+
 

Michi

BeitragFr, Feb 25, 2005 16:08
Antworten mit Zitat
Benutzer-Profile anzeigen
so, hier mit "automatischem Linksearecher" Wink
falls er "www." oder "http" entdeckt, fragt er, ob er den link zu einem machen soll.
hier der code:
Code: [AUSKLAPPEN]

AppTitle "Txt2Html"

Global AusgangsDatei
Global ZielDatei
Global Datei1$
Global Datei2$
Global Dateiname$
Global temp$
Global Adresse
Global Adresse_Ende

Repeat
Datei1$=RequestFile("Ausgangsdatei", "txt")
If Datei1$="" Then Notify "Es muss eine Ausgangsdatei ausgewählt werden!", 1
Until Datei1$>0

Datei2$=RequestDir("Zielordner")
window1=CreateWindow("Dateiname", 412, 284, 200, 150)
Textfield=CreateTextField(0, 25, 200, 20, window1, 65536)
SetGadgetText Textfield, "Ziel"
label=CreateLabel("Name der Zieldatei (ohne Endung):", 0, 0, 200, 25, window1, 0)
Endschalter=CreateButton("OK", 0, 55, 200, 25, window1, 1)

Repeat
Repeat
If WaitEvent(1)=$401 And EventSource()=Endschalter Then Exit
Forever
Dateiname$=TextFieldText$(Textfield)
Dateiname$=Dateiname$+".html"
Wert=Confirm("Fertiger Dateiname: "+Dateiname$)
If Wert=1 Then Exit
Forever

AusgangsDatei=ReadFile(Datei1$)
ZielDatei=WriteFile(Datei2$+"/"+Dateiname$)
FreeGadget label
FreeGadget Textfield
FreeGadget Endschalter
label2=CreateLabel("Bitte warten...", 0, 0, 200, 150, window1, 0)

Repeat
temp$=ReadLine$(AusgangsDatei)
temp$=Replace$(temp$, "&", "&amp;")
temp$=Replace$(temp$, "ä", "&auml;")
temp$=Replace$(temp$, "Ä", "&Auml;")
temp$=Replace$(temp$, "ö", "&ouml;")
temp$=Replace$(temp$, "Ö", "&Ouml;")
temp$=Replace$(temp$, "ü", "&uuml;")
temp$=Replace$(temp$, "Ü", "&Uuml;")
temp$=Replace$(temp$, "ß", "&szlig;")
temp$=Replace$(temp$, "€", "&euro;")
temp$=Replace$(temp$, "<", "&lt;")
temp$=Replace$(temp$, ">", "&gt;")
temp$=Replace$(temp$, Chr$(34), "&quot;")
Adresse=Instr(Lower$(temp$), "http")
If Adresse>0 Then linksearcher("")
If Adresse=0 Then
   Adresse=Instr(Lower$(temp$), "www.")
   If Adresse>0 Then linksearcher("http://")
EndIf
Adresse=0
temp$=temp$+"<br>"
WriteLine ZielDatei, temp$

Until Eof(AusgangsDatei)

Notify "Datei konnte erfolgreich umgeformt werden"

End

Function linksearcher (http$)

Adresse_Ende=Instr(temp$, Chr$(32), Adresse+1)
If Adresse_Ende=0 Then Adresse_Ende=Instr(temp$, Chr$(10), Adresse+1)
If Adresse_Ende=0 Then Adresse_Ende=-1
temptemp$=Mid$(temp$, Adresse, Adresse_Ende-Adresse)
If Confirm("Der automatische Linksearcher hat einen Link entdeckt:"+Chr(13)+temptemp$+Chr(13)+"Soll der Link als solcher gekennzeichnet werden?")=1 Then
   temp$=Replace$(temp$, temptemp$, ("<a href="+Chr$(34)+http+temptemp$+Chr$(34)+" >"+temptemp$+"</a>"))
EndIf

End Function
Aber..Wozu soll er gut sein???
IBM-Ingeneur über die Idee des Mikroprozessors, 1968
Code: [AUSKLAPPEN]

   __
<_/__\_> <--- die Wayne-Zeichnung
 

FBI-blitz

BeitragFr, Feb 25, 2005 16:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Und was ist mit E-Mail Adressen? Du kannst es ja so machen, dass wenn er ein @ erkennt, den Text um das @ zum link macht!

FBI-blitz

PS: Kann das einer kompilieren? hab kein B+!
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

Triton

BeitragFr, Feb 25, 2005 16:52
Antworten mit Zitat
Benutzer-Profile anzeigen
OJay hat Folgendes geschrieben:
wer hat das denn jetzt bitte in projekte verschoben? o_O

das gehört in die beginnerscorner...text2html konverter...na lol Rolling Eyes



hm, bestenfalls ins Codearchiv.

-> verschoben
Coding: silizium-net.de | Portfolio: Triton.ch.vu
 

Michi

BeitragFr, Feb 25, 2005 18:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Es erwies sich als komplizierter als ich mir es vorgestellt hatte, aber jetzt mit automatischem Linksearcher v.2:

Code: [AUSKLAPPEN]

AppTitle "Txt2Html"

Global AusgangsDatei
Global ZielDatei
Global Datei1$
Global Datei2$
Global Dateiname$
Global temp$
Global Adresse
Global Adresse_Ende

Repeat
Datei1$=RequestFile("Ausgangsdatei", "txt")
If Datei1$="" Then Notify "Es muss eine Ausgangsdatei ausgewählt werden!", 1
Until Datei1$>0

Datei2$=RequestDir("Zielordner")
window1=CreateWindow("Dateiname", 412, 284, 200, 150)
Textfield=CreateTextField(0, 25, 200, 20, window1, 65536)
SetGadgetText Textfield, "Ziel"
label=CreateLabel("Name der Zieldatei (ohne Endung):", 0, 0, 200, 25, window1, 0)
Endschalter=CreateButton("OK", 0, 55, 200, 25, window1, 1)

Repeat
Repeat
If WaitEvent(1)=$401 And EventSource()=Endschalter Then Exit
Forever
Dateiname$=TextFieldText$(Textfield)
Dateiname$=Dateiname$+".html"
Wert=Confirm("Fertiger Dateiname: "+Dateiname$)
If Wert=1 Then Exit
Forever

AusgangsDatei=ReadFile(Datei1$)
ZielDatei=WriteFile(Datei2$+"/"+Dateiname$)
FreeGadget label
FreeGadget Textfield
FreeGadget Endschalter
label2=CreateLabel("Bitte warten...", 0, 0, 200, 150, window1, 0)

Repeat
temp$=ReadLine$(AusgangsDatei)
temp$=Replace$(temp$, "&", "&amp;")
temp$=Replace$(temp$, "ä", "&auml;")
temp$=Replace$(temp$, "Ä", "&Auml;")
temp$=Replace$(temp$, "ö", "&ouml;")
temp$=Replace$(temp$, "Ö", "&Ouml;")
temp$=Replace$(temp$, "ü", "&uuml;")
temp$=Replace$(temp$, "Ü", "&Uuml;")
temp$=Replace$(temp$, "ß", "&szlig;")
temp$=Replace$(temp$, "€", "&euro;")
temp$=Replace$(temp$, "<", "&lt;")
temp$=Replace$(temp$, ">", "&gt;")
temp$=Replace$(temp$, Chr$(34), "&quot;")
Adresse=Instr(Lower$(temp$), "http")
If Adresse>0 Then linksearcher("")
If Adresse=0 Then
   Adresse=Instr(Lower$(temp$), "www.")
   If Adresse>0 Then linksearcher("http://")
EndIf
Adresse=Instr(temp$, "@")
If Adresse>0 Then linksearcher2
Adresse=0
temp$=temp$+"<br>"
WriteLine ZielDatei, temp$

Until Eof(AusgangsDatei)

Notify "Datei konnte erfolgreich umgeformt werden"

End

Function linksearcher (http$)

Adresse_Ende=Instr(temp$, Chr$(32), Adresse+1)
If Adresse_Ende=0 Then Adresse_Ende=Instr(temp$, Chr$(10), Adresse+1)
If Adresse_Ende=0 Then Adresse_Ende=-1
temptemp$=Mid$(temp$, Adresse, Adresse_Ende-Adresse)
If Confirm("Der automatische Linksearcher hat einen Link entdeckt:"+Chr(13)+temptemp$+Chr(13)+"Soll der Link als solcher gekennzeichnet werden?")=1 Then
   temp$=Replace$(temp$, temptemp$, ("<a href="+Chr$(34)+http+temptemp$+Chr$(34)+" >"+temptemp$+"</a>"))
EndIf

End Function

Function linksearcher2 ()

Adresse_Ende=Instr(temp$, Chr$(32), Adresse+1)
If Adresse_Ende=0 Then Adresse_Ende=Instr(temp$, Chr$(10), Adresse+1)
If Adresse_Ende=0 Then Adresse_Ende=-1
temptemp$=Mid$(temp$, Adresse, Adresse_Ende-Adresse)

vorat1$=Left$(temp$, Adresse-1)
For i=Len(vorat1) To 1 Step -1

If Left$(vorat2$, 1)=Chr(32) Then Exit
vorat2$=Right$(vorat1$, i)

Next
vorat2$=Right$(vorat1$, i)

If Confirm("Der automatische Linksearcher v.2 hat einen Link entdeckt:"+Chr(13)+vorat2$+temptemp$+Chr(13)+"Soll der Link als solcher gekennzeichnet werden?")=1 Then
   temp$=Replace$(temp$, (vorat2$+temptemp$), ("<a href="+Chr$(34)+"mailto:"+vorat2$+temptemp$+Chr$(34)+" >"+vorat2$+temptemp$+"</a>"))
EndIf

End Function
Aber..Wozu soll er gut sein???
IBM-Ingeneur über die Idee des Mikroprozessors, 1968
Code: [AUSKLAPPEN]

   __
<_/__\_> <--- die Wayne-Zeichnung

Wild-Storm

BeitragFr, Feb 25, 2005 18:32
Antworten mit Zitat
Benutzer-Profile anzeigen
compilierte version wie davor unter: www.next-dimension.org/downloa...t2html.exe (ca. 323kb)
Visit http://www.next-dimension.org
-------------------------------------------------
Freeware Modelle, Texturen & Sounds:
http://www.blitzforum.de/forum...hp?t=12875
 

D²O

BeitragFr, Feb 25, 2005 19:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm, hat noch nen kleinen Bug Confused
man muss etwas umwandeln, man kann nicht abbrechen.
Blitz+; Blitz3d; BlitzMax; GLBasic; Purebasic;
GameMaker Studio 1.4xx; AGK;

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group