Umlaute in Textdatei

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Umlaute in Textdatei

Re: Umlaute in Textdatei

von Charly » Do, 26.02.2009 12:48

Hallo Turtle!
Turtle47 hat geschrieben: aResult=FuncAcc.callFunction("SUBSTITUTE", array(text; search text; new text; ocurrence))
Bei der Funktion Array muss mit Komma und nicht mit Strichpunkt getrennt werden.


Gruß
Charly

Re: Umlaute in Textdatei

von turtle47 » Do, 26.02.2009 12:34

Hallo Frieder,
frieder hat geschrieben:allerdings scheinen SUBSTITUTE und REPLACE nicht bei allen Installationen dabei zu sein
Das mag ich kaum glauben. Welches BS und welche OOo-Version nutzt Du?

Die deutsche Bezeichnung für SUBSTITUTE ist WECHSELN
WECHSELN solltest Du in Deinem Funktionsassistenten finden. Oder?
OOo-Wiki hat geschrieben:Tauscht in einer Zeichenkette einen alten gegen einen neuen Text aus.
=WECHSELN(Text; Suchtext; Textersatz; Auftreten) | =SUBSTITUTE(text; search text; new text; ocurrence)
Wichtig dabei ist folgende Zeile:

Code: Alles auswählen

FuncAcc = createunoservice("com.sun.star.sheet.FunctionAccess")
damit dann

Code: Alles auswählen

aResult=FuncAcc.callFunction("SUBSTITUTE", array(text; search text; new text; ocurrence))
funktioniert!

Gutes Gelingen.

Jürgen

Re: Umlaute in Textdatei

von frieder » Do, 26.02.2009 12:05

Hallo Jürgen,

dachte ich auch, allerdings scheinen SUBSTITUTE und REPLACE nicht bei allen Installationen dabei zu sein. Ich hab auch versucht, diese Funktionen im Internetz zu bekommen, allerdings erfolglos.

Viele Grüße, Frieder.

Re: Umlaute in Textdatei

von turtle47 » Mo, 23.02.2009 18:04

Hi Frieder,

sowas kann man auch recht einfach mit der Function "SUBSTITUTE" lösen.

Jürgen

Re: Umlaute in Textdatei

von frieder » Mo, 23.02.2009 16:22

Hallo RaKa,

hat bei mir leider nicht funktioniert,dennoch vielen Dank. Vielleicht geht das nur unter Windows. Aber ich hab' das Problem mit einer Text-ersetzen-Funktion gelöst.

Function UmlRep(ZKette)

Dim a(7) as String
Dim b(7) as String

a(0) = "%20"
a(1) = "%C3%A4"
a(2) = "%C3%B6"
a(3) = "%C3%BC"
a(4) = "%C3%84"
a(5) = "%C3%96"
a(6) = "%C3%9C"
a(7) = "%C3%9F"

b(0) = " "
b(1) = "ä"
b(2) = "ö"
b(3) = "ü"
b(4) = "Ä"
b(5) = "Ö"
b(6) = "Ü"
b(7) = "ß"

for i = 0 to 7
x = 0
do while x = 0
Laenge = Len(ZKette)
Zl = Len(a(i))
c = instr(ZKette, a(i))
if c > 0 then
d = Left(ZKette, c-1)
e = Right(ZKette, Laenge-c-Zl+1)
StrT = d & b(i) & e
c = instr(ZKette, a(i))
end if
if c = 0 then
x = 1
end if
Loop

Next
UmlRep = ZKette

end Function

Gruß, Frieder.

Re: Umlaute in Textdatei

von sarotti » Fr, 20.02.2009 17:36

Hallo Raka,

hee, super Info zu einem Textstream. habe ich gleich probiert...klappt prima.

Teil 1:
ABER:
Wenn ich auf diese Art eine Datei auslese, die als Absatz chr(10) bzw. chr(13) beinhaltet. Wie lese ich diese Zeilenumbrüche selektiv aus?

Mein Problem ist, dass ich Dateien habe, die sowohl chr(10) als auch chr(13) beinhalten. Leider werden beide gleichermassen behandelt. Ich muss diese aber unterscheiden können, um die Informationen in eine Datenbank einzulesen.

Hast Du hier eine Idee?

Teil 2:

Beim Schreiben des Streams: Kann ich hier gezielt eine Zeile (z.B. Zeile 3 einer bestehenden Datei) schreiben - oder muß ich eine Datei von oben nach unten füllen?

Code: Alles auswählen

Sub TextStreamSchreiben
dim sIni as string            ' Dateiname als URL
dim oUcb as object                 ' für Dateihandling
dim oDatei as object            ' Dateistreamzeiger
dim oInputStream as Object      ' dito

sIni = ConvertToURL("c:\test.ini")

oUcB = createUnoService("com.sun.star.ucb.SimpleFileAccess")            ' File Object generieren
oOutputStream = createUnoService("com.sun.star.io.TextOutputStream")    ' Stream öffnen

xRay oOutputStream
oDatei = oUcb.OpenFileReadWrite(sIni)
oOutputStream.SetOutPutStream(oDatei.getOutputStream)

oOutputStream.setEncoding( "ISO-8859-1" )    ' Zeichensatz setzen

	oOutputStream.WriteString("1. test"+chr(13))
	oOutputStream.WriteString("2. test"+chr(13))

REM ***???? wie beende ich den oOutputStream ordentlich????
end sub
Danke schon mal für die Hilfe

Gruss
sarotti

Re: Umlaute in Textdatei

von RaKa » Fr, 20.02.2009 16:28

versuche es mal mit .setEncoding :

Code: Alles auswählen

dim sIni as string				' Dateiname als URL
dim oUcb as object			        ' für Dateihandling
dim oDatei as object				' Dateistreamzeiger
dim oInputStream as Object		' dito

sIni = "  <---- dateiname ---->"

        oUcB = createUnoService("com.sun.star.ucb.SimpleFileAccess")	         ' File Object generieren
	oInputStream = createUnoService("com.sun.star.io.TextInputStream")	 ' Stream öffnen
	oDatei = oUcb.OpenFileReadWrite(sIni)
	oInputStream.SetInputStream(oDatei.getInputStream)
	
  oInputStream.setEncoding( "ISO-8859-1" )  		                                 ' Zeichensatz setzen (äöü)

	
	if not oInputStream.isEOF then 					' erste Zeile lesen
			sZeile = oInputStream.ReadLine()
.........

Viel Spaß,

Raka

Umlaute in Textdatei

von frieder » Do, 19.02.2009 13:19

Hallo,

ich möchte per Makro Text in eine Textdatei schreiben, die ein anderes Makro wieder ausliest. Nun werden beim Auslesen die Umlaute aus der Textdatei nicht richtig wiedergegeben. Lässt sich die Zeichenkodierung da irgendwo einstellen?

Vielen Dank

Frieder

Nach oben