Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Copy funktioniert nicht immer? (https://www.delphipraxis.net/79231-copy-funktioniert-nicht-immer.html)

draGo 18. Okt 2006 15:48


Copy funktioniert nicht immer?
 
Moin DP,

ich möchte (wie man sicherlich aus dem Thementitel entnehmen kann ^^) mit der Copy Funktion arbeiten...
Das funktioniert auch soweit..zumindest bei folgendem:

Delphi-Quellcode:
x := Copy('String',1,3); // Hier ist x = "Str"
beim auslesen eines Sockets mit

Delphi-Quellcode:
x := Copy(ClientSocket1.Socket.ReceiveText,1,3);
kommt überhaupt nichts heraus...bzw. ein leerer String.
Welche Ursachen hat das / wie kann ich das beheben?

mfG
draGo

Neutral General 18. Okt 2006 15:49

Re: Copy funktioniert nicht immer?
 
Vielleicht weil

Delphi-Quellcode:
ClientSocket1.Socket.ReceiveText = ''
? :stupid: :mrgreen:

Gruß
Neutral General

Daniel 18. Okt 2006 15:50

Re: Copy funktioniert nicht immer?
 
Was steht denn in "ClientSocket1.Socket.ReceiveText" drin?

Nur zum Testen ... speichere das mal in einem String und lasse Dir den Anzeigen, meinetwegen via ShowMessage().

mkinzler 18. Okt 2006 15:54

Re: Copy funktioniert nicht immer?
 
.ReceiveText wird ne property sein, dann funktioniert das so nicht. Speichere den Wert zuerst in eine lokale Stringvariable und wende Copy dann auf diese an.

Pseudemys Nelsoni 18. Okt 2006 15:59

Re: Copy funktioniert nicht immer?
 
Hi,

das liegt darann, weil du VORHER wahrscheinlich schonmal ReceiveText aufgerufen hast. Das funktioniert aber nur einmal. Beim aufruf der Funktion/Property werden die geholten Daten aus dem Puffer entfernt.

Lies die Daten zuerst in einen String und arbeite dann mit diesem, also:

Delphi-Quellcode:
s := socket.ReceiveText;
x := Copy(s,...

draGo 18. Okt 2006 16:06

Re: Copy funktioniert nicht immer?
 
Hallo,

ich habe den empfangenen Text auch schon in eine variable gespeichert..selbe Ergebnis. (nichts...)

//EDIT: *mit hand vor stirn klatsch* Sorry...hatte doch noch etwas übersehen. Tatsächlich wurde es vorher schoneinmal benutzt :?
Nunja, danke :) Jetzt funktioniert es.

mfG
draGo

mkinzler 18. Okt 2006 16:08

Re: Copy funktioniert nicht immer?
 
Hast du dir mal angesehen, was .ReceiveText zurückliefert?


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz