Fehler beim Ausführen von Makros aus der OO-Hilfe-Seite

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

Moderator: Moderatoren

tommy
***
Beiträge: 59
Registriert: Fr, 16.04.2004 15:00
Wohnort: Aachen

Fehler beim Ausführen von Makros aus der OO-Hilfe-Seite

Beitrag von tommy »

Hallo, ich habe folgende Makro-Beispiele in der OO-Hilfe Seite ausprobiert und dabei gab es Fehlermeldung.
Weiss jemand, woran das lag? Danke schon im voraus!

Code: Alles auswählen

Sub ExampleChoose
Dim sReturn As String
sReturn = ChooseMenu(2)
Print sReturn
end sub
Function ChooseMenu(Index As Integer)
ChooseMenu = Choose(Index, "Quick-Format", "Save-Format", "System-Format")
End Function
Beim Ausführen dieser Datei ergab folgender Fehler
BASIC-Laufzeitfehler.
Nicht genügend Stapelspeicher


-------------

Code: Alles auswählen

Sub ExampleDir
REM zeigt alle Dateien und die Verzeichnisse
Dim sPath As String
Dim sDir as String, sValue as String
sDir="Verzeichnisse:"
sPath = CurDir
sWert = Dir$(sPfad,16)
Do
If sValue <> "." and sValue <> ".." Then
if (GetAttr( sPath + getPathSeparator + sValue) AND 16) >0 then
REM hier die Verzeichnisse holen
 sDir = sDir & chr(13) & sValue
End If
sValue = Dir$
Loop Until sValue = ""
MsgBox sDir,0,sPath
End sub

Fehler:
BASIC-Syntaxfehler
Unerwartetes Symbol: Until
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey Tommy,

dein erste Code ist ok und liefert bei mir (kopiert aus deinem Posting) richtigerweise die Msgbox "Save-Format" .

Zum zweiten Listing hat Stefan dir die Lösung schon mitgeteilt.

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
tommy
***
Beiträge: 59
Registriert: Fr, 16.04.2004 15:00
Wohnort: Aachen

Beitrag von tommy »

Hallo Thomas und Stephan, danke für eure Antworten.
ZU 1. Code: Sub ExampleChoose
Es hat funktioniert. Ich habe jetzt das Makro unter [soffice].Standard ausgeführt.

Zu 2. Code: Sub ExampleDir
Ich habe End If hinzugefügt und die Variable geändert, dann den Code ausgeführt. Danach kam der Fehler:
BASIC-Laufzeitfehler
Datei nicht gefunden

Code: Alles auswählen

Option Explicit

	Sub ExampleDir
	REM zeigt alle Dateien und die Verzeichnisse
		Dim sPath As String
		Dim sDir As String
		Dim sValue As String

		sDir="Verzeichnisse:"
		sPath = CurDir
		sValue = Dir$(sPath,16)
		Do
			If sValue <> "." and sValue <> ".." Then
->				If (GetAttr( sPath + getPathSeparator + sValue) AND 16) >0 then
					REM hier die Verzeichnisse holen
					sDir = sDir & chr(13) & sValue
				End If
			End If
			sValue = Dir$

		Loop Until sValue = ""

		MsgBox sDir,0,sPath
	End sub
An der Zeile mit dem Pfeil -> wurde gemeckert.

Übrigens, mein Betriebsystem ist Fedora(Linux Distribution). Hat es vielleicht Problem mit "." und ".." ?
---------------
Hi Stephan,
dein Code hat funktioniert, die Ausgabe ist folgendes:
Verzeichnisse:
Ist das richtig?

Gruß

Tommy
tommy
***
Beiträge: 59
Registriert: Fr, 16.04.2004 15:00
Wohnort: Aachen

Beitrag von tommy »

Hi Stephan,
danke für die Antwort. Dein geänderte Code hat bei mir funktioniert.
Es erscheint insgesamt 3 Meldungen.
1.Meldung enthält
Verzeichnisse:
.....

2.Meldung
Dateien:
......

3.Meldung
Dateien (Fortsetzung):
tommy
***
Beiträge: 59
Registriert: Fr, 16.04.2004 15:00
Wohnort: Aachen

Beitrag von tommy »

Hallo Stephan, wie ich sehe, werden die Verzeichnisse und Dateien unter root/ angezeigt inclusiv versteckte Verzeichnisse und Dateien(z.B. .kde, .bash_logout), aber keine Unterverzeichnisse bzw. die Dateien darunter.
Ich glaube, dass dein code solche Ausgaben entspricht. Oder?

Gruß

Tommy
tommy
***
Beiträge: 59
Registriert: Fr, 16.04.2004 15:00
Wohnort: Aachen

Beitrag von tommy »

Hallo Stephan,
also ich habe als root angemeldet.
Ich verstehe die Frage nicht, was bedeutet "...solche Ausgaben entspricht..."
Was ich meinte, ist, dass dein Code nur die Verzeichnisse des aktuellen Verzeichnisses und die Dateien aktuellen Verzeichnisses auflistet; nicht aber die Unterverzeichnisse und die Dateien darin.
Antworten