Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi probleme mit stringverarbeitung (https://www.delphipraxis.net/60859-probleme-mit-stringverarbeitung.html)

morduk666 13. Jan 2006 10:13


probleme mit stringverarbeitung
 
jo hallo,

ich habe n seltsames problemchen, finde da leider auch nix drüber hier im forum

habe folgenden code :

Delphi-Quellcode:
item:=tteitem.create(popup);
item.caption:= 'TEST';
in einer andren prozedur will ich dann die caption abfragen

Delphi-Quellcode:
item.caption:=item.Caption;

popupname:=item.caption;
(das komische ist nun auch durch die zuweisung item.caption := item.caption wird schon irgendwie was verändert. ohne das bleibt )der string komplett leer.

nun ist folgendes problem

wenn ich auf item.caption einen haltepunkt setze und mir dann bei der ausführung den inhalt der variable anzeigen lasse zeigt er mit folgenden wert an:

'T'#0'E'#0'S'#0'T'#0

wenn ich die variable mit showmessage anzeigen lassen will dann ist der string leer. und beim weiterverarbeiten von dem string erhalte ich den 1. buchstaben also T

ich hab jetzt schon versucht mit StringReplace den überschüssigen krams (also #0) rauszufiltern aber ich erhalte da immer nen leerstring
was hat es denn damit auf sich und wie kann ich das umwandeln? häng da nun schon seit 2 tage drann und komm irgendwie nicht mehr weiter. die delphi hilfe sagt irgendwas von nullterminierten strings oder sowas, aber kA was sache ist

bin um jede hilfe dankbar

Bernhard Geyer 13. Jan 2006 10:21

Re: probleme mit stringverarbeitung
 
Delphi-Version?
Was ist tteitem?
Was für ein Typ ist tteitem.Caption und popupname?

morduk666 13. Jan 2006 10:25

Re: probleme mit stringverarbeitung
 
Zitat:

Zitat von Bernhard Geyer
Delphi-Version?
Was ist tteitem?
Was für ein Typ ist tteitem.Caption und popupname?

delphi verison 7.0

tteeitem ist TItem
und caption und popupname ist jeweils n string

Schaedel 13. Jan 2006 10:26

Re: probleme mit stringverarbeitung
 
Gib dem kreierten ding mal einen Namen
also item.name
dannn geh mal mit Findcomponent dran und setze dann die caption...
Und frag mal die Caption mit Findcomponent wieder ab

jim_raynor 13. Jan 2006 10:27

Re: probleme mit stringverarbeitung
 
Die #0 zwischen den Buchstaben deuten darauf hin, dass Caption ein WideString (1 zeichen = 2 Byte: Stichwort Unitcode) ist. Von daher müssen alle Funktionen/prozeduren/Variablen die mit dem String arbeiten auch vom Typ WideString sein.

morduk666 13. Jan 2006 10:29

Re: probleme mit stringverarbeitung
 
ahhha mal schaun was dann passiert wenn ich die mit widestring weiterverarbeite

Bernhard Geyer 13. Jan 2006 10:30

Re: probleme mit stringverarbeitung
 
Zitat:

Zitat von jim_raynor
Die #0 zwischen den Buchstaben deuten darauf hin, dass Caption ein WideString (1 zeichen = 2 Byte: Stichwort Unitcode) ist. Von daher müssen alle Funktionen/prozeduren/Variablen die mit dem String arbeiten auch vom Typ WideString sein.

Normalerweise sollte das kein Problem sein. Delphi macht mit "Compilermagic" führt eine automatische Konvertierung durch - Jedenfalls macht das mein D6.

Kannst Du ein Testprojekt mit diesem Problem erstellen? Ich denke irgendwo ist da ein unpassende PWideChar <-> String-Wandlung.

morduk666 13. Jan 2006 10:37

Re: probleme mit stringverarbeitung
 
hmm kann mann widestring nicht in string problemlos konvertieren? habe eigentlich nirgends widestrings als variablen gesetzt.

wenn das nicht so einfach geht mach ich nachdem ich erstma ne runde geschlafen habe n testprojekt und poste das hier mal

morduk666 14. Jan 2006 07:38

Re: probleme mit stringverarbeitung
 
ok das problem hat sich erledigt. es lag an der fremdfirmen popup kompo von ThemeEngine. mit der standard kompo gehts einwandfrei. fehlt dann halt nur leider meine optik, aber was solls.

danke aber an alle die mir weiter geholfen haben

Bernhard Geyer 14. Jan 2006 19:25

Re: probleme mit stringverarbeitung
 
Zitat:

Zitat von morduk666
ok das problem hat sich erledigt. es lag an der fremdfirmen popup kompo von ThemeEngine. mit der standard kompo gehts einwandfrei. fehlt dann halt nur leider meine optik, aber was solls.

Hast Du das Problem denen schon gemeldet. Ich denke die werden dafür auch 'ne Lösung haben.

yaya88 24. Jan 2006 15:27

Re: probleme mit stringverarbeitung
 
hallo!
ich bin durch zufall auf diese seite gekommen und gesehn dass einem hier bei string-sachen geholfen wird.
ich habe borland delphi6 und kenne mich noch nicht so gut aus.
ich muss ein programm schreiben, das jeden satz der eingegeben wird wieder falschrum herausspuckt. Kann mir jemand sagen ob un wie delphi von alleine erkennen kann wann ein wort in einem string anfängt und aufhört?

inherited 24. Jan 2006 15:37

Re: probleme mit stringverarbeitung
 
Herzlich Willkommen in der DP (wollt ich schon immer mal sagen können :D)

Ich nehme an das Programm brauchst du für den Informatik-Unterricht oder so ;)
Also eeigntlich müsstest dus dann selbst lösen, aber ein, zwei ansätze auf die schnelle:

Delphi-Quellcode:
for i := 1 to Length(string) do
begin
  if s[i]=' ' then
//weiter darfst du selbst machen :D
sonst wärs ja zuu leicht.
ok ist vielleicht nich der BESTE Weg, andere DPler verzeiht mir ;)

yaya88 24. Jan 2006 15:50

Re: probleme mit stringverarbeitung
 
und was ist s[i] fürn variablen typ

freak4fun 24. Jan 2006 15:57

Re: probleme mit stringverarbeitung
 
Hallo :hi:,
wenn man hier eine Frage hat die nicht zur Ausgangsfrage passt erstellt man eigentlich einen neuen Thread. Merk dir das bitte für die Zukunft. Hier werden täglich Fragen zu Strings beantwortet, wenn die alle in einen Thread abgehandelt werden wird das ein heilloses Durcheinander. ;)

i ist vom Typ Integer und s von Typ string. s[i] ist das Zeichen an der Stelle i in der Zeichenkette s. :)

MfG
freak

yaya88 24. Jan 2006 16:02

Re: probleme mit stringverarbeitung
 
hi!
sorry hab ich ganz vergessen. danke für eure hilfe leutz, habs zwar noch ned hinbekommen aber wird schon irgendwie gehn. Seidt echt super! :hello: :zwinker:


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