FileExists Problem

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Klabautermann
*
Beiträge: 19
Registriert: Di, 13.01.2004 21:33
Kontaktdaten:

FileExists Problem

Beitrag von Klabautermann »

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
herbk
**
Beiträge: 36
Registriert: Fr, 16.01.2004 14:29
Kontaktdaten:

Beitrag von herbk »

überprüf noch mal die Schreibweise des Pfades auf Gross kLeinschreibung, Linux nimmt es da genau....
HerbK
Klabautermann
*
Beiträge: 19
Registriert: Di, 13.01.2004 21:33
Kontaktdaten:

Beitrag von Klabautermann »

Hi,
herbk hat geschrieben:überprüf noch mal die Schreibweise des Pfades auf Gross kLeinschreibung, Linux nimmt es da genau....
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.

Gruß
Klabautermann
openmind
****
Beiträge: 184
Registriert: So, 29.06.2003 15:00
Wohnort: Schweiz

Beitrag von openmind »

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

Code: Alles auswählen

Environ( "HOME" )
erhälts du stattdessen das Heimatverzeichnis des Benutzers.
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/
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

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
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Charly
*****
Beiträge: 450
Registriert: Di, 20.01.2004 13:14
Wohnort: München

Beitrag von Charly »

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.

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
Klabautermann
*
Beiträge: 19
Registriert: Di, 13.01.2004 21:33
Kontaktdaten:

Beitrag von Klabautermann »

Hallo,
Charly hat geschrieben:Du schreibst von dem Befehl FileExist. Nach meinen Unterlagen heißt der Befehl FileExists. Vielleicht liegst daran.
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.

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
Klabautermann
*
Beiträge: 19
Registriert: Di, 13.01.2004 21:33
Kontaktdaten:

Beitrag von Klabautermann »

Hallo noch einmal.

Openmind hat voll in's schwarze getroffen. Wenn ich dem Pfad mit Environ("HOME") beschaffe, dann klappt es.

Herzlichen dank
Klabautermann
Antworten