Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Android App Enter aus Eingabe entfernen (https://www.delphipraxis.net/191820-android-app-enter-aus-eingabe-entfernen.html)

sko1 23. Feb 2017 09:53

Android App Enter aus Eingabe entfernen
 
Hallo,

wenn ich unter Windows ein Enter in ein Memo eingebe, habe ich dann z.B. "hallo Du"#13#10.
Entfernen geht dann mit

Delphi-Quellcode:
Text := stringreplace(Text, #13#10, '', [rfReplaceall]);


Schau ich mir das unter Android an, bekomme ich "hallo Du"#012 beim Debuggen.

Leider lässt sich das nicht mit

Delphi-Quellcode:
Text := stringreplace(Text, #12, '', [rfReplaceall]);


entfernen, was läuft da schief?

Ciao
Stefan

Devil1925 23. Feb 2017 10:05

AW: Android App Enter aus Eingabe entfernen
 
Also ich habe gerade mal ganz kurz was getestet...

Formular erstellt, dann nen 2 Memos drauf gehauen und da dann in das Erste Memo "A[Zeilenumbruch]B" eingegeben. jetzt habe ich mir das im 2. Memo Zeichen für Zeichen mit Ord() ausgeben lassen, sodass der mir die Werte für die Zeichen ausgibt. in diesem Spezifischen fall hat der mir jetzt als Ausgabe
65
10
66
ausggeben. Dementsprechend solltest du den Zeilenumbruch einfach mit
Delphi-Quellcode:
Text := stringreplace(Text, #10, '', [rfReplaceall])
entfernen können.

Darlo 23. Feb 2017 10:06

AW: Android App Enter aus Eingabe entfernen
 
Ich hatte ein ähnliches Problem mit einem unsauberen Code. Da wurde mal #10, mal #10#13, mal #13#10 verwendet. Mit einem
Delphi-Quellcode:
Text := stringreplace(Text, sLineBreak, '', [rfReplaceall]);
hat es bei mir glücklicherweise funktioniert.

sko1 23. Feb 2017 10:40

AW: Android App Enter aus Eingabe entfernen
 
Danke!

sLinBreak war der entscheidende Tip anstelle #13 oder #13#10 oder #12 oder #012!

Jetzt funktioniert es mit Windows und Android :-)

Ciao
Stefan

Aviator 23. Feb 2017 10:43

AW: Android App Enter aus Eingabe entfernen
 
Zitat:

Zitat von Darlo (Beitrag 1362389)
Ich hatte ein ähnliches Problem mit einem unsauberen Code. Da wurde mal #10, mal #10#13, mal #13#10 verwendet. Mit einem
Delphi-Quellcode:
Text := stringreplace(Text, sLineBreak, '', [rfReplaceall]);
hat es bei mir glücklicherweise funktioniert.

Wieso glücklicherweise? Die Variable ist genau darauf ausgelegt um beim Kompilieren für die entsprechende Platform immer den richtigen Wert zu enthalten. Siehe die Deklaration von
Delphi-Quellcode:
sLineBreak
in der System Unit.

Delphi-Quellcode:
const
  sLineBreak = {$IFDEF POSIX} _AnsiChr(#10) {$ENDIF}
    {$IFDEF MSWINDOWS} _AnsiStr(#13#10) {$ENDIF};

Darlo 23. Feb 2017 10:54

AW: Android App Enter aus Eingabe entfernen
 
Ja, so isses. Das Glücklicherweise war darauf bezogen dass ich nicht mehrere StringReplace durchführen musste....

Aviator 23. Feb 2017 11:14

AW: Android App Enter aus Eingabe entfernen
 
Zitat:

Zitat von Darlo (Beitrag 1362397)
Das Glücklicherweise war darauf bezogen dass ich nicht mehrere StringReplace durchführen musste....

:thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz