Einzelnen Beitrag anzeigen

Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
880 Beiträge
 
Delphi 11 Alexandria
 
#20

AW: ChatGPT - Wow! (Cron-Job)

  Alt 7. Jul 2024, 11:26
Da fragt man sich dann natürlich, woher ChatGPT diesen Code geklaut hat, denn selbst produzieren kann es ja nicht.
Bevor ich mich daran gesetzt habe, den Code selber zu schreiben, habe ich nach Delphi-Code dafür gesucht. Abgesehen von lizenz-technisch inkompatiblem Code von 3delite.hu habe ich wenig brauchbares gefunden. Und in diesem kostenlos downloadbaren Code ist schon die Struktur des Headers signifikant anders - dort ist auch das Array mit den Segmentgrößen im Record enthalten. Beim auslesen wird das Record dann in zwei Schritten gefüllt, da man am Anfang nicht weiß, wie groß das Array tatsächlich ist.

Wenn "geklaut" dann vermutlich von einer anderen Sprache, und dann nach Delphi übersetzt. Aber alleine das ist dann auch schon beeindruckend, finde ich.

Ähnlich, aber nicht exakt gleich. Kannst Du ja mal vergleichen, sieht jedenfalls deutlich strukturierter aus als alles andere.
Das ist ja nun interessant. Der Code ist nämlich fehlerhaft:
Delphi-Quellcode:
// Skip page segments
  FileStream.Seek(OggHeader.PageSegments, soCurrent);
Tatsächlich muss man nämlich "PageSegments" viele Bytes lesen, und aus diesen Werten die Größe der OggPage zu berechnen, die man anschließend per Seek überspringt. Das ist der Teil
Delphi-Quellcode:
SetLength(PageSegments, OggPageHeader.PageSegments);
FileStream.Read(PageSegments[0], OggPageHeader.PageSegments);

SegmentSize := 0;
for I := 0 to OggPageHeader.PageSegments - 1 do
  Inc(SegmentSize, PageSegments[I]);

FileStream.Seek(SegmentSize, soFromCurrent);
aus meinem Ergebnis.
The angels have the phone box.
  Mit Zitat antworten Zitat