Laufwerke

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

Moderator: Moderatoren

chemnitzer
*
Beiträge: 16
Registriert: Sa, 17.06.2006 19:14

Laufwerke

Beitrag von chemnitzer »

Hallo,
ich bin im Forum seit gestern neu. Ich suche einen Code um die vorhandenen Laufwerke zuermitteln und dann auf ein bestimmtes zu wechseln. Habe nur den Hinweis gefunden, dass es mit chDir nicht geht.
Hat jemand einen Tip für beide Probleme ?

Danke
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Hat jemand einen Tip für beide Probleme ?


Nein, nicht wirklich. Trotz der scheinbaren Leichtigkeit der Aufgabe lese ich im englischen Forum das CHDir CHDrive nicht funktionieren und kann mich auch selbst davon überzeugen.
Nur wozu soll Deine Anfrage gut sein, wenn Du in ein *bestimmtes* Laufwerk wechseln willst, wozu mußt Du dafür alle Laufwerke kennen? Und wozu willst Du überhaupt wechseln, gehen tut es ohnehin nicht weil die genannten Funktionen defekt sind.
Für eine Datei die OOo öffnen kann ist das alles nicht nötig, deren Adresse kriegst Du mit:

ThisComponent.URL direkt heraus

bzw. eigentlich, wenn Du von außen zugreifen mußt kannst Du ermitteln wo sie ist wenn Du ihren Pfad bezüglich der Laufwerkswurzel kennt, beispielsweise:

Code: Alles auswählen

Sub Main()
Dim a(0) As String
'nicht Diskette A & B
For i = 67 To 90
if FileExists (CHR(i) & ":\test.txt") then
	a(i-67) = CHR(i)
	x = UBOUND(a())+1
	Redim Preserve a(x) As String
End If
Next i
x = ""	
For i = 0 To UBOUND(a())-1
	x = x & a(i) & CHR(13)
Next i
msgbox x
End Sub
Sicherlich ist das Ganze aber betriebssystemspezifisch zu lösen, unter Windows beispielsweise mit einer Batch, auf deren Ergebnisse Du auch per Makro zugreifen kannst, nur DEin Betriebssystem nennst Du nicht.



Gruß
Stephan
chemnitzer
*
Beiträge: 16
Registriert: Sa, 17.06.2006 19:14

Beitrag von chemnitzer »

Ich wollte in einer Auswahlliste die verfügbaren Laufwerke listen und anschließend bis zu einer vorgegebenen Verzeichnistiefe die Unterverzeichnisse auslesen ( z.B. des CD/DVD-Laufwerkes)
Ach so BS ist Windows XP

In der Anleitung von "Andrew Pitonyak" SDK-Handbuch hab ich gefunden wie man das Workverzeichnis ändern kann. Man kann allerdings auch nicht vorhandene LW eintragen ( EXTRAS--> OPTIONEN --> PFADE --> Arbeitsverzeichnis )

Wie kann ich hier ein Zitat einfügen :?:
Sorry mit dem Zitat hab ich gefunden. Sag nur lesen, lesen ...
Gruß
Chemnitzer
ykcim
*****
Beiträge: 324
Registriert: Di, 29.07.2003 15:22
Wohnort: Neu-Isenburg
Kontaktdaten:

Beitrag von ykcim »

Hallo,


vieleicht hift Dir dann der Folderpicker weiter. Man kann zwar die Auswahl nicht einschränken aber vielleicht langts Dir.

http://www.starbasicfaq.de/Wiekannmanei ... auswa.html

mfg
Michael
__
FAQ zu Starbasic -> http://www.starbasicfaq.de
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Ach so BS ist Windows XP


Du könntest über Basic auf den scripting host zugreifen:

Code: Alles auswählen

Sub main( ) 
   oleService = createUnoService("com.sun.star.bridge.OleObjectFactory") 
   WSH= oleService.createInstance("MSScriptControl.ScriptControl") 
   WSH.Language = "VBScript" 
   vbs=vbs+"set fs = CreateObject(""Scripting.FileSystemObject"")"+Chr(10) 
   vbs=vbs+"set Laufwerke = fs.Drives"+Chr(10)
   vbs=vbs+"for Each Laufwerk in Laufwerke"+Chr(10)
   vbs=vbs+"alle_lw = alle_lw & Laufwerk.DriveLetter & ""#"""+Chr(10)
   vbs=vbs+"Next"
   WSH.ExecuteStatement(vbs) 
   msgbox WSH.CodeObject.alle_lw
End Sub 



Gruß
Stephan
chemnitzer
*
Beiträge: 16
Registriert: Sa, 17.06.2006 19:14

Beitrag von chemnitzer »

Ach so BS ist Windows XP


Du könntest über Basic auf den scripting host zugreifen:

Ja - Deine Antwort ist super, gleich getestet und funktioniert. Da ich aber erst am Anfang bin war es eine große Hilfe.
Nochmals Danke.

Mit den FilePicker scheint es nicht zu gehen, ich hatte schon mal Multiselection auf true gesetzt ging aber nicht - vielleicht war noch ein Fehler drinn.



Gruß
Chemnitzer
Antworten