Zum Inhalt springen

Empfohlene Beiträge

Geschrieben
das könnte das falsche forum sein;
Glaube ich nicht, er will das ja mit OpenOffice Basic machen, da ist er hier schon genau richtig.

Allerdings habe ich auf Anhieb nichts gefunden, womit man direkt ini-Dateien einlesen könnte. Wenn OOoBasic ein Konstrukt wie "Declare Function" aus VBA unterstützt, könnte man versuchen, GetPrivateProfileStringA aus Kernel32.dll einzubinden.

Ansonsten muss man es wohl zu Fuß machen, d.h. zeilenweise einlesen wie eine Textdatei.

Geschrieben

hab da was gefunden, vielleicht hilts dir weiter:


Sub IniLesen


' Variablendeklaration:

'-----------------------

dim WinDir as String 'Windows Systemverzeichnis

dim DateiNr as Integer 'Dateinummer für einen freien Dateikanal

dim Zeile as String 'Variable für die aktuell aus der Datei eingelesenen Zeile

dim Position as Integer 'Positionsangabe für die Suche nach Elementen zur Zeilenzerlegung

dim Werte(0,1) as String 'Array für die aus der Ini eingelesenen Werte (1. Element(0) = Name , 2. Element(1) = Wert)

dim W_Anzahl as Integer 'Zähler für die Werteanzahl, die eingelesen wurde

dim i as integer 'die berühmte Zählvariable i


'Initialiserung

'----------------------------------------

WinDir = Environ ("WinDir") 'das Eindows-Verzeichnis wird ermittelt

W_Anzahl = 0 'Die Anzahl der eingelesenen Werte ist momentan ja noch nicht groß


'Jetzt geht es los, ich versuche die Daten einzulesen und muss diese dazu erst einmal öffnen:

'--------------------------------------------------------------------------------------------

DateiNr = freefile 'freie Dateinummer ermitteln

On Error GoTo Fehler 'Fehler führen hiermit zum Abbruch (zum Debuggen auskommentieren)

Open WinDir & "\meine.ini" for input as DateiNr 'INI öffnen


'Nun muss die relevante Sektion gefunden werden:

'-----------------------------------------------

do

Line Input #DateiNr, Zeile

Position = Instr (Zeile, "[Sektionsname]")

loop until Position > 0


'Wenn ich nicht mit EOF abgeflogen bin, geht es hier weiter


'Nun werden die Werte und Wertenamen extrahiert und in das Datenarray übernommen

'-------------------------------------------------------------------------------

do 'dazu ist eine Schleife die beste Wahl der Waffen

Line Input #DateiNr, Zeile 'es wird die nächste Zeile eingelesen

Position = Instr (Zeile, "=") 'und die Position des Zeichens = ermittelt

if Position > 0 then 'dann wurde das Zeichen gefunden

Werte (W_Anzahl,0) = mid(Zeile, 1, Position - 1) 'und es kann der Parametername in das Array übernommen werden

Werte (W_Anzahl,1) = mid(Zeile, Position + 1, len(Zeile) 'dazu kommt jetzt noch der Parameterwert in´s Array

W_Anzahl = W_Anzahl + 1 'Wertezähler hoch

ReDim Preserve Werte(W_Anzahl,1) 'Array vergrößern

else 'ansonsten könnte es sein, dass eine fehlerhafte Zeile vorgekommen ist, oder die nächste sektion beginnt

Position = Instr (Zeile, "[") + Instr (Zeile, "]") 'daher prüfe ich mal, ob die beien markanten Zeichen für eine neue Sektion vorkommen

if Position > 1 then exit Do 'dann beginnt vermutlich eine neue Sektion und das Einlesen ist beendet

end if

loop until EOF(DateiNr) 'wenn keine neue Sektion kommt, dann geht es bis zum Dateiende weiter

Close #DateiNr 'die Datei brauche ich jetzt nicht mehr, ich habe alles im Array


Exit Sub 'Hier ist Ende, das Fehlerhandling braucht ja nun nicht mehr durchlaufen werden


Fehler:

On Error resume next

Close #DateiNr 'Falls der Fehler erst nach dem Öffnen aufgetreten ist

MsgBox "Es ist ein Fehler bei der Datenübernahme aufgetreten!"

End Sub

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...