Remove chr(10) -> umbruchentfernung verweigert!

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Max_der_Held
Beiträge: 595
Registriert: 18.04.2006 17:01
Wohnort: Bavaria
Kontaktdaten:

Remove chr(10) -> umbruchentfernung verweigert!

Beitrag von Max_der_Held »

hallo, wie kann ich den befehl "removestring()" und chr(10) zusammenbauen, um die chr(10)-s wegzubekommeN?

garnicht??

ok, folgendes:
ich will/muss aus einem haufen textzeilen eine einzige machen, die ich dann in pb hernehme

Beispiel:

Code: Alles auswählen

<span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:
minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;mso-ansi-language:DE;mso-fareast-language:DE;
mso-bidi-language:AR-SA;mso-no-proof:yes'><!--[if gte vml 1]><v:shapetype id="_x0000_t75"
 coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"
 filled="f" stroked="f">
soll mit folgendem code zu einer einzigen pb-string-zeile verarbeitet werden:

Code: Alles auswählen

text.s = GetClipboardText()
text   = ReplaceString ( text , Chr(34) , Chr(34) + " + chr(34) + " + Chr(34))
text   = ReplaceString ( text , Chr(10) , Chr(34) + " + chr(10) + " + Chr(34))
SetClipboardText        ( Output )
aber.. es..es bleiben zeilen.. nur dass dann " + chr(10) + " ...."
in jeder zeile am anfang steht.. und counststring (chr(10) ) ergibt = 0

kann das jemand nachvollziehen?
was mach ich hier denn falsch?? :bluescreen: :shock:

lg
max
( ist nicht lebensnotwendig, aber ich versteh das .. vor allem um die zeit.. einfach nicht mehr..)
Zuletzt geändert von Max_der_Held am 13.02.2010 02:42, insgesamt 1-mal geändert.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Remove chr(10) -> umbruchentfernung verweigert!

Beitrag von STARGÅTE »

Meiner Meinung nach ist ein Zeilenumbruch chr(10)+chr(13) ...

wenn du die chr(10) killst, bleiben die chr(13) natürlich übrig und erzeugen immer noch n Umbruch ...
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Re: Remove chr(10) -> umbruchentfernung verweigert!

Beitrag von AND51 »

Unter Windows besteht ein Zeilenumbruch nicht nur aus Chr(10), sondern aus Chr(10)+Chr(13).
Es ist allerdings einfacher, wenn du statt diesen beiden Funktionsaufrufen die Konstante #CRLF$ verwendest.
Zeilenumbrüche hängen vom jeweils verwendeten Betriebssystem ab. Unter Windows ist ein Zeilenumbruch für gewöhnlich ein #CRLF$, unter Linux #LF$ und unter Mac #CR$ (dort wird auch zunehmend #LF$ verwendet).

Zur Übersicht hier nochmal die Konstanten:

Code: Alles auswählen

#LF$ = Chr(10)
#CR$ = Chr(13)
#CRLF$ = Chr(10)+Chr(13)
#LF = 13
#CR = 10
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
Max_der_Held
Beiträge: 595
Registriert: 18.04.2006 17:01
Wohnort: Bavaria
Kontaktdaten:

Re: Remove chr(10) -> umbruchentfernung verweigert!

Beitrag von Max_der_Held »

chr(13)?.. ich hab bisher immer ausschließlich chr(10) hergenommen... das erklärt dann einiges..^^
ohman.. ist das spät..
jetzt kann ich alle möglichen Dateiarten/bild/aktivXelemente in word einfügen hehe, danke Stargate :)
(bist ja schneller als die feuerwehr :) und ganz schön oft zur stelle, wenn's brennt :D thx :) )
lg
max
[edit] danke auch @ andi :) werds so machen :) (1 sekunde langsamer lol :) )[/edit]
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Re: Remove chr(10) -> umbruchentfernung verweigert!

Beitrag von AND51 »

Tipp: Statt mehrerer RemoveString()-Aufrufe kann man auch einen ReplaceRegularExpression()-Aufruf nehmen. Der Reguläre Ausdruck zum Entfernen aller möglichen Kombinationen von Zeilenumbrüchen lautet dann:

Code: Alles auswählen

\n|\r
Den Ausdruck in CreateRegularExpression() eingeben, dann mit ReplaceRegularExpression() drüberbügeln und weg sind jede mögliche Kombination aus Leerzeichen, egal ob Chr(10), Chr(10)+Chr(10), Chr(10)+Chr(13), Chr(13)+Chr(10), und so weiter...
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Remove chr(10) -> umbruchentfernung verweigert!

Beitrag von Kiffi »

Code: Alles auswählen

Chr(13) + Chr(10)
und nicht umgekehrt!

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Remove chr(10) -> umbruchentfernung verweigert!

Beitrag von Josh »

oder vieleicht noch besser auf zwei durchgänge. dann hast du es für alle os erschlagen.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Remove chr(10) -> umbruchentfernung verweigert!

Beitrag von Kaeru Gaman »

was auch nicht erwähnt wurde, dass der Zeilenumbruch meistens anstatt einer Leerstelle steht und nicht zusätzlich.
also wird ein reines Entfernen oft dazu führen, dass Wörter zusammengestellt werden.

ich würde mit einem zweifachen Replace vorgehen:
sowohl Chr(10) als auch Chr(13) durch Chr(32) ersetzen. Das ersetzt in von allen OS stammenden Texten zuverlässig den Zeilenumbruch durch eine Worttrennung.
wenn gewünscht, kann man dann noch mal durchgehen um Double-Spaces zu entfernen, deren Vorhandensein tut allerdings dem Informationsgehalt keinen Abbruch.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
hjbremer
Beiträge: 822
Registriert: 27.02.2006 22:30
Computerausstattung: von gestern
Wohnort: Neumünster

Re: Remove chr(10) -> umbruchentfernung verweigert!

Beitrag von hjbremer »

für chr(34) gibt es auch eine Konstante: #DOUBLEQUOTE$
Purebasic 5.70 x86 5.72 X 64 - Windows 10

Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

Re: Remove chr(10) -> umbruchentfernung verweigert!

Beitrag von c4s »

hjbremer hat geschrieben:für chr(34) gibt es auch eine Konstante: #DOUBLEQUOTE$
Kürzer ist #DQUOTE$. ;)
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Antworten