AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IdHTTPRangeStream VBuffer vor dem Senden verändern
Thema durchsuchen
Ansicht
Themen-Optionen

IdHTTPRangeStream VBuffer vor dem Senden verändern

Ein Thema von gabneo · begonnen am 3. Jan 2020 · letzter Beitrag vom 4. Jan 2020
 
gabneo

Registriert seit: 15. Okt 2006
Ort: Deutsche Toskana :)
93 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: IdHTTPRangeStream VBuffer vor dem Senden verändern

  Alt 4. Jan 2020, 14:32
Ich habe mich noch mal mit dem 2. Weg auseinander gesetzt und dazu weiter recherchiert.
Untyped Parameter kann man in Delphi mit einem @ direkt ansprechen (https://stackoverflow.com/questions/...type-parameter).

Somit war es mir möglich den Sourcestream dazu zu bringen, die bereits decodierten Bytes an den IdHTTPRangeStream weiter zu geben. Offset benötige ich scheinbar nicht.

Die verwendete Read-Funktion beginnt doch immer beim Anfang der Datei zu lesen?
Liest IdHTTPRangeStream immer die gesamte Datei ein und schneidet nur den relevanten Teil heraus?

Wie auch immer, hiermit funktionierts.
Code:
//{$IFNDEF NEXTGEN}
function TXFileStream.Read(var Buffer; Count: Longint): Longint;
var i, keylen, keypos: Cardinal; key: TArray<Byte>; x: Longint;
begin
  Result := FileRead(FHandle, Buffer, Count);
  if Result = -1 then
  begin
    Result := 0;
    exit;
  end;

  keylen := length(Chiffre);
  SetLength(key, keylen);
  for i := 1 to keylen do key[i-1] := ord(Chiffre[i]);
  keypos := 0;//Buffer;

  for x := 0 to Count-1 do
  begin
    TIdBytes(@Buffer)[x] := TIdBytes(@Buffer)[x] xor key[keypos]; //man beachte das @Buffer
    inc(keypos);
    if keypos > keylen - 1 then keypos := 0;
  end;
end;
//{$ENDIF !NEXTGEN}
Viele Grüße
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:43 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