AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Bild austauschen ! mit ner ini
Thema durchsuchen
Ansicht
Themen-Optionen

Bild austauschen ! mit ner ini

Ein Thema von Spike2k3 · begonnen am 23. Aug 2003 · letzter Beitrag vom 23. Aug 2003
Thema geschlossen
Spike2k3

Registriert seit: 20. Aug 2003
73 Beiträge
 
Delphi 7 Enterprise
 
#1

Bild austauschen ! mit ner ini

  Alt 23. Aug 2003, 21:26
Hi,
Ich möchte gerne eine Backgroundchange Funktion in mein Projekt einbauen.
Ich hab ein Bild und das möchte ich nun austauschen, gegen ein anderes.
Delphi-Quellcode:
procedure TForm2.ndern1Click(Sender: TObject);
begin

begin
  ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+ 'File1.ini');
  try
    Bild:=ini.ReadString('Backs','BG','D:/b.jpg')
  finally
    ini.free;
    end; // da wird der Pfad des neuen Pics aus die ini gelesen
Image1.Picture := Bild;
end;
end;
So sieht das grad bei mir aus.
Aber da meint das Progie immer, das string und pic nich gehn.
Kann man denn nicht durch Angabe eines Strings aus ner *.ini den Pfad für das im Prog. angezeigte Bild bestimmen?
Oder, wie lässt sich das Bild überhaupt austauschen?
Bei Filme und ner Ini klappt das einwandfrei, nur die Bilder woll n nich

Hoffe auf baldige Hilfe.
MfG, Spike2k3
 
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Bild austauschen ! mit ner ini

  Alt 23. Aug 2003, 21:54
Moin Spike,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

In der Regel kann man wohl sagen: Der Compiler hat immer recht

Aber im Ernst:
Du liest den Pfad zu der Datei aus, wie Du ja selber schreibst, also musst Du dann

Image1.Picture.LoadFromFile(Bild); verwenden, um das Bild zu laden.

Wie machst Du's denn beim Film?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
 
Spike2k3

Registriert seit: 20. Aug 2003
73 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Bild austauschen ! mit ner ini

  Alt 23. Aug 2003, 22:04
Hier ist mal der ganze Code, noch ohne deinen Tip.
Zusammenfassung unten drunter.
Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, MPlayer, ExtCtrls, ToolWin, ActnMan, ActnCtrls,
  ActnMenus, Menus, jpeg, inifiles;

type
  TForm2 = class(TForm)
    Button1: TButton;
    MediaPlayer1: TMediaPlayer;
    Panel1: TPanel;
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    Schliessen1: TMenuItem;
    Image1: TImage;
    Zurck1: TMenuItem;
    Optionen1: TMenuItem;
    Hintergrundbildndern1: TMenuItem;
    Edit1: TEdit;
    Movie1: TMenuItem;
    Whlen1: TMenuItem;
    BritneyonHawaii1: TMenuItem;
    StarwarsOuttakes1: TMenuItem;
    N11: TMenuItem;
    ndern1: TMenuItem;
    procedure Button1Click(Sender: TObject);
    procedure Schliessen1Click(Sender: TObject);
    procedure Zurck1Click(Sender: TObject);
    procedure BritneyonHawaii1Click(Sender: TObject);
    procedure StarwarsOuttakes1Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure ndern1Click(Sender: TObject);
      private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;
  ini: TIniFile;
  Pass,Moviez,Bild : String;

implementation

uses Unit1;

{$R *.dfm}


procedure TForm2.Button1Click(Sender: TObject);
  begin
  begin
  //Öffnen einer INI-Datei, existiert sie nicht, wird sie neu erzeugt
  ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+ 'File1.ini');
  //ini.WriteString('Form','Pass','Hans');
  //Werte auslesen (s. Beispiel oben)
  //die Parameter: Abschnittsname, Wertname, Standardrückgabewert,
  //falls nicht vorhanden

  try
    Pass:=ini.ReadString('Form','Pass','Horst');
    Moviez:=ini.ReadString('Movies','Moviez','D:\Moviez\starwars.mpeg');
  finally
    ini.free;
    end;
