"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Text in File speichern mit Formatierung

Ctrl-Alt-Del 04.06.2003 - 11:28 1780 27
Posts

Ctrl-Alt-Del

Freund der 4 Ringe!
Avatar
Registered: Feb 2001
Location: Ländle
Posts: 3058
*push*
Helfts ma bitte! :)

Ctrl-Alt-Del

Freund der 4 Ringe!
Avatar
Registered: Feb 2001
Location: Ländle
Posts: 3058
Jetzt bin ich schon mal ein bisschen weiter.
Der Text wird gespeichert - nur die Formatierung stimmt noch nicht.

Proggy:
click to enlarge

So wirds exportiert:
click to enlarge

Aber so sollte es aussehen:
click to enlarge
Komplettes File

Und hier der derzeitige Code:
click to enlarge

Kann mir bitte jemand bei der Formatierung des Ausgangsformates helfen?

H.E.N.K

iam a l4hm3 nubi © DAO
Avatar
Registered: Oct 2000
Location: Wien
Posts: 2706
in perl würd ich einfach dir /n mit chomp weghaun .. aber in vb .. kA .. sry

Ctrl-Alt-Del

Freund der 4 Ringe!
Avatar
Registered: Feb 2001
Location: Ländle
Posts: 3058
Durch diese Zeile funzt nun auch der Zeilenunbruch incl. dem Platzhalter.
Nur wie kann ich ihm beibringen dass er zwischen der Zeile 9 und 10
kein Zeichen hin setzt sondern nur eine Stelle frei lässt?
Und zudem sollte am Anfang noch folgendes hin:

¹™à___

Underline steht in diesem Fall für Freistellen -> 3 Stück.

click to enlarge

//edit:
Mit dieser Erweiterung bekomme ich folgendes raus:
"¹™à test"
Also 8 Leerstellen zu viel! :confused:
Bearbeitet von Ctrl-Alt-Del am 09.07.2003, 14:25

Ctrl-Alt-Del

Freund der 4 Ringe!
Avatar
Registered: Feb 2001
Location: Ländle
Posts: 3058
Ok der Dateianfang kann ich von der ToDo List streichen. ;-)
Print #file, "¹™à " + txtvar

Bleibt noch das Problem mit dem Abstand zw. Zeile 9 und 10 sowie dem "" am Ende.

Ctrl-Alt-Del

Freund der 4 Ringe!
Avatar
Registered: Feb 2001
Location: Ländle
Posts: 3058
Kommando zurück! :(
So funzt das nicht. Das Programm für das die vts Seiten bestimmt ist frisst die Unterschiede in den Dateien (nur im Hex-Editor sichtbar) nicht.

Original:
click to enlarge

Falsch:
click to enlarge

Was nun?
Vorlage hernehmen und den Text in die gekennzeichneten Lücken setzen - nur wie? :(

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
Zitat von atrox
alle weiteren markierungen zeigen, daß die textzeilen offenbar binär durchnummeriert sind.

ich hätte gesagt, der naive weg wäre, du gehst zeilen- oder zeichenweise vor:
1)schreibe header
2)schneide eine zeile aus textfeld, falls vorhanden, (ansonsten füllzeile?)
3)kürze evt die zeile, bzw fülle sie auf
4)schreibe die zeilennummer binär
5)schreibe die zeile
6)gehe zu 2, beachte zeilenzähler (oder whatever)
binärzeichen erzeugst du am besten mit CHR()

Ctrl-Alt-Del

Freund der 4 Ringe!
Avatar
Registered: Feb 2001
Location: Ländle
Posts: 3058
@atrox

hmmm klingt leicht *räusper*
Wie wärs wenn man eine Vorlage hernimmt und den Text reinsetzt?
Habs mal händisch probiert - funzt.

Die Vorlage

Vorgehensweise:

8 Stellen rücken (n. rechts natürlich)
39 Textzeichen einfügen
1 Stelle rücken
1 x Leerzeichen
39 Textzeichen
1 Stelle rücken
1 x Leerzeichen
39 Textzeichen
1 Stelle rücken
1 x Leerzeichen
39 Textzeichen
.
.
.
.


Den Tab-Sprung (jep ist gar keine Leerstelle) zw. 9 und 10 muss nicht extra beachtet werden da es ja
sowieso auch dank "1 Stelle rücken" übersprungen wird.

Hat wer einen Ansatz für mich wie man das realisieren kann?

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
das mit der vorlage einsetzen hab ich ja schon vor einem monat geschrieben.

das mit dem leerzeichen einfügen vor jeden "39 zeichen", verstehe ich nicht ganz.

Ctrl-Alt-Del

Freund der 4 Ringe!
Avatar
Registered: Feb 2001
Location: Ländle
Posts: 3058
>das mit der vorlage einsetzen hab ich ja schon vor einem monat geschrieben.
i know... Schande über mich.... ;)

>das mit dem leerzeichen einfügen vor jeden "39 zeichen", verstehe ich nicht ganz.
Ergibt dann einfach eine Leerstelle vor jedem Satz - zu Formatierungszwecken später im Programm. (Farbgebung etc.)

Hatte ich leider zuerst vergessen! :(

Würdest du mir bei der Erstellung helfen?
Es ist ja nicht so dass ich mich nicht bemühe - aber najo ich komm auf keinen grünen Zweig... ist zuwenig mein Gebiet.

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Code:
newtext = header
for i=1 to int(dim(text)/39) step 1
  newtext = newtext+split(i*39,(i+1)*39,text)+char(i)
end for
so, die funktionen kann ich nimmer so, also "int" musst du durch die rundungsfunktion ersetzen welche _immer_ aufrundet
split heisst glaub ich net wirklich so, und die zahlen stimmen glaub ich auch net ganz, kommt drauf an welche parameter die funktion erwartet

Ctrl-Alt-Del

Freund der 4 Ringe!
Avatar
Registered: Feb 2001
Location: Ländle
Posts: 3058
Derzeitiger Code:

------------------------------------------------
Private Sub Label2_Click()
Dim zeile() As String
Dim file As Integer
Dim header As String

header = Chr(185) & Chr(153) & Chr(23) & Chr(224) & " "
zeile = Split(Text1.Text, vbCrLf)
For i = 0 To UBound(zeile) - 1
zeile(i) = " " & Left(zeile(i), 39)
If Len(zeile(i)) < 40 Then
zeile(i) = zeile(i) & Space(40 - Len(zeile(i)))
End If
Next

CMDialog1.Filter = "Teletext Files (*.vts)|*.vts"
CMDialog1.FilterIndex = 1
CMDialog1.Action = 2

file = FreeFile
Open CMDialog1.FileName For Output As #file
Print #file, header;
For i = 0 To UBound(zeile) - 2
Print #file, zeile(i) & Chr(i + 1);
Next
Print #file, zeile(UBound(zeile) - 1) & Chr(151);
Close #file
End Sub
------------------------------------------------

Jetzt fehlt eigentlich nur noch etwas und zwar dass beim abspeichern immer soviel Zeilensprünge (Enter) bis zur 23
bzw. eigentlich 24sten Zeile (damit die 23ste auch gespeichert wird) erfolgen.

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von Ctrl-Alt-Del
Derzeitiger Code:**
Jetzt fehlt eigentlich nur noch etwas und zwar dass beim abspeichern immer soviel Zeilensprünge (Enter) bis zur 23
bzw. eigentlich 24sten Zeile (damit die 23ste auch gespeichert wird) erfolgen.
irgendwie bist du bissal umständlich... trotzdem versteh ich nicht wo du zur 23. zeile willst??
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz