AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie alle zeilenumbrüche löschen?

Ein Thema von jonny · begonnen am 3. Mär 2004 · letzter Beitrag vom 4. Mär 2004
Antwort Antwort
Seite 1 von 2  1 2      
jonny

Registriert seit: 15. Dez 2003
235 Beiträge
 
Delphi 7 Enterprise
 
#1

Wie alle zeilenumbrüche löschen?

  Alt 3. Mär 2004, 15:10
Wie kann ich einen String nach zeilenumbrüchen durchsuchen die z.B durch betätigen der entertaste in einem Memo gemacht wurden und diese dann auch löschen?
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Wie alle zeilenumbrüche löschen?

  Alt 3. Mär 2004, 15:12
Da sollte Dir Hier im Forum suchenStringReplace helfen. Zeilenumbrüche sind #10 und #13.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Wie alle zeilenumbrüche löschen?

  Alt 3. Mär 2004, 15:15
Zeilenumbrüche werden i.d.R. unter Windows durch die ASCII-Codes 13 und 10 (in dieser Reihenfolge!) dargestellt. Du müsstest also diese Zeichen per StringReplace durch einen Leerstring ('') ersetzen.

Allerdings kann es sein, dass einige Programme (speziell ursprünglich von anderen Betriebssystemen kommende) die Zeilenumbrüche als #10, #13 oder gar #10#13 speichern. Das beste wird also sein, alle Vorkommen von diesen Zeichen getrennt durch Leerstrings zu ersetzen.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
jonny

Registriert seit: 15. Dez 2003
235 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Wie alle zeilenumbrüche löschen?

  Alt 3. Mär 2004, 15:20
ok danke.
  Mit Zitat antworten Zitat
jonny

Registriert seit: 15. Dez 2003
235 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Wie alle zeilenumbrüche löschen?

  Alt 4. Mär 2004, 11:01
Also ich mach es jetzt so und es klappt nicht:
  StringReplace(S, #13#10, '', [rfReplaceAll, rfIgnoreCase]); Warum?
  Mit Zitat antworten Zitat
AlphaBug

Registriert seit: 2. Mär 2004
Ort: hinterm Transistor 246 gleich links
46 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: Wie alle zeilenumbrüche löschen?

  Alt 4. Mär 2004, 11:09
Hallo alle zusammen.

@jonny:

Versuchs mal damit:
StringReplace(S, #13+#10, '', [rfReplaceAll, rfIgnoreCase]); Ansosten eventuell so:
StringReplace(S, ''+#13+#10, '', [rfReplaceAll, rfIgnoreCase]); ...

funktioniert beides nicht...hmmm.
Delphi 4ever !
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#7

Re: Wie alle zeilenumbrüche löschen?

  Alt 4. Mär 2004, 11:12
Dann versuche doch mal das:
Delphi-Quellcode:
Var
  i, LfPos : Integer;
  s, OutStr : String;
Begin

  s := Memo1.Text;
  LfPos := Pos(#10, s);
  If LfPos > 0 Then
    For i := -2 To 2 Do
      If i = 0 Then
        OutStr := OutStr + ', ' + '|' + IntToStr(ord(s[i + LfPos])) + '|'
      Else
        OutStr := OutStr + ', ' + IntToStr(ord(s[i + LfPos]));

  ShowMessage(Copy(outstr, 3, Length(OutStr)));
End;
Der Code sucht das erste Auftauchen von #10 und gibt dir die ASCII Codes der 2 Zeichen davor und dahinter.
Damit kannst du dann deinen Suchstring bestimmen.

Edit: Tippfehler...
  Mit Zitat antworten Zitat
AlphaBug

Registriert seit: 2. Mär 2004
Ort: hinterm Transistor 246 gleich links
46 Beiträge
 
Delphi 6 Enterprise
 
#8

Re: Wie alle zeilenumbrüche löschen?

  Alt 4. Mär 2004, 11:23
meine Lösung sieht so aus:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
  function DeleteWordWraps(Value: String): String;
  begin
    Result := Value;
    While AnsiPos(String(#13+#10), Result) > 0 do
      Delete(Result, AnsiPos(String(#13+#10), Result), 2);
  end;
begin
  Memo1.Text := DeleteWordWraps(Memo1.Text);
end;
Delphi 4ever !
  Mit Zitat antworten Zitat
jonny

Registriert seit: 15. Dez 2003
235 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Wie alle zeilenumbrüche löschen?

  Alt 4. Mär 2004, 11:23
Und was kann ich dann mit soeinen ergebniss wie ",58, 13, |10|, 118, 111" machen?
  Mit Zitat antworten Zitat
AlphaBug

Registriert seit: 2. Mär 2004
Ort: hinterm Transistor 246 gleich links
46 Beiträge
 
Delphi 6 Enterprise
 
#10

Re: Wie alle zeilenumbrüche löschen?

  Alt 4. Mär 2004, 11:27
Wie meinst du das ?

Möchtest du Substrings ersetzen?

edit...

sorry, fühlte mich angesprochen.
Delphi 4ever !
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 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