URL: https://www.overclockers.at/coding-stuff/text_in_file_speichern_mit_formatierung_81086/page_2 - zur Vollversion wechseln!
*push*
Helfts ma bitte!
Jetzt bin ich schon mal ein bisschen weiter.
Der Text wird gespeichert - nur die Formatierung stimmt noch nicht.
Proggy:
So wirds exportiert:
Aber so sollte es aussehen:
Komplettes File
Und hier der derzeitige Code:
Kann mir bitte jemand bei der Formatierung des Ausgangsformates helfen?
in perl würd ich einfach dir /n mit chomp weghaun .. aber in vb .. kA .. sry
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.
//edit:
Mit dieser Erweiterung bekomme ich folgendes raus:
"¹™à test"
Also 8 Leerstellen zu viel!
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.
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:
Falsch:
Was nun?
Vorlage hernehmen und den Text in die gekennzeichneten Lücken setzen - nur wie?
Zitat von atroxalle weiteren markierungen zeigen, daß die textzeilen offenbar binär durchnummeriert sind.
@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?
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.
>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.
so, die funktionen kann ich nimmer so, also "int" musst du durch die rundungsfunktion ersetzen welche _immer_ aufrundetCode: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
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.
irgendwie bist du bissal umständlich... trotzdem versteh ich nicht wo du zur 23. zeile willst??Zitat von Ctrl-Alt-DelDerzeitiger 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.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025