Hinweise zum neuen Forum
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: 431
Registriert: Mi, 01. Feb 2006 17:22
Wohnort: 06618 Naumburg

ot4xb und cUTF8ToAnsi() [erledigt]

Beitrag von peternmb » Do, 10. Nov 2016 16: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 12:11, insgesamt 1-mal geändert.

Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 13378
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Re: ot4xb und cUTF8ToAnsi()

Beitrag von Martin Altmann » Do, 10. Nov 2016 17: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: 13601
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim
Kontaktdaten:

Re: ot4xb und cUTF8ToAnsi()

Beitrag von brandelh » Do, 10. Nov 2016 17: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: 13378
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Re: ot4xb und cUTF8ToAnsi()

Beitrag von Martin Altmann » Do, 10. Nov 2016 20: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: 431
Registriert: Mi, 01. Feb 2006 17:22
Wohnort: 06618 Naumburg

Re: ot4xb und cUTF8ToAnsi()

Beitrag von peternmb » Fr, 11. Nov 2016 17: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: 10381
Registriert: Do, 16. Mär 2006 8:55
Wohnort: Hamburg

Re: ot4xb und cUTF8ToAnsi()

Beitrag von AUGE_OHR » Fr, 11. Nov 2016 21: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: 13601
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim
Kontaktdaten:

Re: ot4xb und cUTF8ToAnsi()

Beitrag von brandelh » Fr, 11. Nov 2016 21: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: 431
Registriert: Mi, 01. Feb 2006 17:22
Wohnort: 06618 Naumburg

Re: ot4xb und cUTF8ToAnsi()

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

Vielen Dank, jetzt funktioniert alles :blob8:

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast