[Gelöst] Nicht ausgewählte ListBox einträge auslesen?

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

Moderator: Moderatoren

Benutzeravatar
MikeRo
****
Beiträge: 153
Registriert: Mi, 20.01.2010 10:16

[Gelöst] Nicht ausgewählte ListBox einträge auslesen?

Beitrag von MikeRo »

Hallo, ich habe mal wieder ein Problem,

ich habe einen Dialog mit einer ListBox, der hat 15 Einträge

Code: Alles auswählen

Sub StandortlistenDialog
	DialogLibraries.LoadLibrary("Standard")
 	oDialog = createUnoDialog(DialogLibraries.Standard.StandortlistenDialog)
 	oView = oDialog.getView()
 	oModel = oDialog.getModel()
 	oBut = odialog.getControl("ListBox1").getModel()
	oDialog.execute()
Endsub
Hier der Teil aus dem anderen Code der benötigt wird.

Code: Alles auswählen

   oAuswahl = odialog.getControl("ListBox1").getSelectedItems()
   oAlleEintraege = odialog.getControl("ListBox1").getItems()
  oTabelle = oDoc.sheets.removeByName(oNichtAusgewält)
Ich Habe eine Vorlage mit mehreren Sheets. Es sollen aber nur die ausgewählten bleiben, die anderen sollen gelöscht werden.
Wie bekomme ich das (oNichtAusgewält) Array, in dem nur die Listeneinträge sind, die nicht Ausgewählt wurden.


Kann mir da wer helfen?

*Edit

So hier die Lösung des Problems. Es werden die beiden Arrays verglichen und ein neues erstellt.

Code: Alles auswählen

Sub ListenVergleichen
rem-----------Anfang
Dim found
f = 0
    For m = 0 To UBound(aAllQueries)   
      For t = 0 To UBound(aQueries)
          If UCase(aAllQueries(m)) = UCase(aQueries(t)) Then
 							'match
            found = false
            exit for
          Else
							'no match
            found = true
          End If
      Next
      
      If found Then          
          ReDim Preserve aQueriesUnselected(f)
          aQueriesUnselected(f) = aAllQueries(m)
          f = f + 1
      End If
    Next

For z = 0 To UBound(aQueriesUnselected)   
oTabelle = oDoc.sheets.removeByName(aQueriesUnselected(z))
Next
rem-----------Ende
End sub
Zuletzt geändert von MikeRo am Di, 01.02.2011 14:16, insgesamt 3-mal geändert.
OpenOffice 3.3 & postgresql-sdbc-driver 0.7.6b
Windows XP Professional SP3 x86
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Nicht ausgewählte ListBox einträge auslesen?

Beitrag von komma4 »

.removeByName erwartet eine Zeichenkette, kein Array von Zeichenketten.

Nur mal so, als Anmerkung.

In der Bibliothek TOOLS finden sich Routinen zur Bearbeitung von Arrays. Vielleicht ist da etwas dabei (nach dem Muster array1 - array2)

Nehme meine Erweiterung BTL2 - BasicTextListe2zur Erstellung eines lesbaren Dokuments der installierten Makros.


HTH, Viel Erfolg!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
MikeRo
****
Beiträge: 153
Registriert: Mi, 20.01.2010 10:16

Re: [Gelöst] Nicht ausgewählte ListBox einträge auslesen?

Beitrag von MikeRo »

Danke, habe schon eine Lösung gefunden und oben gepostet.
OpenOffice 3.3 & postgresql-sdbc-driver 0.7.6b
Windows XP Professional SP3 x86
Antworten