Avatar billede guskii Nybegynder
08. januar 2002 - 17:13 Der er 23 kommentarer og
1 løsning

Skifte billeder

Jeg er ved at lave et program, som jeg skal aflevere, som projektopgave, der står noget tekst i venstre side, og i højre side skal der være nogle billeder som man kan skifte ud, ved hjælp af en frem og en tilbage knap, hvordan gør jeg det.

På forhånd tak.
Avatar billede stone Forsker
08. januar 2002 - 18:32 #1
skal teksten også skifte?
Avatar billede guskii Nybegynder
08. januar 2002 - 19:06 #2
ikke med de samme knapper, men det har jeg fikset
Avatar billede guskii Nybegynder
08. januar 2002 - 19:06 #3
Nu mangler jeg bare det med billederne
Avatar billede stoney Nybegynder
08. januar 2002 - 20:08 #4
Jeg kan lave et eks. til.
Men hvor ligger billederne ?  pakket ind i .exe
eller en bestemt sti ?


Stoney
Avatar billede guskii Nybegynder
08. januar 2002 - 20:14 #5
en bestemt sti
Avatar billede guskii Nybegynder
08. januar 2002 - 21:09 #6
stoney vil du ikke lave det eksempel. taktak
Avatar billede guskii Nybegynder
08. januar 2002 - 21:14 #7
jeg arbejder i delphi 3, hvis det skal bruges.
Avatar billede stoney Nybegynder
08. januar 2002 - 23:54 #8
Jeg sidder lige og kigger på det

Min puter har lige crashet, jeg skal nok lave det til dig

Stoney
Avatar billede guskii Nybegynder
08. januar 2002 - 23:56 #9
tak tak
Avatar billede stoney Nybegynder
08. januar 2002 - 23:56 #10
Det bliver lavet i D6

Men det er ikke være end du selv kan rette det til
i D3

Ellers download D6 personal gratis

http://www.borland.com/delphi/

Stoney
Avatar billede borrisholt Novice
09. januar 2002 - 07:09 #11
guskii >> Er der en bestemt mængde billeder, eller varierer den med tiden ?

Jens B
Avatar billede guskii Nybegynder
09. januar 2002 - 10:04 #12
det drejer sig nok om 6-8 billeder
Avatar billede borrisholt Novice
09. januar 2002 - 10:19 #13
Der er flere måder .. Du kan fx ligge en tekst fil for hver billede også loade den ..... Jeg kna nemt lave en til dig, men det lærer du ikke noget ved.

Jens b
Avatar billede guskii Nybegynder
09. januar 2002 - 10:23 #14
Det skal bare være noget nemt :) jeg er i gang med en projektopgave, som snart skal være færdig.
Avatar billede borrisholt Novice
09. januar 2002 - 13:00 #15
du kan lave noget alla det her :

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, JPEG;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    Filelist : TStringList;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  res : word;
  SearchRec : TSearchRec;
  JPEGImage : TJPEGImage;
  s : String;
begin
  Filelist := TStringList.Create;
  res := FindFirst(ExtractFilePath(Application.ExeName) + \'*.txt\', FaAnyfile, SearchRec);
  while res = 0 do
  begin
    Filelist.Add(SearchRec.Name);
    Res := FindNext(SearchRec);
  end;
  FindClose(SearchRec);

  if Filelist.Count = 0 then
    exit;

  JPEGImage := TJPEGImage.Create;

  s := ChangeFileExt(Filelist[0], \'.jpg\');
  JPEGImage.LoadFromFile(s);
  Image1.Picture.Bitmap.Assign(JPEGImage);
  JPEGImage.free;
  Memo1.Lines.LoadFromFile(Filelist[0]);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  s : String;
  JPEGImage : TJPEGImage;
begin
  Image1.Tag := Image1.Tag +1;
  Image1.Tag := Image1.Tag mod Filelist.Count;

  JPEGImage := TJPEGImage.Create;
  s := ChangeFileExt(Filelist[Image1.Tag], \'.jpg\');
  JPEGImage.LoadFromFile(s);
  Image1.Picture.Bitmap.Assign(JPEGImage);
  JPEGImage.free;
  Memo1.Lines.LoadFromFile(Filelist[Image1.Tag]);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  s : String;
  JPEGImage : TJPEGImage;
begin
  Image1.Tag := Image1.Tag -1;
  if Image1.Tag < 0 then
    Image1.Tag := Filelist.Count -1;

  JPEGImage := TJPEGImage.Create;
  s := ChangeFileExt(Filelist[Image1.Tag], \'.jpg\');
  JPEGImage.LoadFromFile(s);
  Image1.Picture.Bitmap.Assign(JPEGImage);
  JPEGImage.free;
  Memo1.Lines.LoadFromFile(Filelist[Image1.Tag]);
end;

end.


men hvad lærer du af det ?
Avatar billede borrisholt Novice
10. januar 2002 - 08:27 #16
guskii>> Hvis ikke du vil have en færdig løsning HVAD vil du så have ?


Jens B
Avatar billede guskii Nybegynder
11. januar 2002 - 13:42 #17
Sådan har jeg lavet det ind til videre?
unit Unit5;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, Buttons, MPlayer;

type
  Telektronik = class(TForm)
    GroupBox1: TGroupBox;
    Button1: TButton;
    CheckBox1: TCheckBox;
    Image1: TImage;
    GroupBox2: TGroupBox;
    Image2: TImage;
    GroupBox3: TGroupBox;
    BitBtn3: TBitBtn;
    Label1: TLabel;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    Memo1: TMemo;
    Memo2: TMemo;
    MediaPlayer1: TMediaPlayer;
    MediaPlayer2: TMediaPlayer;
    procedure Button1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn8Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure CheckBox1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    billedenr : Integer;
  end;

var
  elektronik: Telektronik;

implementation

{$R *.DFM}

procedure Telektronik.Button1Click(Sender: TObject);
begin
    elektronik.Close;
end;

procedure Telektronik.BitBtn3Click(Sender: TObject);
begin
    label1.Caption := \'Hvad er elektronik ?\';
    Memo1.Visible := True;
    MediaPlayer2.Rewind;
    MediaPlayer1.Play;
end;

procedure Telektronik.BitBtn4Click(Sender: TObject);
begin
    Label1.Caption := \'Uddannelsen\';
    Memo1.Visible := False;
    MediaPlayer1.Rewind;
    MediaPlayer2.Play;
end;


procedure Telektronik.BitBtn2Click(Sender: TObject);
begin
  MediaPlayer2.Play; 
end;

procedure Telektronik.BitBtn1Click(Sender: TObject);
begin
  MediaPlayer1.Play; 
end;

procedure Telektronik.BitBtn8Click(Sender: TObject);
begin
    MediaPlayer2.Rewind;
end;

procedure Telektronik.BitBtn7Click(Sender: TObject);
begin
  MediaPlayer1.Rewind;
end;

procedure Telektronik.FormShow(Sender: TObject);
begin
    MediaPlayer1.Play;
end;

procedure Telektronik.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    MediaPlayer1.Rewind;
    MediaPlayer2.Rewind;
end;

procedure Telektronik.CheckBox1Click(Sender: TObject);
begin
    MediaPlayer1.Pause;
    MediaPlayer2.Pause;
end;


procedure Telektronik.FormCreate(Sender: TObject);
begin
billedenr := 1;
Case billedenr of
  1 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'1.bmp\');
  2 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'2.bmp\');
end;
end;

procedure Telektronik.BitBtn6Click(Sender: TObject);
begin
billedenr := billedenr + 1;
Case billedenr of
  1 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'1.bmp\');
  2 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'2.bmp\');
end;
end;

procedure Telektronik.BitBtn5Click(Sender: TObject);
begin
billedenr := billedenr - 1;
Case billedenr of
  1 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'1.bmp\');
  2 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'2.bmp\');
end;
end;

end.

Nu mangler jeg bare at finde ud af hvad jeg skal skrive ved de to knapper \"frem\" og \"tilbage\" for at den starter forfra når der ikke er flere billeder?
Avatar billede guskii Nybegynder
13. januar 2002 - 18:08 #18
Den der kommer med svaret får alle point.
Avatar billede ziron Nybegynder
13. januar 2002 - 19:00 #19
next:

if billedenr = 6 then billedenr := 1;

back:

if billedenr = 0 then billedenr := 5;

så tilpasser du den bare lige med de tal du har :)

/ZIRON
Avatar billede guskii Nybegynder
13. januar 2002 - 19:04 #20
hvor skal det skrives henne. Jeg har prøvet at skrive det ved hver knap så det ser sådan her ud:

procedure Telektronik.BitBtn6Click(Sender: TObject);
begin
billedenr := billedenr + 1;
Case billedenr of
  1 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'1.bmp\');
  2 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'2.bmp\');
  if billedenr = 2 then billedenr := 1;
end;
end;

men så melder den fejl
Avatar billede ziron Nybegynder
13. januar 2002 - 19:09 #21
procedure Telektronik.BitBtn6Click(Sender: TObject);
begin
billedenr := billedenr + 1;
if billedenr = 3 then billedenr := 1;
Case billedenr of
  1 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'1.bmp\');
  2 : Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + \'2.bmp\');
  end;
end;
Avatar billede guskii Nybegynder
13. januar 2002 - 19:11 #22
Fino det virker bare ;)
Avatar billede ziron Nybegynder
13. januar 2002 - 19:13 #23
jamen så lidt ik...

/ZIRON
Avatar billede borrisholt Novice
14. januar 2002 - 08:32 #24
og hvad var der i vejen med min løsning ?

Jens B
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester