Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Wie finde ich heraus wie viele Txt-Dateie in einem ord. sind

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Manu



Anmeldungsdatum: 16.07.2006
Beiträge: 174
Wohnort: Bayern

BeitragVerfasst am: 16.07.2006, 11:03    Titel: Wie finde ich heraus wie viele Txt-Dateie in einem ord. sind Antworten mit Zitat

Wie finde ich heraus wie viele Txt-Dateien in einem ordner(Verzeichniss) sind?
Ich wäre euch dankbar für eure Hilfe
ich hab da irgendwas mal mit shell oder so gelesen aber ich hab keinen plan wie ich das anwenden muss
mfg Manu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 16.07.2006, 11:20    Titel: Antworten mit Zitat

Verwende den DOS-Befehl DIR:
Code:

Verzeichnis$ = "C:\QB\"

SHELL "DIR *.TXT /b " + Verzeichnis$ + " > tmp.txt"

OPEN "tmp.txt" for input as #1
DIM Count AS INTEGER
Count = 0
DO UNTIL EOF(1)
 LINE INPUT #1, Dummy$
 Count = Count + 1
 PRINT Dummy$
LOOP
PRINT
PRINT Count; "Textdateien gefunden."
KILL "tmp.txt"

DIR leitet die Namen der gefundenen Textdateien in eine externe Datei um, die du dann nur noch auslesen musst lächeln

jb
_________________
Elektronik und Programmieren
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Manu



Anmeldungsdatum: 16.07.2006
Beiträge: 174
Wohnort: Bayern

BeitragVerfasst am: 16.07.2006, 11:28    Titel: Antworten mit Zitat

danke für deine schnelle Antwort
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Manu



Anmeldungsdatum: 16.07.2006
Beiträge: 174
Wohnort: Bayern

BeitragVerfasst am: 20.07.2006, 10:28    Titel: Antworten mit Zitat

gibt es noch eine andere Lösung
den bie meckert er immer count ist schon belegt oder wurde doppelt belegt
danke im voraus
mfg Manu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 20.07.2006, 11:28    Titel: Antworten mit Zitat

Diese Lösung sollte doch funktionieren... verwundert
Was ist denn die genaue Fehlermeldung?

jb
_________________
Elektronik und Programmieren
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Manu



Anmeldungsdatum: 16.07.2006
Beiträge: 174
Wohnort: Bayern

BeitragVerfasst am: 20.07.2006, 11:52    Titel: Antworten mit Zitat

zu vilele parameter - .TXT
0 Textdateien gefunden (obwohl eine drinnen ist)
Datei bereits geöffnet in Modul...
danke das du dir so viel mühe gibst mir zu helfen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 20.07.2006, 12:48    Titel: Antworten mit Zitat

Kein Problem lächeln

Also der Code sollte jetzt funktionieren:
Code:

Verzeichnis$ = "C:\QB\"

SHELL "DIR " + Verzeichnis$ + "*.TXT /b > tmp.txt"

F = FREEFILE
OPEN "tmp.txt" for input as #F
DIM Count AS INTEGER
Count = 0
DO UNTIL EOF(F)
 LINE INPUT #1, Dummy$
 Count = Count + 1
 PRINT Dummy$
LOOP
CLOSE #F
PRINT
PRINT Count; "Textdateien gefunden."
KILL "tmp.txt"


Da waren die Argumente im SHELL-Befehl etwas verrutscht...
Zudem wird nun automatisch ein freier Kanal für die Datei gesucht.
(Kann sein, dass #1 vorher besetzt war, daher der Fehler.)

/edit: So, dank ytwinky & dreael sollte der Code jetzt endlich fehlerfrei sein... lächeln

jb
_________________
Elektronik und Programmieren


Zuletzt bearbeitet von jb am 21.07.2006, 11:17, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 20.07.2006, 22:01    Titel: Antworten mit Zitat

jb hat Folgendes geschrieben:
Kein Problem lächeln

Also der Code sollte jetzt funktionieren:
Code:

Verzeichnis$ = "C:\QB\"

SHELL "DIR " + Verzeichnis$ + "*.TXT /b > tmp.txt"

F = FREEFILE
OPEN "tmp.txt" for input as #F
DIM Count AS INTEGER
Count = 0
DO UNTIL EOF(1)
 LINE INPUT #1, Dummy$
 Count = Count + 1
 PRINT Dummy$
LOOP
PRINT
PRINT Count; "Textdateien gefunden."
KILL "tmp.txt"
..


Da waren die Argumente im SHELL-Befehl etwas verrutscht...
Zudem wird nun automatisch ein freier Kanal für die Datei gesucht.
(Kann sein, dass #1 vorher besetzt war, daher der Fehler.)

jb
Kann sein, daß der Code erst funktioniert, wenn statt
Code:
..
DO UNTIL EOF(1)
 LINE INPUT #1, Dummy$
..

folgendes verwendet wird:
Code:
..DO UNTIL EOF(F)
 LINE INPUT #F, Dummy$
..
..oder irre ich mich da?
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 20.07.2006, 22:20    Titel: Antworten mit Zitat

Und wenn wir schon am Korrigieren sind: Ein CLOSE nach dem LOOP wäre auch kein Fehler, denn eine noch offene Datei löschen ist keine allzu gute Idee.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz