Das Forentreffen 2018 findet am 20./21. April in Dresden statt. Weitere Infos hier
Anmeldungen zum Forentreffen 2018 sind auf der Anmeldeseite möglich
Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

ot4xb und cUTF8ToAnsi() [erledigt]

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Antworten
peternmb
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 441
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

ot4xb und cUTF8ToAnsi() [erledigt]

Beitrag von peternmb » Do, 10. Nov 2016 15:38

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: 13749
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Re: ot4xb und cUTF8ToAnsi()

Beitrag von Martin Altmann » Do, 10. Nov 2016 16:15

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: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 13811
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: ot4xb und cUTF8ToAnsi()

Beitrag von brandelh » Do, 10. Nov 2016 16:54

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: 13749
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Re: ot4xb und cUTF8ToAnsi()

Beitrag von Martin Altmann » Do, 10. Nov 2016 19:20

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

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

peternmb
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 441
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Re: ot4xb und cUTF8ToAnsi()

Beitrag von peternmb » Fr, 11. Nov 2016 16:44

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: 10655
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: ot4xb und cUTF8ToAnsi()

Beitrag von AUGE_OHR » Fr, 11. Nov 2016 20:12

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: 13811
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: ot4xb und cUTF8ToAnsi()

Beitrag von brandelh » Fr, 11. Nov 2016 20:17

genau getline() liest die Zeile ein und geht zur nächsten. Jimmys Funktion müsste gehen.
Gruß
Hubert

peternmb
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 441
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Re: ot4xb und cUTF8ToAnsi()

Beitrag von peternmb » Sa, 12. Nov 2016 11:11

Vielen Dank, jetzt funktioniert alles :blob8:

Antworten