Zitat von
flossinger:
@koos
es ist ja wunderbar, wie du solche Grundsätze herunterbeten kannst. Aber ein paar Demozeilen, in denen es um etwas anderes geht, so klugscheisserisch zu kritisieren, das entbehrt nicht eines etwas skurilen charmes. Aber gratuliere, dass du eine anscheinend dringend benötigte Glegenheit gefunden hast, dein ach so grosses Wissen zu verbreiten.
smiling, der flossinger
Ich habe einen Nick und man muss nicht unbedingt einem mit dem Nachnamen ansprechen. Und ich weiss nicht warum ich ein Beispiel geben sollte wie eine Methode aussieht. Ich habe geschrieben wie man das angesprochene Makel leicht beheben kann und du willst wirklich das ich als Beispiel Codezeilen dazu liefere? Also wenn dir nicht bewusst ist was der Unterschied zwischen Methoden und Proceduren ist, dann glaube ich auch nicht, dass dir die Codezeilen helfen werden. Aber bitte, hier hast du sie:
Delphi-Quellcode:
procedure TForm1.log(text:string);
begin
memo1.lines.add(text);
end;
Und, hilft's?
Obwohl ich nicht glaube das es beachtet wird, aber trotzdem noch ein paar Dinge (und nein, ohne Code - wenn man es selber macht, versteht man es besser...)
1. Einen TFileStream mit fmCreate im Konstruktor überschreibt auch vorhandene Dateien, also müsste unterschieden werden ob die Datei schon vorhanden ist oder nicht und entsprechend andere Parameter übergeben werden.
2. SendStream() beim senden war doch recht einfach und hat die Sache genauso gut erledigt. Du merkst ja vielleicht selber, dass der neue Weg über einen Buffer umständlicher ist als nötig (zumindest beim senden)
3. Wenn die Datei grösser ist, dann hast du beim Empfangen (sowie zZ noch beim Senden) ein Problem, da du soviel Speicher alloziierst. Besser wäre hier eine feste Puffergrösse und entsprechend immer Blockweise einlesen und senden bis alle Daten empfangen/gesendet wurden.