![]() |
AW: Windows, Stream und String hin her convert fehler - (für mich gelöst, Danke!)
Zitat:
Ich schrieb doch bereits das ich mich mit dem Reader/Writer nicht tiefer beschäftigt habe, ich wollte nur kurzfristig für mein (unentgeldlisches... oje.. wassn wort) Hobby-Ding an ein funktionierendes Resultat kommen, genau das habe ich damit erreicht. Klar, kein Unicode oder wenn man komplette Romane damit abarbeiten würde = Fehler. Das habe ich bereits begriffen, echt jetzt. Wenn ich mehr Zeit habe, die bei mir momentan sehr sehr knapp bemessen ist, spiele ich mit dem Reader/Writer rum um damit das gleiche zu erzielen mit dem Vorteil auch Unicode und Zeilenumbrüche oder sonstige Escape-Sequenzen korrekt zu interpretieren, doch dafür fehlt mir leider gerade einfach die Zeit. Wie dem auch sei, ich nahm Deinen Vorschlag bereits dankend an und zu gegebener Zeit (steht in meiner ToDo-Liste) werde ich definitiv damit erlernen umzugehen. Reader und Writer ist ja vom Namen bereits aussagekräftig genug, nur habe ich mich bis jetzt nur auf binärer Ebene mit Streams beschäftigt. (Ob der Code nun kürzer oder länger ist spielt in meinem Hobby eher eine untergeordnete Rolle, aber klar, kürzer klingt toller :P) |
AW: Windows, Stream und String hin her convert fehler
Zitat:
|
AW: Windows, Stream und String hin her convert fehler
Delphi-Quellcode:
Wahrscheinlich geht's besser....
function TKlasse.StringToStream ( const InputString: String; var ResultStream: TMemoryStream ): Boolean;
var i: Integer; begin // falls was schiefgeht, erstmal falsen Result := False; if (Length(InputString) >0) then begin // falls stream inexistent ist, einen erstellen, ansonsten auf null position stellen if (ResultStream = NIL) then ResultStream := TMemoryStream.Create else ResultStream.Position := 0; i := 0; try // stream beschreiben i := ResultStream.Write(InputString[1], Length(InputString) * SizeOf(Char)); finally // entweder haben wir es geschafft, oder auch nicht :-) Result:= (i = Length(InputString) * SizeOf(Char)); end; end; end; Gruß K-H |
AW: Windows, Stream und String hin her convert fehler
Was die anderen meinen: man kann die Zuweisung eleganter (und damit auch lesbarer) schreiben.
Delphi-Quellcode:
Noch besser:
if Bedingung then
Result := true else Result := false;
Delphi-Quellcode:
Somit muss sich niemand wegen doppelter Verneinung das Hirn verrenken ;)
// Einzeiler
Result := Bedingung; |
AW: Windows, Stream und String hin her convert fehler
Zitat:
Denn einen Vortail hat es beim Debuggen, - schnell drübersteppen, und man sieht direkt was die Bedingug war. - oder mal eben eine Breakpoint draufsetzen. |
AW: Windows, Stream und String hin her convert fehler
Dafür gibt es bedingte Breakpoints
|
AW: Windows, Stream und String hin her convert fehler
Ja natürlich, ist aber etwas umständlicher :stupid:
Kommt auf den Anwendungsfall an, wenn ich Breakpoints schnell ein/ausschalten möchte, um z.B. Events von externer Hardware zu debuggen, finde ich das ganz sinnvoll. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 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 by Thomas Breitkreuz