Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
surfer87
Anmeldungsdatum: 16.09.2004 Beiträge: 103
|
Verfasst am: 05.01.2006, 22:27 Titel: Dateigröße in FB herausfinden |
|
|
Hi, mein Problem ist simpel:
Wie finde ich die Größe einer beliebigen Datei heraus?
Danke |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 05.01.2006, 23:05 Titel: |
|
|
@ Surfer:
Siehe dazu auch die entsprechenden Referenz-Einträge:
http://fb.exp-soft.de/r.php?s=OPEN
http://fb.exp-soft.de/r.php?s=LOF
http://fb.exp-soft.de/r.php?s=LOC
@ Sebi:
LTRIM$ ist nicht mehr nötig, wie in einem anderen Thread bereits diskutiert wurde (ich glaub es war im Windows-Subforum unter Speichernutzung oder so...); STR reserviert kein Leerzeichen für das Vorzeichen mehr.
Have a nice day
Ciao _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 06.01.2006, 19:41 Titel: |
|
|
Natürlich funzt der Code von Sebastian
Sebastian hat Folgendes geschrieben: | INPUT "Datei: ", d$
If d$="" THEN END
OPEN d$ FOR BINARY AS #1
PRINT "Die Datei ist "; LTRIM$(STR$(LOF(1))); " Bytes groß."
CLOSE #1
SLEEP: END | Er hat aber einen Nachteil:
Ist die Datei d$ nicht vorhanden, legt FB freundlicherweise gleich eine an,
prüft die Dateigröße und meldet 0 als Ergebnis. Wenn ich also 1000
Dateien prüfe und gebe ein falsches Verzeichnis an, erhalte ich damit auch
1000 0-Byte Einträge. Nun ist 1000*0=0 und damit kein Problem..
..aber 1000 Einträge belegen auch unnötig Platz auf der Platte, deshalb mein
Tipp:
Vorher die Datei auf Vorhandensein prüfen und dann die Größe abfragen.
http://forum.qbasic.at/viewtopic.php?p=19759&highlight=#19759
Viele Grüße
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 06.01.2006, 20:50 Titel: |
|
|
Tjo, der APIs kenn ich von VB her. In der Fragestellung stand aber nix von diesen Anforderungen. Surfer wollte nur wissen, wie man die Größe einer Datei ermittelt. Es hätte also gereicht, wenn ich das hier geschrieben hätte:
Mögliches Posting hat Folgendes geschrieben: | Hallo.
Mit LOF().
Viele Grüße!
Sebastian |
Hab also eigentlich schon wieder zu viel gearbeitet...  _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 06.01.2006, 21:19 Titel: |
|
|
Ach da du gerade die Anforderungen ansprichst: surfer87 hat Folgendes geschrieben: | Wie finde ich die Größe einer beliebigen Datei heraus? | ich finde die Betonung liegt dabei auf beliebig!
Du hast das schon gut gemacht(*Schulterklopf*), ich habe das alles nur in eine Function packen wollen und bin dann darauf gestoßen, daß(s.o.)..
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 06.01.2006, 22:03 Titel: |
|
|
ytwinky hat Folgendes geschrieben: | Ach da du gerade die Anforderungen ansprichst: surfer87 hat Folgendes geschrieben: | Wie finde ich die Größe einer beliebigen Datei heraus? | ich finde die Betonung liegt dabei auf beliebig! |
dafür gibts die OPEN (Funktion), kombiniert mit Sebastians Vorschlag:
Code: | INPUT "Datei: ", d$
If d$="" THEN END
SELECT CASE OPEN (d$ FOR INPUT AS #1)
CASE 0
PRINT "Die Datei ist "& LOF(1) & " Bytes groß."
CASE 2
PRINT "Datei existiert nicht!"
CASE ELSE
PRINT "Fehler beim Öffnen der Datei!"
END SELECT
CLOSE #1
SLEEP: END |
Gruß
Volta _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 06.01.2006, 22:58 Titel: |
|
|
..und was ist mit dem Anlegen von Dateien?
Soweit ich weiß|herausgefunden habe legt Open(..) immer eine neue Datei an(s.o.)
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 07.01.2006, 01:04 Titel: |
|
|
In jedem Modus außer dem INPUT-Modus. In fact gibts im FB-Source sogar ne Function, die auf diese Art prüft ob eine Datei existiert.
Sonst würde ja auch die Fehlernummer wenig sinn machen, wie
Siehe übrigens auch:
http://fb.exp-soft.de/r.php?s=Fehlernummern
Have a nice day
Ciao _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 07.01.2006, 20:34 Titel: |
|
|
Alles klar, ich habe mit kriminalistischem Spürsinn etwas ganz
triviales 'herausgefunden', aber es war nicht falsch: Sebastian hat Folgendes geschrieben: | OPEN d$ FOR BINARY AS #1 | und volta hat Folgendes geschrieben: | OPEN (d$ FOR INPUT AS #1) |
Diesen kleinen aber wichtigen Unterschied hatte ich übersehen..
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 08.01.2006, 00:38 Titel: |
|
|
Danke Sebastian,
falls es nicht ganz klar geworden ist: ich habe es jetzt verstanden
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
|