joshuatree
Goto Top

Was heißt die 8 in ForAppending(istgleich)8?

Hallo,

ich arbeite mich gerade durch ein Buch mit VBScript und da taucht unerklärt auf.
ForAppending=8 und ForWriting=2 und ForReading=1.

Was heißen die Zahlen dahinter?

Content-ID: 86164

Url: https://administrator.de/contentid/86164

Ausgedruckt am: 22.11.2024 um 16:11 Uhr

tacker
tacker 23.04.2008 um 08:52:37 Uhr
Goto Top
guten morgen!

denke ein link hilft dir hier weiter als grosse erklärungen

siehe deshalb : http://www.asphelper.de/referenz/vbscript/opentextfile.asp

dort wird dies erläutert!

gruss tacker
JoshuaTree
JoshuaTree 23.04.2008 um 14:22:24 Uhr
Goto Top
Danke für den Link das Hilft schon mal,
so wie ich das sehe gibt es keine anderen Werte als 8,2, und eins. Warum muss dann überhaupt ein Wert mitgeben?
Biber
Biber 23.04.2008 um 15:37:16 Uhr
Goto Top
Moin JoshuaTree,

Warum muss dann überhaupt ein Wert mitgeben?
auch wenn es sich nicht um ein FileSystem auf einem Rechner handeln würde, sondern um die neuesten Schmöker der Neu-Wülferoder Leihbücherei oder um die Memoiren von Guido Westerwelle:

Es macht einen großen Unterschied, ob Du etwas nur liest, etwas vollständig neu schreibst oder etwas Neues an den bestehenden Inhalt anfügst.

Bei Dateien und M$-Öffnungsmodi bedeutet es
  • ForReading: Du kannst, darfst und wirst die Datei nur lesen und nix ändern. Und "lesen" bedeutet spitzfindiger ausgedrückt: immer vom Anfang der Datei Zeichen für Zeichen Richtung Dateiende gehend. Niemals nicht eine Seite oder eine Zeile oder auch nur ein Zeichen rückwärts/nochmal sehend.
  • ForWriting: Nu darfste schreiben. Aber standardmäßig alles. Wenn schon etwas drinsteht--> dann STAND es jetzt mal da. Alles neu mach der Mai bzw. der JoshuaTree. Und lesen kannst Du so nichts von dem, was Du überbügelst.
  • ForAppending. Nun bleibt zwar der bisherige Inhalt der Datei erhalten UND Du darfst Deinen Senf dazugeben.... nur lesen kannst Du leider auch nichts von dem, was schon vorhanden ist.

Bist Du immer noch der Meinung, es würde keinen Unterschied machen? Dann werde ich gern ausführlicher... face-wink

Grüße
Biber
54487
54487 23.04.2008 um 15:46:43 Uhr
Goto Top
Gemeinheit! Mitten in meinem Kommentar zu ForReading gab's einen Fehler. Nee, neee....... face-big-smile
JoshuaTree
JoshuaTree 23.04.2008 um 16:45:43 Uhr
Goto Top
@Biber

danke für die Ausführung.
Die Befehle an sich sind mir klar nur die Nummern noch nicht.
z.B was wäre wenn ich ForAppendig=7 eingeben würde was wäre der Unterschied zu ForAppending=8 was überall angegeben wird, soweit ich das gesehen habe.
Wenn man immer =8 hinter ForAppending hängt könnte man sich das doch sparen oder?


Gruss
JT
54487
54487 23.04.2008 um 16:58:58 Uhr
Goto Top
Die 3 Bezeichner sind Konstanten, die mit einem dazu erforderlichen Wert definiert werden.
Biber
Biber 23.04.2008 um 17:17:23 Uhr
Goto Top
Moin JoshuaTree,
was wäre wenn ich ForAppendig=7 eingeben würde
Das steht Dir frei und bleibt ohne Auswirkungen, solange Du die Konstante "ForAppendig" nicht im Zusammenhang mit "OpenTextFile()" verwendest.
-> und was wäre, wenn Du ForAppending=7 eingeben würdest und als Dateiöffnungsmodus verwendest?
Dann würde eine Fehlermeldung auf den Schirm kommen:
z.B "Laufzeitfehler in Microsoft VBScript: Ungültiger Dateimodus.", wenn du es mit VBS versuchst.

Enum-Konstanten sind fest vorgegeben als einzig mögliche Werte für einen Parameter... die einzig möglichen sind eben 1,2 und 8.
Da es üblicherweiser bei jedem Code-Schnipsel > 3 Zeilen wichtig ist, den Code les- und wartbar zu halten, deshalb schreibst Du statt einer nicht im Code wiederfindbaren Ziffer "8" sinnvollerweise besser Deine definierte "ForAppending"-Konstante hin.

Falls Dich jemand mal fragt, ob Du denn in die Server-Logfiles "Cheffe is doof" geschrieben hast, dann kannst Du mit wenig Aufwand schnell zeigen, dass Deine Programme überall nur mit "ForReading" darauf zugreifen.

P.S. Das über Les- und Pflegbarkeit von Code behauptete gilt nur bedingt für Bätsch-Dateien.

Grüße
Biber
JoshuaTree
JoshuaTree 23.04.2008 um 22:09:53 Uhr
Goto Top
Vielen Dank face-smile ich hoffe ich kann auch mal helfen

Gruss
JT