if Edit1.Text = Pass then
begin
  MediaPlayer1.FileName := Moviez;
  MediaPlayer1.open;
  MediaPlayer1.Display:=panel1;
  MediaPlayer1.DisplayRect:=Panel1.ClientRect;
  MediaPlayer1.Play;
end
else showmessage ('IRRE???? OHNE Pass meine Moviez gucken? Fick dich !!!!')
end;
end;
procedure TForm2.Schliessen1Click(Sender: TObject);
begin
close;
end;

procedure TForm2.Zurck1Click(Sender: TObject);
begin
form2.Hide; form1.Show;
end;

procedure TForm2.BritneyonHawaii1Click(Sender: TObject);
begin
begin
  ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+ 'File1.ini');
try
    ini.WriteString('Movies','Moviez','D:\Moviez\Britney.Spears.en.Hawaii.avi');
finally
ini.free;
end;
end;
end;
procedure TForm2.StarwarsOuttakes1Click(Sender: TObject);
begin
begin
  ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+ 'File1.ini');
try
    ini.WriteString('Movies','Moviez','D:\Moviez\starwars.mpeg');
finally
ini.free;
end;
end;
end;

procedure TForm2.N11Click(Sender: TObject);
begin
begin
  ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+ 'File1.ini');
try
    ini.WriteString('Backs','BG','D:/a.jpg');
finally
ini.free;
end;
end;
end;
procedure TForm2.ndern1Click(Sender: TObject);
begin

begin
  ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+ 'File1.ini');
  try
    Bild:=ini.ReadString('Backs','BG','D:/b.jpg')
  finally
    ini.free;
    end;
//Image1.Picture := Bild;
end;
end;
end.
Hab einfach ne Variable angegeben, die den neuen Filmnamen aus der ini liest und dann den neuen benutzt
Sehr simple eigentlich...
Ich probier jetzt ma deinen Tip.
 
Spike2k3

Registriert seit: 20. Aug 2003
73 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Bild austauschen ! mit ner ini

  Alt 23. Aug 2003, 22:09
Danke für den Tip, das klappt jetzt ...
Delphi-Quellcode:
procedure TForm2.ndern1Click(Sender: TObject);
begin

begin
  ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+ 'File1.ini');
  try
    Bild:=ini.ReadString('Backs','BG','D:/b.jpg')
  finally
    ini.free;
    end;
Image1.Picture.LoadFromFile(Bild);
end;
end;
Bild war zufällig auch meine Variable

Weisst du zufällig auch wie man bei ner Messagebox die Buttonclick definiert?
Means, wenn auf 'ja' dann blub, wenn auf 'nein' dann blüp.
Das bekomm ich nämlich auch nicht hin
 
Spike2k3

Registriert seit: 20. Aug 2003
73 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Bild austauschen ! mit ner ini

  Alt 23. Aug 2003, 22:12
Quelltext vergessen
Delphi-Quellcode:
procedure TForm1.Hintergrundndern1Click(Sender: TObject);
Begin
  with Application do
  begin
    messagebox('Na, Sarah Michelle Gellar','NOOOOOB',MB_YESNO);
    //wenn ich nu auf ja klicke, soll das passieren
ShellExecute(0, 'open', 'about:blank', nil, nil, SW_SHOW);
//wenn ich auf nein klicke, dann soll die box einfach verschwinden
end;

  end;
 
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Bild austauschen ! mit ner ini

  Alt 23. Aug 2003, 22:12
Moin Spike,

meine Frage war eher rhetorischer Natur.

Übrigens hier gilt:
Neue Frage, neuer Thread.


[EDIT]
Da ja Deine Eingangsfrage beantwortet ist mach' ich hier mal zu.
Solltest Du hier noch etwas hinzuzufügen haben, dann melde Dich bitte.
[/EDIT]
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
 
Spike2k3

Registriert seit: 20. Aug 2003
73 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Bild austauschen ! mit ner ini

  Alt 23. Aug 2003, 22:13
Ok, wusste ich nicht.
 
Thema geschlossen


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 04:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz