Text und Bild (Image) in EINE Datei speichern/laden

hbrauchl

Mitglied
Hallo zusammen!

Ich würde gerne einen Text (bzw. Struktur) und ein Bild (Image) in eine
Datei speichern und dann wieder laden.

So hätte ich es mir vorgestellt - jedoch unterstützt GET und PUT "Eigenschaften"nicht:

Speichern:

Code:
Public Sub Speichern()

Dim Dateipfad As String
Dim Dateiname As String
Dim Datei As String
Dim Bild as Image

Dim ff As Integer
Dim Test  As String

ff = FreeFile

Dateipfad = "C:\"
Dateiname = "Struktur.xyz"
Datei = Dateipfad & Dateiname

Test="Hallo 1234"
Bild = Picture1.Image
 
  Open Datei For Binary Access Write As ff
    Put ff, , Test
    Put ff, , Bild
  Close ff

End Sub

Laden:

Code:
Public Sub Speichern()

Dim Dateipfad As String
Dim Dateiname As String
Dim Datei As String

Dim intDateinummer As Integer
Dim Test As String
Dim Bild as Image

intDateinummer = FreeFile

Dateipfad = "C:\"
Dateiname = "Struktur.xyz"

Datei = Dateipfad & Dateiname

Open Datei For Binary Access Read As intDateinummer
     Get #intDateinummer, , Test
     Get #intDateinummer, , Bild

Close intDateinummer

End Sub


Weiß jemand wie ich das Problem lösen kann?
Ich wäre sehr, sehr dankbar für eure Hilfe.


LG,
Hans
 
Schau dir mal diesen Thread an. Dort brauchst du blos die Struktur "Polygon_descriptor" (oder "Benutzerdefinierten Typ", wie man es halt nennen will) durch deine Struktur ersetzen.

Das hier:
Code:
Open Datei For Binary Access Read As intDateinummer
	 Get #intDateinummer, , Test
	 Get #intDateinummer, , Bild

Close intDateinummer
kann übrigens nicht funktionieren. Du gibst keine Position an, ab wo gelesen werden soll. Das heißt, für "Test" und "Bild" werden die gleichen Bytes ausgelesen.
 
Hi!

Ich habs glaube ich ein wenig schlecht formuliert:

Das mit der Struktur ist mir schon klar, jedoch weiß ich nicht wie ich
ein Bild (BMP, JPEG, usw.) in eine Datei dazuspeichern kann.

Mit
Code:
Bild as Image
geht es zB. nicht.

Weiß hier jemand bescheid?

Vielen lieben Dank im voraus.

LG,
Hans
 
Probier mal "Bild as IPictureDisp"
Edit: Ich hab's gerade getestet, einen benutzerdefinierten Typ mit einem Bild drin kann man nicht mittels "Put" in eine Datei abspeichern.
Ich würde dir empfehlen, deine Sachen mit einem PropertyBag zu speichern.
Hier hat mir Filone mal ein bisschen erklärt, wie das geht. ;) (so ab der Hälfte des Threads ungefähr)
 
Zuletzt bearbeitet:
Hi!

Danke für den Tipp.

Jedoch, so wie ich das jetzt verstehe, wird eine eigene .pbg Datei erstellt.

Ich will aber zu meiner aktuellen Datei Daten (also ein Image in dem Fall)
hinzufügen.

Zur Not könnte ich mein BMP auch in einen Buffer einlesen und dann
den Buffer dazuspeichern. Diese Lösung ist mir aber zu unsauber.

Hast Du eine Ahnung wie ich das Problem lösen kann?
Danke im voraus.


LG,
Hans
 
Hi!

Du kannst die Datei doch benennen wie du willst. Ich verstehe dein Problem nicht.

Ja eh, schon klar, aber ich will ja meine Daten PLUS die Daten der Eigenschaft
komplett in EINER Datei.

z.B: Array[20] + String + Integer + PICTURE ----> fertig.xyz

Danke nochmals.

LG,
Hans
 
Zurück