AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Große datenmenge in den Source-Code einbinden
Thema durchsuchen
Ansicht
Themen-Optionen

Große datenmenge in den Source-Code einbinden

Ein Thema von wendelin · begonnen am 2. Sep 2014 · letzter Beitrag vom 5. Sep 2014
Antwort Antwort
wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
126 Beiträge
 
Delphi 7 Enterprise
 
#1

Große datenmenge in den Source-Code einbinden

  Alt 2. Sep 2014, 22:56
Hallo,
ich möchte ca. 300.000 Bytes im Source-Code (ähnlich wie bei Data von Glyph's) direct in den
Source-Code einbinden. Also NICHT in einer Datei speichern.
Zur Laufzeit möchte ich diese Daten dann in ein dyn. Array laden. Wie geht das, und was ist der
effektivste Weg.

Wendelin
Wolfgang
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.338 Beiträge
 
Delphi 12 Athens
 
#2

AW: Große datenmenge in den Source-Code einbinden

  Alt 2. Sep 2014, 23:01
Ab in die Resourcen und dann TResourceStream (oder Gergleichen).

Man kann natürlich auch von einem Programm die Daten in Quellcode umwandeln, genauer in die Deklaration einer Konstante eines statischen Bxtearrax, oder du bastelst dir eine Komponente, welche das wie bei einer TImageList in der DFM speichert, aber das wäre dann doch zu krank.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 2. Sep 2014 um 23:06 Uhr)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#3

AW: Große datenmenge in den Source-Code einbinden

  Alt 5. Sep 2014, 06:32
Siehe Beitrag #2.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.629 Beiträge
 
Delphi 12 Athens
 
#4

AW: Große datenmenge in den Source-Code einbinden

  Alt 2. Sep 2014, 23:45
ich möchte ca. 300.000 Bytes im Source-Code (ähnlich wie bei Data von Glyph's) direct in den
Source-Code einbinden. Also NICHT in einer Datei speichern.
Zur Laufzeit möchte ich diese Daten dann in ein dyn. Array laden.
Aus welchem Grund muss es unbedingt im Source sein?

Brauchst du das hier für Delphi 7 oder geht auch ein aktuelles?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#5

AW: Große datenmenge in den Source-Code einbinden

  Alt 3. Sep 2014, 06:52
oder du nimmst eine MemTable z.B. TVirtualTable von Devart
Die Tabelle Kannst Du im Editor bearbeiten und auch Daten eintragen die im Source gespeichert werden.
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.487 Beiträge
 
Delphi 12 Athens
 
#6

AW: Große datenmenge in den Source-Code einbinden

  Alt 3. Sep 2014, 08:32
Als Resource anlegen und bei dieser Größe die Daten vorher komprimieren.
z.B. mit TCompressionStream, TDecompressionStream
Beispiel zum Daten lesen:
Delphi-Quellcode:
var
  MyData: packed array of Byte;
begin
  lStream1 := TResourceStream.Create(HInstence, 'MyData', RT_RCDATA);
  lStream2 := TDecompressionStream.Create(lStream1);
  SetLentgth(MyData, lStream2.Size);
  lStream2.ReadBuffer(MyData[0], lStream2.Size);
  lStream2.Free;
  lStream1.Free;
  Mit Zitat antworten Zitat
wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
126 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: Große datenmenge in den Source-Code einbinden

  Alt 3. Sep 2014, 10:51
Hallo,
zunächst einmal vielen Dank für Eure vielfältigen Antworten.
Ich muß mich erst einmal mit allen den angesprochenen Möglichkeiten beschäftigen.

An Herrn Raabe : Ich bin Hobby-Programmierer und habe nur Delphi 2,5,6,7 zur Verfügung.
Um zu verhindern, dass eine gespeicherte Datei einfach gelesen werden kann
(auch komprimiert) möchte ich die Daten im Source haben; ich brauche sie für
mein Crypto-Tool.

nochmals vielen Dank
Wendelin
Wolfgang
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#8

AW: Große datenmenge in den Source-Code einbinden

  Alt 3. Sep 2014, 11:00
Das geht aber fast genauso einfach, wenn die Daten in der EXE sind. Da müsstest Du dich schon sehr bemühen, die Daten verteilen, zerstückeln, mischen usw, um sie dann in Memory wieder zusammen zu basteln. Und dann kann man das auch knacken.

Security by obscurity ist keine gute Strategie bei der Verschlüsselung.
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:12 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