🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[gelöst] leere Texteingaben in einem arrayofStrings() löschen ?

Alles zur Programmierung im LibreOffice.
Antworten
wega
Beiträge: 121
Registriert: Mi 16. Jul 2014, 19:15

[gelöst] leere Texteingaben in einem arrayofStrings() löschen ?

Beitrag von wega » Di 6. Dez 2022, 21:33

Hallo zusammen,

ich habe in einer Array mehrere Zeilen ohne Inhalt,
also Leerzeilen.
Gibt es eine Methode bzw Anweisung diese aus dem Array
herauszuwerfen?

Mit Gruß
Werner
Zuletzt geändert von wega am Mi 7. Dez 2022, 11:59, insgesamt 1-mal geändert.

mikele
* LO-Experte *
Beiträge: 1930
Registriert: Mo 1. Aug 2011, 20:51

Re: leere Texteingaben in einem arrayofStrings() löschen ?

Beitrag von mikele » Mi 7. Dez 2022, 10:49

Hallo Werner,
in Basic: nein.
Du gehst am einfachsten das Array durch und schreibst die Inhalte in ein neues.
Gruß,
mikele

wega
Beiträge: 121
Registriert: Mi 16. Jul 2014, 19:15

Re: leere Texteingaben in einem arrayofStrings() löschen ?

Beitrag von wega » Mi 7. Dez 2022, 11:58

Hallo mikele,

Danke für Deine Antwort.
Habe ich mir beinahe gedacht.

Mit freundlichem Gruß
Werner

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2536
Registriert: Fr 10. Dez 2010, 10:01

Re: leere Texteingaben in einem arrayofStrings() löschen ?

Beitrag von karolus » Mi 7. Dez 2022, 15:28

mikele hat geschrieben:
Mi 7. Dez 2022, 10:49
Hallo Werner,

Du gehst am einfachsten das Array durch und schreibst die Inhalte in ein neues.
Das gilt genauso in python, nur da ist das »umschreiben« ein Einzeiler:

neue_liste = [ entry for entry in alte_liste if entry ]


in Basic sieht der Krampf dann mindestens so aus

Code: Alles auswählen

dim neues_array(ubound(altes_array))
i=0
for each entry in altes_array
	if entry<>"" then	
		neues_array(i) = entry
		i = i+1
	end if
next
redim preserve neues_array(i-1)
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

wega
Beiträge: 121
Registriert: Mi 16. Jul 2014, 19:15

Re: [gelöst] leere Texteingaben in einem arrayofStrings() löschen ?

Beitrag von wega » Mi 7. Dez 2022, 20:22

Hallo karolus,

Danke für Deine Code-Zeilen.

Die erleichtern die Arbeit wesentlich und
geben mir einen weiteren Einblick in die BASE-Syntax.

Mit freundlichem Gruß
Werner


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten