Hi NG.
Delphi 4 (update 3)
Ich versuche gerade zu verstehen, wie ich Daten aus einem Stream auslesen kann.
Dazu habe ich folgenden Beitrag gefunden, insb.
->Antwort#15. Dort hat SirThornberry Code als Bsp. gepostet. Dabei verstehe ich das Auslesen nicht.
Delphi-Quellcode:
SetLength(LBuffer2, 50);
LBytes := AStream.Read(LBuffer2[1], 50);
LBuffer := copy(LBuffer2, 1, LBytes);
Dass es funktioniert, habe ich durch Nachbauen festgestellt. Mir fehlt es aber anscheinend an Grundlagen.
Warum muss ich für LBuffer2 die Länge vordefinieren? Im Read wird doch vorgegeben, dass ich 50 Bytes lesen will.
Warum muss ich anschließend das ganze in eine zweite Variable LBuffer umkopieren? Wenn das Read weniger als 50 Bytes liefert, also LBytes, macht das schon Sinn. Aber was ist, wenn das Stream ausreichend Bytes enthält?
Ihr merkt, ich bin bzgl Stream und Zeiger ein Anfänger. Ich habe mir auch schon das
Tutorial auf
DSDT.info dazu durchgelesen, komme aber immer noch nicht wirklich damit zurecht.
Klärt mich bitte auf
Gruß
Peter