ot4xb und cUTF8ToAnsi() [erledigt]

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Antworten
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

ot4xb und cUTF8ToAnsi() [erledigt]

Beitrag von peternmb »

Hallo,

ich möchte eine kleine 5-zeilige Textdatei die mit einem Android-Gerät erstellt wurde unter xbase in einem MLE anzeigen, bearbeiten und wieder speichern.

Die Datei hole bzw. speichere ich mit der FTP-Klasse von Phil Ide auf einem Webserver, das klappt problemlos.
Ich schaffe es allerdings nicht, die Datei so zu konvertieren, dass die Zeilenvorschübe erkannt werden, der Text geht in einem durch.

Ich wollte dazu ot4xb nutzen

Code: Alles auswählen

cTexta := cUTF8ToAnsi(MemoRead(datei))
mle:setData()
Was mache ich denn da falsch?
.
Zuletzt geändert von peternmb am Sa, 12. Nov 2016 11:11, insgesamt 1-mal geändert.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: ot4xb und cUTF8ToAnsi()

Beitrag von Martin Altmann »

Android ist Linux. Somit dürfte ein Zeilenwechsel kein chr(13) + chr(10) sein, sondern nur die 13 (glaube ich)!

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: ot4xb und cUTF8ToAnsi()

Beitrag von brandelh »

Erklärung stimmt, aber Zeichen chr(13) ist beim Mac, Unix / Linux haben chr(10).

Für das zeilenweise Einlesen von Text-Dateien gibt es meine Klasse (die kümmert sich um sowas):

:arrow: http://www.xbaseforum.de/viewtopic.php?f=16&t=7961

bei einfachen Sachen mit strTran() die chr(10) gegen chr(13)+chr(10) tauschen.
Gruß
Hubert
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: ot4xb und cUTF8ToAnsi()

Beitrag von Martin Altmann »

Oder so rum 8)
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Re: ot4xb und cUTF8ToAnsi()

Beitrag von peternmb »

brandelh hat geschrieben: Für das zeilenweise Einlesen von Text-Dateien gibt es meine Klasse (die kümmert sich um sowas):
Ich habe deine Klasse jetzt eingebaut, klappt prima.
Was ich aber nicht hinbekomme:
1.) in einer Zeile steht eine Mailadresse, die möchte ich noch zusätzlich auslesen.
2.) ich möchte wissen, wie oft eine bestimmt Zeile vorkommt

So klappt es nicht:

Code: Alles auswählen

oTR := HBTextReader(datei)
do while ! oTR:EOF()
   if Rat("@",oTR:GetLine()) > 0
      mail=cUtf8ToOem(oTR:GetLine())
   elseif cUtf8ToOem(oTR:GetLine()) = "***frei***"
      lizenz++
   endif 
enddo
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: ot4xb und cUTF8ToAnsi()

Beitrag von AUGE_OHR »

peternmb hat geschrieben:1.) in einer Zeile steht eine Mailadresse, die möchte ich noch zusätzlich auslesen.
2.) ich möchte wissen, wie oft eine bestimmt Zeile vorkommt

So klappt es nicht:
versuche mal das

Code: Alles auswählen

oTR := HBTextReader(datei)
do while ! oTR:EOF()
   cLine := oTR:GetLine()
   if Rat("@",cLine) > 0
      mail=cUtf8ToOem(cLine)
   elseif cUtf8ToOem(cLine) = "***frei***"
      lizenz++
   endif 
enddo
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: ot4xb und cUTF8ToAnsi()

Beitrag von brandelh »

genau getline() liest die Zeile ein und geht zur nächsten. Jimmys Funktion müsste gehen.
Gruß
Hubert
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Re: ot4xb und cUTF8ToAnsi()

Beitrag von peternmb »

Vielen Dank, jetzt funktioniert alles :blob8:
Antworten