Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Ascii Zeichen aus einer Datei entfernen (https://www.delphipraxis.net/134590-ascii-zeichen-aus-einer-datei-entfernen.html)

DBasner 25. Mai 2009 13:29


Ascii Zeichen aus einer Datei entfernen
 
Hallo vielleicht könnt ihr mir ein paar Ratschläge geben.

Ich habe eine Ursprungsdatei als DAT vorliegen in dieser befinden sich neben normalen Text auch Ascii zeichen, die ich entfernen möchte bzw. umbenennen. Das ganze soll dann wieder als TXT gespeichert werden.

Wie könnte ich dieses unkompliziert realisieren?

:?:

DeddyH 25. Mai 2009 13:31

Re: Ascii Zeichen aus einer Datei entfernen
 
Hallo und Willkommen in der DP :dp:,

das müsste mit StringReplace zu machen sein, wenn ich mich nicht irre.

DBasner 25. Mai 2009 13:37

Re: Ascii Zeichen aus einer Datei entfernen
 
Oh. :wink:

Vielen Dank für die schnelle Antwort, das werde ich gleich einmal ausprobieren.

Phoenix 25. Mai 2009 13:40

Re: Ascii Zeichen aus einer Datei entfernen
 
Zitat:

Zitat von DBasner
in dieser befinden sich neben normalen Text auch Ascii zeichen

Ich möchte jetzt nicht den Klugscheißer raushängen lassen, aber Dein 'normaler Text' wird in Deinem Fall unter garantie auch in ASCII-Zeichen codiert sein. Wenn Du alle ASCII-Zeichen entfernst ist logischerweise die Datei leer.

DBasner 25. Mai 2009 13:41

Re: Ascii Zeichen aus einer Datei entfernen
 
Ja das hatte ich wohl etwas falsch ausgedrückt. Aber ich denke das man erkannt hat worum es geht.

Bernhard Geyer 25. Mai 2009 13:45

Re: Ascii Zeichen aus einer Datei entfernen
 
Zitat:

Zitat von DBasner
Ja das hatte ich wohl etwas falsch ausgedrückt. Aber ich denke das man erkannt hat worum es geht.

Nicht unbedingt. Um welche Zeichen handelt es sich denn? Evtl. ist dein Ansatz für das Problem nicht geeignet.

DBasner 25. Mai 2009 13:49

Re: Ascii Zeichen aus einer Datei entfernen
 
Code:
”
Es handelt sich um solche Zeichen, die ich aus der Datei entfernen will.

Namenloser 25. Mai 2009 13:51

Re: Ascii Zeichen aus einer Datei entfernen
 
Zitat:

Zitat von DBasner
Ja das hatte ich wohl etwas falsch ausgedrückt. Aber ich denke das man erkannt hat worum es geht.

Nicht wirklich. Was heißt für dich "Text"? Buchstaben von A-Z? Und vergiss nicht, dass "Ascii-Zeichen" auch in Binärdaten vorkommen.

Delphi-Quellcode:
function FilterChars(const s: string; Allowed: Set of Char): string;
var
  LIndex: integer;
  i: integer;
begin
  SetLength(result,length(s));
  LIndex := 0;
  for i := 1 to Length(s) do
  begin
    if (s[i] in Allowed) then
    begin
      inc(LIndex);
      result[LIndex] := s[i];
    end;
  end;
  SetLength(result,LIndex);
end;

function FilterText(const s: string): string;
begin
  result := StripChars(s, ['A'..'Z','a'..'z']);
end;
So könnte das funktionieren, wenn ich dich richtig verstehe.

DeddyH 25. Mai 2009 13:56

Re: Ascii Zeichen aus einer Datei entfernen
 
Nun macht doch keine Wissenschaft daraus. Angenommen, er hat eine Textdatei, die mit UNIX erstellt wurde. Diese verwendet dann statt CRLF nur LF, was in Notepad dann blöde aussieht. Das ließe sich mit
Delphi-Quellcode:
StringVar := StringReplace(StringVar,#10,#13#10,[rfReplaceAll]);
bereinigen, wenn es nicht unbedingt auf Geschwindigkeit ankommt.

DBasner 25. Mai 2009 14:17

Re: Ascii Zeichen aus einer Datei entfernen
 
Vielen Dank für die vielen Hilfestellung.

:)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 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