Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
2. Nov 2004
Im Source der Funktion habe ich ein Stückchen auskommentiert. Lies dazu mal den Kommentar, der beantwortet exakt diese Frage. Die normale Funktion betrachtet jeden einzelnen Separator als Separator für einen Teilsting. Zb. bei einem String wie "rot,grün,gelb,,blau" wäre es logisch das der String zwischen ",," eben auch gezählt wird und einen eigenen Index besitzt. Nun, die Standardvorgehensweise...
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
30. Okt 2004
probier mal
R := Pointer(Result);
while S < D do
begin
R^ := S^;
Inc(S);
Inc(R);
end;
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
30. Okt 2004
Ja, man könnte jeden Spezialfall mit einer eigenen Abfrage programmieren. Ich persönlich hasse das aber. Lieber die Funktionen so allgemein, kurz und schnell wie möglich halten.
Zb. in meinem obigem Vorschlag würde bei Text = '';
while (S^ <> #0) ... do;
schon zuschlagen. D.h. eine einzigste Abfrage. Dann weiter:
D := S;
while (D^ <> #0) do ;
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
30. Okt 2004
@Nothine: tja, das sind solche internen Änderungen zwischen den einzelnen Delphi Versionen. Bis Delphi 5 bin ich mir sicher das intern PChar(String) identisch zu Pointer(String) ist. Wenn aber in Delphi 7 intern LStrToPChar() aufgerufen wird dann muß das seine Gründe haben. Da wir unbedingt einen 0-terminierten PChar benötigen würde ich es so lassen wie es ist. Einfach der Kompatibilität halber....
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
29. Okt 2004
Warum sollte es ?
Gruß Hagen