AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Geisterhafte Zeichen im String entfernen ($D#$A)
Thema durchsuchen
Ansicht
Themen-Optionen

Geisterhafte Zeichen im String entfernen ($D#$A)

Ein Thema von Ajin · begonnen am 21. Mär 2007 · letzter Beitrag vom 21. Mär 2007
Antwort Antwort
Ajin

Registriert seit: 23. Feb 2006
Ort: Mons
252 Beiträge
 
Delphi 2010 Professional
 
#1

Geisterhafte Zeichen im String entfernen ($D#$A)

  Alt 21. Mär 2007, 14:00
Datenbank: mysql • Version: 4 • Zugriff über: mysqllib.dll
Ich nutze diese Funktion:
GetResult : Function (SQLResult:Pchar;ResultLen:Integer):Boolean; Der Aufruf:
Delphi-Quellcode:
var ResultLen, pos_x, i : Integer;
    SQLResult : PChar;
    resultstring: String;

ResultLen := QuerySQL('datenbankname'
                            ,Pchar('select user_pw from tomaten_user where user_name = "'+ e_login.text + '"'));
      
      memo_news.Lines.Add('Speicherbedarf: ' + IntToStr(ResultLen));
      getMem(SQLResult, ResultLen);
      GetResult(SQLResult, ResultLen);
      resultstring := String(SQLResult);
Das SQL-Ergebnis der Abfrage sieht so aus: Tomaten#$D#$A

Mein gewünschtes Ergebnis wäre Tomaten. Dieser Anhang #$D#$A muss weg, ich weiss auch nicht wo er herkommt. Im Memo steht dann wirklich das Wort Tomaten, aber der Debugger zeigt diesen komischen Anhang an.

Wenn ich nun Tomaten mit Tomaten#$D#$A vergleiche stimmt das natürlich nicht überein. Deshalb wollte ist das #$D#$A mit Pos und Delete wegoptimieren.

Delphi-Quellcode:
      pos_x := Pos('#', resultstring);
      if pos_x <> 0 then
      begin
        Delete(resultstring, pos_x, 6);
      end;
Komischerweise wird nie ein # gefunden. Was mach ich wieder falsch?

Gruselige Grüsse JJ
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.594 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Geisterhafte Zeichen im String entfernen ($D#$A)

  Alt 21. Mär 2007, 14:08
#d#a entspricht 0x10 0x13 und damit einem Zeilenumbruch.

Bekommst Du z.B. mit Trim() weg.
Sven Harazim
--
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#3

Re: Geisterhafte Zeichen im String entfernen ($D#$A)

  Alt 21. Mär 2007, 14:11
Der Debugger zeigt nicht anzeigbare ASCII-Zeichen in einer Erstznotation. Die Darstellung ist die Notation fuer Zahlen vom Typ Char in Hex in Delphi-Sourcen.
Die beiden Zeichen heissen CarriageReturn und LineFeed und stellen einen Zeilenwechsel dar.
Einfach die beiden letzten Zeichen des Strings loeschen und fertig.
S := Copy(S, 1, Length(S) - 2);
  Mit Zitat antworten Zitat
Ajin

Registriert seit: 23. Feb 2006
Ort: Mons
252 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Geisterhafte Zeichen im String entfernen ($D#$A)

  Alt 21. Mär 2007, 14:15
Ah das ist ja interessant ! Gut zu wissen und erneut meinen Dank an euch.
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:43 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