AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Hilfe bei TLMDGraphicList und Imageausgabe......
Thema durchsuchen
Ansicht
Themen-Optionen

Hilfe bei TLMDGraphicList und Imageausgabe......

Ein Thema von ApoCalyps0 · begonnen am 19. Jan 2008 · letzter Beitrag vom 20. Jan 2008
Antwort Antwort
ApoCalyps0

Registriert seit: 15. Jan 2008
25 Beiträge
 
#1

Hilfe bei TLMDGraphicList und Imageausgabe......

  Alt 19. Jan 2008, 22:54
Hi, bin neu hier im Forum und habe mich zu meiner Frage schon quer durch die Suchfunktion gewurschtelt, allerdings ohne gewünschten Erfolg!

Nun hoffe ich, dass einer von euch mir weiter helfen kann.

Ich "versuche" gerade ein Programm für Sammler zu proggen, indem in einer Combobox die verschiedenen Artikel aufgerufen werden können. Wenn ich nun in dieser Combobox einen Artikel auswähle, soll ein Image des Artikels angezeigt werden.

Die Bilder die ich anzeigen lassen will sind im *.JPG Format. Aus diesem Grund habe ich mich für eine TLMDGraphicList Komponente entschieden.


Nochmals kurz: Combobox zum auswählen, soll aus einer TLMDGraphicList das Bild (JPG), in einem Image od. LMDLImage anzeigen...

Bitte um Anregungen zu diesem Problem.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

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

Re: Hilfe bei TLMDGraphicList und Imageausgabe......

  Alt 19. Jan 2008, 23:14
Moin ApoCalyps0,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Also ich kenne jetzt die TLMDGraphicList nicht, denke aber mal, dass man dort die einzelnen Graphiken per Index ansprechen kann.
Diesen Index kannst Du in der ComboBox gleich zu jedem Eintrag mitspeichern, indem Du die Items per AddObject hinzfügst, wobei das "Object" einfach nur der Index der zugehörigen Graphic ist.

ComboBox1.Items.AddObject('Der anzuzeigende Text',TObject(iIndexInDerGraphicList)); Auslesen geht dann mit:

iIndexInDerGraphicList := integer(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);
Nur damit sich ggf. niemand wundert, oder nach einem Fehler sucht (auch wenn es Dich jetzt nicht betrifft):
Die Zeilen in TMemo und TRichEdit sind zwar auch von TStrings abgeleitet, und man kann, ohne Fehler, jeder Zeile etwas per AddObject zuweisen, aber es wird in diesen beiden Fällen nichts dort gespeichert, und man erhält als Wert für ein Objekt immer 0 zurück.
Ansonsten sollte die Verwendung von AddObject bei allen von TStrings abgeleiteten Klassen funktionieren.
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
  Mit Zitat antworten Zitat
ApoCalyps0

Registriert seit: 15. Jan 2008
25 Beiträge
 
#3

Re: Hilfe bei TLMDGraphicList und Imageausgabe......

  Alt 20. Jan 2008, 00:12
Hi,

danke für die schnelle hilfe. Hab versucht es einzubinden, funzt aber nicht........
Ich hab hier mal einen Teil meines Quelltextes.....

Delphi-Quellcode:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Menus, jpeg, ExtCtrls, ImgList, LMDBaseControl,
  LMDBaseGraphicControl, LMDGraphicControl, LMDBaseImage, LMDCustomLImage,
  LMDLImage, LMDCustomImageList, LMDGraphicList, LMDThemedComboBox,
  LMDCustomComboBox, LMDComboBox, LMDControl, LMDCustomControl, LMDCustomPanel,
  LMDButtonControl, LMDCustomCheckBox, LMDCheckBox, LMDCustomListBox,
  LMDCustomImageListBox, LMDImageListBox, LMDFill;


type
  TForm3 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    combobox1: TComboBox;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    CheckBox5: TCheckBox;
    CheckBox6: TCheckBox;
    CheckBox7: TCheckBox;
    CheckBox8: TCheckBox;
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    Image4: TImage;
    Image5: TImage;
    Image6: TImage;
    Image7: TImage;
    Image8: TImage;
    Label1: TLabel;
    LMDGraphicList1: TLMDGraphicList;
    LMDLImage1: TLMDLImage;
    procedure combobox1Change(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form3: TForm3;

implementation

  Uses Unit2, Unit1;

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);
begin
    Form3.close;
    Form2.Visible:=true;
end;

procedure TForm3.Button2Click(Sender: TObject);
begin
  Form2.close;
  Form1.close;
  close;
end;

procedure TForm3.combobox1Change (Sender: TObject);
begin
  If ComboBox1.Text = 'Great BeastThen
 begin
   LMDGraphicList1.Graphics[0]; <-------- Hier soll das erste Bild aus der GraphicList1 geladen werden, und....
   LMDLImage1.Visible:=true; <-------- hier in LMDLImage1 ausgegeben werden.
   CheckBox1.Checked:=true;
   CheckBox2.Checked:=false;
   CheckBox3.Checked:=false;
   CheckBox4.Checked:=true;
   CheckBox5.Checked:=true;
   CheckBox6.Checked:=false;
   CheckBox7.Checked:=false;
   CheckBox8.Checked:=true;
  end;
  If ComboBox1.Text = 'HydraThen
  LMDLImage1:=nil; <-------- Hier soll das erste Bild gelöscht werden, bzw. von LMDLImage1 entfernt.
  begin
   LMDGraphicList1.Graphics[2]; <-------- Hier soll das zweite Bild aus graphicList1 ins LMDLImage1 hereingeladen werden
   LMDLImage1.Visible:=true; <-------- Machts aber nicht!!!!
   CheckBox1.checked:=true;
   CheckBox2.Checked:=false;
   CheckBox3.Checked:=false;
   checkBox4.Checked:=true;
   CheckBox5.Checked:=true;
   CheckBox6.Checked:=false;
   CheckBox7.Checked:=false;
   CheckBox8.Checked:=true;
  end;
  If ComboBox1.Text = 'WerewolfThen
  begin
   CheckBox1.checked:=true;
   CheckBox2.Checked:=true;
   CheckBox3.Checked:=false;
   CheckBox4.Checked:=false;
   CheckBox5.Checked:=true;
   CheckBox6.Checked:=true;
   CheckBox7.Checked:=false;
   CheckBox8.Checked:=false;
  end;
   If ComboBox1.Text = 'BehemothThen
  begin
   CheckBox1.checked:=false;
   CheckBox2.Checked:=true;
   CheckBox3.Checked:=false;
   CheckBox4.Checked:=true;
   CheckBox5.Checked:=false;
   CheckBox6.Checked:=true;
   CheckBox7.Checked:=false;
   CheckBox8.Checked:=true;
Allerdings funzt es halt nicht...????
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#4

Re: Hilfe bei TLMDGraphicList und Imageausgabe......

  Alt 20. Jan 2008, 00:27
Hallo,

sry, aber das sieht ein bisschen wirr aus
Zitat:
LMDGraphicList1.Graphics[0];
Was soll denn hier passieren? Ich denke, Du willst die gespeicherte Grafik irgendwo anzeigen, hier fehlt aber die Zuweisung komplett. Ich habe die LMD-Kompos nicht installiert, daher rate ich mal.LMDLImage1.Picture.Assign(LMDGraphicList1.Graphics[0]); BTW: wenn die erste Grafik den Index 0 hat, hat die zweite den Index 1 und nicht 2 . Und noch etwas: den aktuellen Text der ComboBox auszulesen halte ich für ineffektiv, geh besser über den ItemIndex.
Delphi-Quellcode:
procedure TForm3.combobox1Change (Sender: TObject);
begin
  LMDLImage1.Picture.Assign(LMDGraphicList1.Graphics[ComboBox1.ItemIndex]);
end;
Wie gesagt, ich kenne die Komponenten nicht und kann daher nur raten, aber so in etwa könnte es funktionieren.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
ApoCalyps0

Registriert seit: 15. Jan 2008
25 Beiträge
 
#5

Re: Hilfe bei TLMDGraphicList und Imageausgabe......

  Alt 20. Jan 2008, 01:00
Hi DeddyH.

Ich bin keinesfalls ein Pro, was das programmieren betrifft. Ich bin ja durchaus schon mal froh, wenn es bis dato funktioniert.
Ich denke, dass aber der Text der Combobox eingelesen werden muss, da dadurch die Checkboxen auf true bz. false gesetzt werden.

Was aber....
Zitat:
LMDLImage1.Picture.Assign(LMDGraphicList1.Graphics[0]);
betrifft, geht es leider nicht, da LMDLImage einen Fehler bei Picture ausgibt.?.?.? Keine Ahnung warum.....

LMDGraphiclist ist ähnlich der Imagelist Komponente, allerdings kann man JPG Bilder in diese laden.

Bin offen, für weitere Ratschläge......

THX Ap0
Miniaturansicht angehängter Grafiken
mimp_810.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#6

Re: Hilfe bei TLMDGraphicList und Imageausgabe......

  Alt 20. Jan 2008, 01:03
Welche Eigenschaften stellt denn LMDLImage1 bereit? Da muss es doch etwas geben, wo man die Grafik zuweisen kann.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
ApoCalyps0

Registriert seit: 15. Jan 2008
25 Beiträge
 
#7

Re: Hilfe bei TLMDGraphicList und Imageausgabe......

  Alt 20. Jan 2008, 01:16
wenn ich das wüsste....... Auf jedenfall, lässt sich der Inhalt von LMDGraphiclist1 nicht auf ein TPicturen zuweisen. Sagt zumindest der Debugger

ich bekomm schon Kopfaua!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

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

Re: Hilfe bei TLMDGraphicList und Imageausgabe......

  Alt 20. Jan 2008, 01:24
Moin Zusammen,

TLMDLImage hat aber eine Eigenschaft ImageList.
Der könnte man ja mal, testeshalber, die TLMDGraphicList zuweisen.
Ausserdem hat TLMDImage auch eine Eigenschaft ImageIndex. Evtl. genügt es dann, nach der Zuweisung an ImageList hier den ImageIndex zu setzen, um ein entsprechendes Image aus der Liste anzeigen zu lassen.
Ich vermute jetzt einfach mal, dass das L bei LImage für List steht...
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
  Mit Zitat antworten Zitat
ApoCalyps0

Registriert seit: 15. Jan 2008
25 Beiträge
 
#9

Re: Hilfe bei TLMDGraphicList und Imageausgabe......

  Alt 20. Jan 2008, 03:35
Daaaaannnnkkkeeeee.

Die Anregung mit den Zuweisungen hat gefunzt, nur....

ging es nicht mit Imageindex sondern mit Listindex!

LMDLImage1.ListIndex:=0; usw. hat mich dann zum Erfolg gebracht.

Besten Dank für eure schnelle Hilfe.
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:12 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