Resourcendatei wie nutze ich diese denn nun ???

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
lilebor
Beiträge: 15
Registriert: So 1. Okt 2006, 10:03

Resourcendatei wie nutze ich diese denn nun ???

Beitrag von lilebor »

Hallo,

ich quälle mich noch mit dem Problem der resourcen datei.

ich habe Resourcendatei erstellt erstellt die 3 *ico bilder enthällt
(bilder.lrs)
diese ist eingebunden

aber wie kann ich die den nun nutzen ?

bsp um das das 1 erste Ico aus der datei einem Timage zuzuweisen ?

Code: Alles auswählen

unit Unit1; 
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons,
  ExtCtrls;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    Image1: TImage;
    Image2: TImage;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure Image1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{ TForm1 }
 
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  Form1.close;
end;
 
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  image1.Picture.LoadFromFile('/tmp/b2.ico');
end;
 
procedure TForm1.BitBtn3Click(Sender: TObject);
var
bbb : TIcon;
begin
     bbb := TIcon.Create;
     bbb.LoadFromLazarusResource('b2');
    // image1.Picture. ???????
end;
 
procedure TForm1.Image1Click(Sender: TObject);
begin
 
end;
 
initialization
  {$I unit1.lrs}
  {$I bilder.lrs}
 
end.

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Geht's so nicht?
Image1.Picture.Icon.LoadFromLazarusResource ('b2');

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

müsste nicht auch schon das reichen:
Image1.Picture.loadFromFile ('b2');
bzw.
Image1.LoadFromFile ('b2');

eine andere Möglichkeit währe noch per Canvas direckt das ICON auf das Image zu zeichnen, hat aber einige nachteile *G*
MFG
Michael Springwald

lilebor
Beiträge: 15
Registriert: So 1. Okt 2006, 10:03

leider nicht

Beitrag von lilebor »

danke erstmal für die Antworten.

Leider hilft

Code: Alles auswählen

Image1.Picture.Icon.LoadFromLazarusResource ('b2');


nichts

kann ich wohl eintragen und dann auch das PRG starten
aber beim klick auf den Button passiert nichts

also das Image feld bleibt leer

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

sind es auch wirklich ICON Dateien ? Also nicht nur die Datei Endung verändert sondern richtig mit einem Programm erstellt ?

Code: Alles auswählen

Image1.Picture.Icon.LoadFromLazarusResource ('b2');

Das icon muss nicht umbedingt davor:

Code: Alles auswählen

Image1.Picture.LoadFromLazarusResource ('b2');

sollte auch gehen.
MFG
Michael Springwald

lilebor
Beiträge: 15
Registriert: So 1. Okt 2006, 10:03

Beitrag von lilebor »

Hallo,

danke nochmal für die hilfe.
aber leider funkt es nicht.

werde mir nun damit keine weiteren grauen Haare wachsen lassen

und das Thema einfach vergessen.
:cry:

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Bin mir nicht so sicher ob der icon Support das hergibt. Warum nimmst du nicht Bitmap oder PNG ? Ansosten fällt mir kein Fehler auf.

Mit LoadFromFile wie Pluto sagt kanns natürlich nicht funktionierten LosdFromLazarusResource ist schon richtig.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

lilebor
Beiträge: 15
Registriert: So 1. Okt 2006, 10:03

so gehts

Beitrag von lilebor »

ich habe nochmal etwas rumprobiert und hier ist ein weg wie es geht

Code: Alles auswählen

procedure TForm1.BitBtn4Click(Sender: TObject);
var
bbb : TBitmap;
begin
     bbb:=TBitmap.Create;
     bbb.LoadFromLazarusResource('b2');
     image2.Picture.Bitmap := LoadBitmapFromLazarusResource('b2');
end;

EugenE
Beiträge: 440
Registriert: So 10. Dez 2006, 14:59
OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
CPU-Target: 64Bit
Kontaktdaten:

Re: so gehts

Beitrag von EugenE »

und das geht nicht?

Code: Alles auswählen

procedure TForm1.BitBtn4Click(Sender: TObject);
begin
     image2.Picture.Bitmap.LoadFromLazarusResource('b2');
end;

Antworten