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



## hbrauchl (18. August 2005)

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:


```
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:


```
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


----------



## Shakie (18. August 2005)

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:

```
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.


----------



## hbrauchl (18. August 2005)

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 
	
	
	



```
Bild as Image
```
 geht es zB. nicht.

Weiß hier jemand bescheid?

Vielen lieben Dank im voraus.

LG,
Hans


----------



## Shakie (18. August 2005)

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)


----------



## hbrauchl (18. August 2005)

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


----------



## hbrauchl (22. August 2005)

Hallo zusammen!

Weiß jemand eine Lösung für mein Problem?

Ich wäre euch sehr dankbar.


LG,
Hans


----------



## Shakie (22. August 2005)

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


----------



## hbrauchl (22. August 2005)

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


----------



## Shakie (30. August 2005)

Du kannst doch mehrere Sachen auf einmal in einem PropertyBag-Objekt speichern.


----------

