absatz löscchen
lima-city → Forum → Programmiersprachen → Basic
abs
absatz
angegebene anzahl
antwort
basic
beitrag
datei
hilfe
leerzeile
main
methode
schlu
set
textdatei
thw
versuchen
vielen dank
wenigsten
zeile
zeilenumbruch
-
hi ich hab n problem:
ich will ein paar abs?tze in ner datei l?schen
also z.b.
1
2
3
4
5
da soll jez ab der 2 alles drunter gel?scht werden
ich hab das so gemacht
print #1,
dann macht der aber trotzdem n absatz
un wenn ich wieder was genau drunter schreiben will macht der des dann also an der stelle wo die 6 st?nde. wie kann ich machen, dass der nicht mal nen absatz schreibt, sondern einfach gar nix??
dass bei nem erneuten ?ffnen er einfach direkt unter der 2 weiter schreibt??
bitte helft mir! danke!
gibts verst?ndnisprobleme?? oder warum hilft keiner?
wenn ihr wenigstens ideen habt w?rs au scho gut!
danke!
Beitrag ge?ndert am 14.03.2006 16:48 von martix -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wie w?re es mit einer einfachen if-Abfrage, soi in der Art von
if loeschen=false then
printf #1, absatz
end if
Bin mir jetzt nicht sicher wegen der Syntax, hab' schon ewig kein BASIC mehr gemacht. Aber vom Prinzip her sollte es klar werden, denke ich.
HTH,
thw -
du hast mich falsch verstanden!
er soll ja extra KEINEN absatz machen des hei?t, wenn du mit der curser taste nach rechts gehst (in der datei) sollte es beim letzten buchstaben schluss sein, und nich erst noch 4 abs?tze
aber bei print #1, *NIX* macht er trotzdem einen, des versuch ich zu verhindern! -
martix schrieb:
du hast mich falsch verstanden!
[...]
aber bei print #1, *NIX* macht er trotzdem einen [Absatz], des versuch ich zu verhindern!
Sorry, tut mir leid! Aber ich mach's wieder gut!
Die gew?nschte Funktionalit?t kannst du evtl. erreichen, indem du die Datei im Bin?rmodus liest. Ist aber nicht ganz trivial. Deshalb w?rde ich zur Verwendung der FileSystemObjects (FSO) raten. Damit kannst du zwar m?glicherweise keine Bin?rdateien bearbeiten (Stand dieser Information: VB6, 2000), aber das willst du ja auch nicht.
Die Klasse TextStream der FSO stellt dir die Methoden Write(Text), WriteLine(Text) und WriteBlankLines(Lines) zur Verf?gung. Die erste Methode macht genau das, was du willst: Text schreiben (ohne Zeilenumbruch am Ende). Die zweite macht noch einen Zeilenumbruch, die dritte schreibt die angegebene Anzahl Leerzeilen.
Quellcodebeispiel:
---
Dim fso As FileSystemObject, tst As TextStream
Set fso = New FileSystemObject
' Textdatei zum Schreiben ?ffnen, bei Bedarf neu erstellen
Set tst = fso.OpenTextFile("c:\Test.txt", ForWriting, True)
' Zeile mit CRLF am Ende schreiben
tst.WriteLine "Die Antwort auf die Frage aller Fragen ist 42"
'Leerzeilen schreiben
tst.WriteBlankLines 2
' Schreiben ohne CRLF am Ende
tst.Write "Vielen Dank "
tst.Write "f?r den Fisch"
' Schlie?en des Textstreams
tst.Close
---
(aus: J?rgen Bayer: "Visual Basic 6"; Addison-Wesley; 2000; S. 362)
Einige Beispiele und Probekapitel aus diesem Buch gibt's unter http://www.nitty-gritty.de/main/main.asp?page=oldstuff# zum Download (Visual Basic 6 anklicken). Informationen ?ber die FSO findet man aber bestimmt auch mit Hilfe von Google
thw, der hofft, diesmal geholfen zu haben
Beitrag ge?ndert am 18.03.2006 22:36 von thw -
vielen dank!
das hat mir sehr gut geholfen!
habs aber inzwischen auf ne "simple" art gemacht
ich mach einfach ne neue datei un schreib zeile f?r zeile neu rein... (dann sind wenigstens keine abs?tze drin)
danke nochmal f?r deine hilfe =)
gru? martin -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage