FileExists Problem
Moderator: Moderatoren
-
- *
- Beiträge: 19
- Registriert: Di, 13.01.2004 21:33
- Kontaktdaten:
FileExists Problem
Hallo,
ich habe ein Star-Basic Macro entworfen, welches es erlaubt Auf Kopfdruck Tabellen zu erzeugen. Diese müssen mit einer laufenden Nummer versehen sein. Diese Nummer darf aber nicht jedesmal wieder bei 1 beginnen, sondern sie muss jedesmal mit LetzteNummer + 1 beginnen. Wenn ich also heute mit nummer 20 aufhöre, muss es morgen mit 21 weiter gehen.
Ich habe das gelöst indem ich die Laufende Nummer in eine Textdatei speichere und diese wieder lade wenn ich eine neue nummer benötige.
Mit FileExist überprüfe ich, ob die Datei existiert, ist dies nciht der Fall wir diese neu angelegt und mit der Nummer 1 gefüllt.
Das funktioniert wunderbar unter Windows. Das Dokument soll aber unter Linux angewendet werden, und dort meldet FileExist immer False, wodurch die Datei immer wieder neu angelegt wird und die Laufende Nummer immer 1 ist. Der Dateiname ist "~/.LaufendeNummer" und wird sowohl in der Laden als auch in der Speichern Rutine aus der selben Quelle bezogen, es kann also kein Tippfehler im Dateinamen vorliegen.
Wie kann ich unter Linux überprüfen, ob die Datei existiert?
Gruß
Kalbautermann
ich habe ein Star-Basic Macro entworfen, welches es erlaubt Auf Kopfdruck Tabellen zu erzeugen. Diese müssen mit einer laufenden Nummer versehen sein. Diese Nummer darf aber nicht jedesmal wieder bei 1 beginnen, sondern sie muss jedesmal mit LetzteNummer + 1 beginnen. Wenn ich also heute mit nummer 20 aufhöre, muss es morgen mit 21 weiter gehen.
Ich habe das gelöst indem ich die Laufende Nummer in eine Textdatei speichere und diese wieder lade wenn ich eine neue nummer benötige.
Mit FileExist überprüfe ich, ob die Datei existiert, ist dies nciht der Fall wir diese neu angelegt und mit der Nummer 1 gefüllt.
Das funktioniert wunderbar unter Windows. Das Dokument soll aber unter Linux angewendet werden, und dort meldet FileExist immer False, wodurch die Datei immer wieder neu angelegt wird und die Laufende Nummer immer 1 ist. Der Dateiname ist "~/.LaufendeNummer" und wird sowohl in der Laden als auch in der Speichern Rutine aus der selben Quelle bezogen, es kann also kein Tippfehler im Dateinamen vorliegen.
Wie kann ich unter Linux überprüfen, ob die Datei existiert?
Gruß
Kalbautermann
-
- *
- Beiträge: 19
- Registriert: Di, 13.01.2004 21:33
- Kontaktdaten:
Hi,
Gruß
Klabautermann
Um solche Proble zu umgehen habe ich eine Funktion GetFileName eingeführt. Diese wird sowohl beim speicher/anlegen der Datei als auch beim laden und der überprüfung der Existens verwendet. Da also immer diese Funtion verwendet wid erhalten auch alle Mehtden exakt den selben File Name. Deshalb kann es dadran nicht liegen.herbk hat geschrieben:überprüf noch mal die Schreibweise des Pfades auf Gross kLeinschreibung, Linux nimmt es da genau....
Gruß
Klabautermann
Die Tilde funktioniert bei mir SUSE 8.2 /OOo1.1 nicht, um das Heimatverzeichnis des Benutzer abzukürzen. Mit dem ausgeschriebenen Pfad geht das problemlos.
Mit
erhälts du stattdessen das Heimatverzeichnis des Benutzers.
Mit
Code: Alles auswählen
Environ( "HOME" )
Meine Installation: AMD Athlon XP 1600+, 512 MB RAM, SuSE Linux 8.2, OpenOffice 1.1
Kostenlose OOo-CD in der Schweiz: http://www.office-cd.ch/
Kostenlose OOo-CD in der Schweiz: http://www.office-cd.ch/
Hallo Klabautermann,
teste mal einen anderen Dateinamen - einen, der nicht versteckt ist, also ohne Punkt!
Es kann sein, dass Linux die Folge "/." bereits auflöst und im Wurzelverzeichnis sucht. Könnte den Fehler eingrenzen.
Gruss
Thomas
teste mal einen anderen Dateinamen - einen, der nicht versteckt ist, also ohne Punkt!
Es kann sein, dass Linux die Folge "/." bereits auflöst und im Wurzelverzeichnis sucht. Könnte den Fehler eingrenzen.
Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Hallo Klaubautermann!
Du schreibst von dem Befehl FileExist. Nach meinen Unterlagen heißt der Befehl FileExists. Vielleicht liegst daran.
Ich habe folgendes Makro mit Erfolg getestet.
Du schreibst von dem Befehl FileExist. Nach meinen Unterlagen heißt der Befehl FileExists. Vielleicht liegst daran.
Ich habe folgendes Makro mit Erfolg getestet.
Code: Alles auswählen
Sub Main
Datei = "C:\Test\Datei.txt"
If FileExists(Datei) Then
MsgBox("Datei existiert")
else
MsgBox ("Datei existiert nicht")
End if
End Sub
Gruß
Charly
-
- *
- Beiträge: 19
- Registriert: Di, 13.01.2004 21:33
- Kontaktdaten:
Hallo,
Ich werde gleich eimal den verdacht mit der Tilde überprüfen. Das währe 'ne Möglichkeit, wenn auch verwirrend, da ja durchaus eine Datei .LaufendeNummer in meinem home Verzeichnis angelegt wird und auch die 1 enthällt. Nur der FileExists scheitert. Auch den versuch mit einer Sichtaren Datei werde ich machen.
Gruß
Klabautermann
das wird dadran liegen, das den Quelltext niht vor augen hatte. Wie gesagt, unter Windows funktionierte der Code unter Linux nicht. Letzteres habe ich momentan nur auf meinem Lappi, welcher nicht im Netz hängt.Charly hat geschrieben:Du schreibst von dem Befehl FileExist. Nach meinen Unterlagen heißt der Befehl FileExists. Vielleicht liegst daran.
Ich werde gleich eimal den verdacht mit der Tilde überprüfen. Das währe 'ne Möglichkeit, wenn auch verwirrend, da ja durchaus eine Datei .LaufendeNummer in meinem home Verzeichnis angelegt wird und auch die 1 enthällt. Nur der FileExists scheitert. Auch den versuch mit einer Sichtaren Datei werde ich machen.
Gruß
Klabautermann
-
- *
- Beiträge: 19
- Registriert: Di, 13.01.2004 21:33
- Kontaktdaten: