AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi String lässt sich nicht in die Datei schreiben...
Thema durchsuchen
Ansicht
Themen-Optionen

String lässt sich nicht in die Datei schreiben...

Ein Thema von Ricane · begonnen am 10. Dez 2003 · letzter Beitrag vom 14. Mär 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Ricane
Ricane

Registriert seit: 21. Mär 2003
Ort: Quickborn
170 Beiträge
 
Delphi 7 Architect
 
#1

String lässt sich nicht in die Datei schreiben...

  Alt 10. Dez 2003, 12:08
Moin,

ich will einen String in eine TIniFile schreiben.

Das Problem: Der String hat an der fünften Stelle einen "'". Daher werden immer nur die ersten vier Stellen weggeschrieben und nicht der ganze Rest.

Also dachte ich mir das ich mit StringReplace das ganze modifizieren könnte ... und zwar so:

Inhalt := StringReplace(Inhalt, '''', 'NEW', [rfIgnoreCase + rfReplaceAll]) Klappt nur leider nicht. Er ersetzt das "'" nicht, bzw. nicht an allen Stellen. Den mit den anderen StringReplace Funktionen die es hier gibt, werden zwar einige ersetzt, aber nicht alle. Also habe ich mir den String nochmal in einem HEX Editor angeguckt und da steht an der fünften Stelle statt "'" nur " ". Der Ascii Code dafür ist 00, also kein "echtes" Leerzeichen. In Delphi zeigt er aber ein "'" an...

Was also tun?!


Grüsse,

Ricane
Hendrik
So much to Code... so less Time....

www.RicaneSoftware.de
  Mit Zitat antworten Zitat
Akut-Programming

Registriert seit: 18. Aug 2003
648 Beiträge
 
#2

Re: String lässt sich nicht in die Datei schreiben...

  Alt 10. Dez 2003, 12:19
Hi!

Kann man in Delphi überhaupt mit "" arbeiten?? Der arbeitet doch glaube nur mit einzelnen Anführungszeichen. ('') Oder verwechsle ich es jetze??
Akut-Programming
be cool, be hot ... just be
  Mit Zitat antworten Zitat
Akut-Programming

Registriert seit: 18. Aug 2003
648 Beiträge
 
#3

Re: String lässt sich nicht in die Datei schreiben...

  Alt 10. Dez 2003, 12:24
Hab ma n bissl die DP durchsucht, schau dir dochma das Thema an. Vielleicht hilfts ja. ;o)

Greetz,
Akut-Programming
be cool, be hot ... just be
  Mit Zitat antworten Zitat
Benutzerbild von Sourcemaker
Sourcemaker

Registriert seit: 3. Sep 2003
Ort: Westoverledingen
264 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: String lässt sich nicht in die Datei schreiben...

  Alt 10. Dez 2003, 12:34
Hi,

also du hast statt einem Leerzeichen #20 ein #0 dann ersetzt halt mit:

Inhalt := StringReplace6(Inhalt, #20, 'NEW', [rfIgnoreCase + rfReplaceAll]) Gruß

Frank
Frank
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#5

Re: String lässt sich nicht in die Datei schreiben...

  Alt 10. Dez 2003, 13:59
Zitat von Sourcemaker:
Hi,

also du hast statt einem Leerzeichen #20 ein #0 dann ersetzt halt mit:

Inhalt := StringReplace6(Inhalt, #20, 'NEW', [rfIgnoreCase + rfReplaceAll]) Gruß

Frank
Ein Leerzeichen hat einen dezimalen Wert von 32, als Char also
Code:
#32
, der Hexwert ist 20, den müsste man in Delphi aber als Char so schreiben:
Code:
#$20
  Mit Zitat antworten Zitat
Benutzerbild von Sourcemaker
Sourcemaker

Registriert seit: 3. Sep 2003
Ort: Westoverledingen
264 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: String lässt sich nicht in die Datei schreiben...

  Alt 10. Dez 2003, 14:25
Klar hast recht ich habs verdreht.

Gruß

Frank
Frank
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#7

Re: String lässt sich nicht in die Datei schreiben...

  Alt 10. Dez 2003, 14:27
Ganz davon abgesehen wollte Ricane das '-zeichen ersetzen -> #39

Desweiteren denke ich, das dies hier nicht stimmt: [rfIgnoreCase + rfReplaceAll]

siehe definition: TReplaceFlags = set of (rfReplaceAll, rfIgnoreCase);

womit [rfIgnoreCase + rfReplaceAll] sowas wie 0+1 ist, also nur 1 bei rauskommt -> also nur rfIgnoreCase!

mach es einfach so:

Inhalt := StringReplace(Inhalt, #39, 'NEW', [rfIgnoreCase , rfReplaceAll]) mfg.
maximov
  Mit Zitat antworten Zitat
Benutzerbild von Sourcemaker
Sourcemaker

Registriert seit: 3. Sep 2003
Ort: Westoverledingen
264 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: String lässt sich nicht in die Datei schreiben...

  Alt 10. Dez 2003, 14:58
Hi Maximov,

ich denke es ging um #32 bzw. #0 was er ja mit Hex-Editor gefunden hat.
Mit der StringReplace-Syntax hast du sicherlich recht habe ich auch nur von Ricane ohne Prüfung übernommen.

Gruß

Frank
Frank
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#9

Re: String lässt sich nicht in die Datei schreiben...

  Alt 10. Dez 2003, 15:17
Seh ich auch gerade ...hauptsache wir konnten ihm hilfen.(?)
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
nur-ein-weiterer-thunder

Registriert seit: 13. Mär 2004
2 Beiträge
 
#10

Re: String lässt sich nicht in die Datei schreiben...

  Alt 13. Mär 2004, 20:38
Hmm, ich glaub eher, es war eher folgendes gemeint:
(mein Problem, daß ich grad hab - sry, daß ich damit störe )

showmessage(StringReplace(#100#98#0#85#105#122#151#100,#0,'',[rfReplaceAll])); Hintergrund: Ich hab mir ne Datei in einen Filestream gelesen und wollte jetzt mittels StringReplace Ersetzungen darin vornehmen. Solange in der Datei kein hexadezimaler Nullwert (#0) auftaucht, ist das auch absolut kein Problem mit StringReplace, leider verweigert mir die Funktion die Zusammenarbeit, sobald sie im FileStream auf #0 trifft.
Was kann ich tun?
  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 16:33 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