AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Grafik vergrössert in neuem Fenster
Thema durchsuchen
Ansicht
Themen-Optionen

Grafik vergrössert in neuem Fenster

Ein Thema von AndreasB · begonnen am 25. Dez 2009 · letzter Beitrag vom 26. Dez 2009
Antwort Antwort
AndreasB

Registriert seit: 21. Dez 2009
Ort: Heidelberg
32 Beiträge
 
#1

Grafik vergrössert in neuem Fenster

  Alt 25. Dez 2009, 21:24
Hallo,
ich habe ein kleines Problem. Zur Info: Ich arbeite mit Delphi 7.
Nun zu meinem Problem: Ich habe eine kleine Adresstabelle, in der ich auch ein Passfoto anzeigen lasse.
Mit Doppelklick auf das Bild möchte ich das Bild vergrößert in einem neuen Fenster darstellen (neue Form). Nun fällt mir auf, dass der Satzzeiger aber immer auf dem ersten Satz stehen bleibt. Ich habe zur Kontrolle ein DBGrid anzeigen lassen. Dadurch wird nun immer das erste Bild gezeigt. D.h. wenn ich auf dem Hauptbildschirm auf Satz 3 bin, sollte auch das Bild des 3ten datensatzes eingelesen werden.

anbei mal der Code, der das Bild anzeigt, und beim vorwärst Button das Bild aktualisiert:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
fNameJPG := table1.fieldbyname('Text2').asString;
If fNameJPG <> ' Then begin
   Image1.ClientHeight := 200;
   Image1.ClientWidth := 160;
   Image1.Picture.LoadFromFile(fNameJPG);
   Image1.ClientHeight := 200;
   Image1.ClientWidth := 160;
   end else begin

   end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
table1.Next;
fNameJPG := table1.fieldbyname('text2').asString;
Image1.ClientHeight := 200;
Image1.ClientWidth := 160;
Image1.Picture.LoadFromFile(fNameJPG);
Image1.ClientHeight := 200;
Image1.ClientWidth := 160;
end;
im 2ten Fenster habe ich folgenden Code. Mit nummer wollte ich den Datensatz übergeben, aber das hat alles nicht funktioniert.

Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);

begin
Table1.RecNo := nummer;
Table1.Refresh;
Label1.Caption := table1.FieldbyName('Text2').asString;
fNameJPG := table1.fieldbyname('text2').asString;
Label2.Caption :=fNameJPG;
Image1.ClientHeight := 800;
Image1.ClientWidth := 640;
Image1.Picture.LoadFromFile(fNameJPG);
Image1.ClientHeight := 800;
Image1.ClientWidth := 640;
end;
Hat irgendjemand eine Idee, was ich falsch mache bzw. ob man das auch anders (aber ebenso einfacch) lösen kann?
Vielen Dank im voraus und viele Grüße
Andreas

[edit=Matze][delphi]-Tags repariert. MfG, Matze[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: Grafik vergrössert in neuem Fenster

  Alt 25. Dez 2009, 21:32
Hi!

Verstehe ich dich richtig, dass dein Problem in der Übergabe der Nummer an die 2. Form besteht?

Wenn ja, wäre eine Möglichkeit vllt. eine Methode in dieser 2. Form, die von Form 1 aufrufen kannst und der du die Nummer mitgeben kannst, sodass diese sie dann in ein privates Feld der 2. Klasse / Form schreibt.


Grüße, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
AndreasB

Registriert seit: 21. Dez 2009
Ort: Heidelberg
32 Beiträge
 
#3

Re: Grafik vergrössert in neuem Fenster

  Alt 25. Dez 2009, 22:16
Hallo Frederic,
sorry, so ganz habe ich Deine Antwort nicht verstanden. Ich rufe aus der ersten Form mit form2.show modal per Tastendruck (Button) die 2te Form auf.
Dort habe ich ein großes ImageFeld, welches mit einem JPEG gefüllt werden soll. Den Pfad zur Grafik soll aus einer Tabelle gezogen werden, welche in der ersten Form steht (und auf dem aktiven Datensatz zeigt). Sobald ich aber in der 2ten Form z.Bsp ein DBGrid anzeigen lasse, steht der auf dem ersten Datensatz.
Ich dachte eigentlich, dass die Recno mit übergeben wird, und der datensatzzeiger an der gleichen stelle steht. Die Idee mit der Nummer wäre eine Möglichkeit den Recno zu speichern und in der 2ten Form wieder aufzurufen. Aber wenn ich mir die Variable anzeigen lasse, steht diese auch auf 1 (entspricht dem ersten Datensatz) ?
Die Variable ist global definiert.
Viele Grüße

Andreas Beck
  Mit Zitat antworten Zitat
AndreasB

Registriert seit: 21. Dez 2009
Ort: Heidelberg
32 Beiträge
 
#4

Re: Grafik vergrössert in neuem Fenster

  Alt 26. Dez 2009, 00:08
Noch ein Hinweis: Ich habe jetzt in meiner Not mal den Recno in einer eigenen Tabelle gespeichert. Der wird auch korrekt angelegt. Wenn ich diese Tabelle in einer DBGrid anzeigen lasse, wird der Wert erst korrekt angezeigt, wenn ich ein Update (Table.refresh) mache.. aber es scheint so, dass der Datensatz nicht korrekt gestellt wird, obwohl ich das Datenfeld auslese - aber es ist immer der 'alte' Wert ???? Als ob die Information gecached wird und nicht aus der Tabelle gelesen wird. Gibt es einen Befehl, um das Auslesen eines Datenfeldes zu erzwingen?

Viele Grüße
Andreas
  Mit Zitat antworten Zitat
AndreasB

Registriert seit: 21. Dez 2009
Ort: Heidelberg
32 Beiträge
 
#5

Re: Grafik vergrössert in neuem Fenster

  Alt 26. Dez 2009, 13:01
Problem gelöst.

Ich habe vor den Aufruf des Fensters (Form2.show ein application.createform(Tform2, Form2); vorangestellt - jetzt steht der Satzzeiger richtig. Ich muss jetzt nur noch schauen, ob es auch ohn die Datei geht(Speichern des Datensatzzeigers).

Viele Grüße
Andreas
  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 06:58 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