Ordner durchsuchen
Übersicht

![]() |
N0XBetreff: Ordner durchsuchen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey!
Ich habe zwei Daten (name$,pass$) und möchte alle Dateien aus einem Verzeichnis darauf überprüfen, ob sie NICHT so heißen wie "name$" und daraufhin eine solche Datei erstellen, mit Namen "name$". Problem: Es wird mit jedem Type-Eintrag verglichen und daraufhin eine Datei mit dem Namen "name$" erstellt. Also wird diese Datei so oft erstellt, wie viele Dateien mit eben NICHT diesem Namen in dem Verzeichnis liegen. Wie kann ich es erreichen das eben nur EIN Eintrag gemacht wird? Code: [AUSKLAPPEN] name$ = ReadString(svr)
pass$ = ReadString(svr) verz = ReadDir(".\users") If verz=0 Then RuntimeError("Verzeichnis nicht gefunden!") Repeat t.tesst = New tesst t\r$ = NextFile(verz) If (t\r$+".txt")<>name$ Then user = WriteFile("users\"+name$+".txt") WriteString user,name$ WriteString user,pass$ CloseFile(user) WriteByte svr,14 SendUDPMsg svr,ip,port DebugLog("Klappt! aber warum nicht escape?") EndIf If t\r$="" Then Exit Forever CloseDir(verz) Mfg, N0X P.S.: Hoffe verständlich ausgedrückt? ![]() |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Alle Types Vergleichen und beim ersten Treffer mit Return den Spaß vorzeitig beenden.
Nachdem alle Types durchgegangen wurden die Datei erstellen. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, du nimmst am besten eine Variable, die das angiebt.
Durch diesen Code, machst du genau das, was du nicht willst: Zitat: If (t\r$+".txt")<>name$ Then
user = WriteFile("users\"+name$+".txt") WriteString user,name$ WriteString user,pass$ CloseFile(user) Du vergleichst jede Datei in dem Ordner. Und wenn der Name nicht übereinstimmt lässt du sofort ne neue Datei erstellen, gehst dann zur nächsten Datei über. Am besten du löst das so. Erstmal eine Variable: BlitzBasic: [AUSKLAPPEN] Local iFileExists% = 0 und der ganze Rest davor. Dann deine Schleife, aber geändert in: BlitzBasic: [AUSKLAPPEN] Repeat So müsste es klappen. Du überprüfst einfach am Ende ob eine Datei mit dem gleichen Namen dabei war. Lg, M0rgenstern |
||
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok, funktioniert aber irgendwie nicht, also Datei wird erstellt, aber er verlässt die "Repeat-Forever" Schleife irgendwie nicht, zumindest gibt mir mein DebugLog kein "klappt..." aus. Warum?
Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
@M0rgenstern: Wozu ist der Type da? | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Achso, ja. Tut mir leid.
Du musst natürlich das: BlitzBasic: [AUSKLAPPEN] WriteByte svr,14 hierhin kopieren: BlitzBasic: [AUSKLAPPEN] If iFileExists = 0 Then 'Wenn keine Datei mit dem gleichen Namen dabei war So müssts gehen. Lg, M0rgenstern EDIT: @ Xeres: Ich habe am Code ja nicht viel geändert. Er hatte den Type ja selbst schon genutzt und ich hab ihn auch nicht rausgenommen. Lg, M0rgenstern |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ähm... kleine Frage... Wenn es nur darum geht die name$+".txt" auf Vorhandensein zu prüfen, warum dann nicht einfach mit FileType![]() (Mein Vorschlag ist natürlich hinfällig sobald alle möglichen Dateiendungen oder Zusatz-Präfixe im Spiel sind) mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group