*.ini-Datei über Makro in Calc einlesen

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

Moderator: Moderatoren

Uschi
**
Beiträge: 24
Registriert: Mi, 05.08.2009 10:53

Re: *.ini-Datei über Makro in Calc einlesen

Beitrag von Uschi »

Also ich habs jetzt hinbekommen, so dass es einwandfrei funktioniert. :D :D :D :D :D :D :D :D :D
Ihr könnt ja mal drüberschauen, ob es eventuelle Verbessungsvorschläge gibt.

Sub inilesen
Dim aFile As String
Dim iNumber As Integer
Dim sZeile As String
Dim Zeile as integer
Dim sSpalte as string
Dim Spalte as integer
Dim astrings()
aFile = "c:\Dateiname.ini"
iNumber = Freefile
Open aFile For Input As iNumber
While not eof(iNumber)
Line Input #iNumber, sZeile

For k=0 to 1
If Instr(sZeile, " ") then
astrings=SPLIT(sZeile, " ")

For i=LBound (astrings) to UBound (astrings)
sSpalte = astrings(i)
Spalte=i
Dia.getCellbyPosition(Spalte,Zeile).string=sSpalte
Next i
Else
Dia.getCellbyPosition(0,Zeile).string=sZeile
End If
Zeile=Zeile+k
Next k
wend
close #iNumber
End Sub
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: *.ini-Datei über Makro in Calc einlesen

Beitrag von komma4 »

Du meinst, es wird immer in die erste Zeile geschrieben....

Code: Alles auswählen

Sub inilesen

Dim sFile As String
Dim iNumber As Integer
Dim sZeile As String
Dim iZeile as integer
Dim sSpalte as string

Dim iSpalte as Integer
Dim aStrings()

sFile = "c:\Dateiname.ini"
iNumber = Freefile

Open sFile For Input As iNumber

While NOT  eof(iNumber)
Line Input #iNumber, sZeile
iZeile = iZeile + 1

If Instr( sZeile, " " ) Then
   aStrings = SPLIT( sZeile, " ")
   For i=LBound ( aStrings ) to UBound ( aStrings )
      Dia.getCellbyPosition( i , iZeile ).String =  aStrings( i )
   Next i
Else
   Dia.getcellbyposition( 0 , iZeile ).string = sZeile
End If

Wend
close #iNumber
End Sub
Anmerkung:

Variablen, die Zeichenketten (string) enthalten, werden mit einem s gekennzeichnet; Zahlen (integer) mit i; bei Arrays wird a genutzt
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)
Antworten