Datei in das Programm "einbinden"

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von Maynard.

    Datei in das Programm "einbinden"

    Hi, weiß Jemand wie ich eine Datei in das Programm einbinden kann, Beispiel:

    - Ich will ein Programm an einen Freund weitergeben. (Das Programm enthält Bilder, die im Programm per Pfad angegeben wurden, Bsp.:

    VB.NET-Quellcode

    1. Image.Source = "C:\\Dokumente und einst........."
    )

    - Ich möchte meinem Freund nur die .exe- Datei geben, damit er keine Probleme beim Ausführen hat, wenn die Datei plötzlich verschoben, gelöscht, etc. wird (sich der Pfad ändert)

    Kennt Jemand dafür eine Lösung :?:
    Meinst du Application.StartupPath? Oder wenn das Bild in die Exe soll halt via Ressourcen, wurde hier ja schon öfter behandelt, einfach mal SuFu benutzen.
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    Ja, denn StartupPaht gibt dir den Pfad zurück, indem die Applikation gestartet wurde, also z.B. "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE" wenn du dann da nochmal "C:\..." dranhängst, kommt kein vernünftiger Pfad dabei raus.
    Dazu fallen mir eigenltich wie Agent nur Ressourcen ein. Gehe mal auf Projekt>"DeinProjektName"-Eigenschaften>Ressourcen. Dort dann Ressource hinzufügen und aussuchen, was es sein soll. Dann kannst du (bei einem Bild) z.B. schreiben:

    VB.NET-Quellcode

    1. PictureBox1.Image = My.Resources.MyPictureName
    Die MSDN beschreibt das so:

    So fügen Sie ein Bild als Ressource hinzu

    1. Wählen Sie im Menü Datei unter Neu den Befehl Projekt aus.
    2. Klicken Sie im Dialogfeld Neues Projekt im Bereich Vorlagen auf Windows-Anwendung.
    3. Geben Sie Pictures in das Feld Name ein, und klicken Sie dann auf OK.
      Ein neues Windows Forms-Projekt wird geöffnet.
    4. Doppelklicken Sie im Fenster Projektmappen-Explorer auf den Knoten Eigenes Projekt, um den Projekt-Designer zu öffnen.
    5. Klicken Sie im Projekt-Designer auf die Registerkarte Ressourcen.
    6. Klicken Sie auf Ressource hinzufügen, und wählen Sie dann in der Dropdownliste den Eintrag Vorhandene Datei hinzufügen aus.
      Das Dialogfeld Vorhandene Datei zu Ressourcen hinzufügen wird geöffnet. Wenn keine Bilddateien angezeigt werden, wechseln Sie zu einem Ordner, der Bilder enthält.
    7. Wählen Sie eine Bilddatei (mit einer BMP-, GIF- oder JPG-Dateierweiterung) aus, und klicken Sie anschließend auf Öffnen. Für dieses Beispiel wählen Sie am besten ein kleines Bild aus.
      Das Bild wird Ihrem Projekt hinzugefügt und im Fenster Ressourcen-Manager angezeigt.
    8. Wiederholen Sie die beiden vorherigen Schritte, wenn Sie dem Projekt ein zweites Bild hinzufügen möchten.
    9. Wählen Sie im Menü Datei den Befehl Schließen aus. Wenn Sie gefragt werden, ob Sie Änderungen speichern möchten, antworten Sie mit Ja.
    So zeigen Sie Bilder mit einem PictureBox-Steuerelement an

    1. Wählen Sie im Projektmappen-Explorer die Option Form1.vb und anschließend im Menü Ansicht die Option Designer aus.
    2. Ziehen Sie ein PictureBox-Steuerelement aus der Toolbox auf das Formular.
    3. Klicken Sie im Eigenschaftenfenster auf die Schaltfläche ... neben der Image-Eigenschaft, um das Dialogfeld Ressource auswählen zu öffnen.
    4. Wählen Sie aus der Liste Eingabe eines der hinzugefügten Bilder aus, und klicken Sie anschließend auf OK.
    5. Wählen Sie die SizeMode-Eigenschaft aus, und legen Sie AutoSize dafür fest.
      Beachten Sie, wie sich die Größe des PictureBox-Steuerelements automatisch ändert, um sich dem Bild anzupassen.
    6. Doppelklicken Sie im Formular auf das PictureBox-Steuerelement, um den PictureBox1_Click-Ereignishandler im Code-Editor zu öffnen.
    7. Fügen Sie dem PictureBox1_Click-Ereignishandler folgenden Code hinzu.

      Sie müssen "MyPictureName2" durch den aktuellen Namen des zweiten Bilds ersetzen, das Sie früher hinzugefügt haben.


      VB.NET-Quellcode

      1. PictureBox1.Image = My.Resources.MyPictureName2
    8. Drücken Sie F5, um das Programm auszuführen. Wenn das Formular angezeigt wird, klicken Sie auf das Bild, um das zweite Bild anzuzeigen.

    Formatierung etc ist fürn A****, da man die scheinbar nicht Kopieren kann, bzw es kommt das obendrüber heraus 8|
    Ich habe noch eine Frage:

    Wenn ich anstatt eines Bildes eine Musik- oder Video- Datei als Ressource benutze und die dann mit dem WMP Steuerelement abspielen will, kommt folgende Fehlermeldung:
    Die Datei die Sie wiedergeben möchten, weist eine Erweiterung auf (.datei) die nicht mit dem Dateiformat übereinstimmt. Die Wiedergabe der Datei kann zu einem unerwarteten Verhalten führen.

    Wenn ich auf "Trotzdem Abspielen" klicke, ist das Bild schwarz.

    Weiß Jamend wie ich das mit Musik und Videos hinbekomme. Ich habe es genause, wie mit den Bildern gemacht (nur halt andere Datei und WMP- Element)
    abspielen geht ganz normal mit dem echten WMP...

    ...übrigens ich habe das programm mal erstellt und dann die Bilddatei (die im programm als Ressource angegeben ist) nachdem erstellen gelöscht. Da konnte mein Programm die Datei nicht mehr anzeigen.

    Und das ist ja gerade was ich will: Das die datei im programm eingebaut ist und ich sie später löschen kann...

    Maynard schrieb:

    abspielen geht ganz normal mit dem echten WMP...

    ...übrigens ich habe das programm mal erstellt und dann die Bilddatei (die im programm als Ressource angegeben ist) nachdem erstellen gelöscht. Da konnte mein Programm die Datei nicht mehr anzeigen.

    Und das ist ja gerade was ich will: Das die datei im programm eingebaut ist und ich sie später löschen kann...
    Hi,

    kannst über die Eigenschaften der Datei umstellen. Standardmäßig sind die auf Verknüpfung eingestellt... Binde die ein in die .resx das sollte es dann auch gewesen sein.

    Viele Grüße
    Meinst du das mit den Mediafiles?

    Ich habe jetzt mal als Ressource ein Bild angegeben, allerdings nicht den Pfad als angegeben sondern über den ToolStrip auf "Ressource hinzufügen" -> "Bild hinzufügen" geklickt. Jetzt klappt es.