AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi In Delphi row Anzeige??
Thema durchsuchen
Ansicht
Themen-Optionen

In Delphi row Anzeige??

Ein Thema von XXcD · begonnen am 3. Jun 2007 · letzter Beitrag vom 4. Jun 2007
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von DeddyH
DeddyH

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

Re: In Delphi row Anzeige??

  Alt 3. Jun 2007, 13:26
Wie willst Du denn die einzelnen Nachrichten unterscheiden?
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
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#12

Re: In Delphi row Anzeige??

  Alt 3. Jun 2007, 13:31
Hmmm da sagste was, wie macht man das denn PHP z.b. bei GMX, da bekommt bei ner Email ja auch was angezeigt und wenn man das anklickt dann wird die Nachricht angezeigt. Vielleicht wenn man als Caption des labels den Betreff macht und der Name des labels dann ne id. Also man macht in der tabelle noch ne id die nur einmal vorkommt und automatisch aufwärts zählt.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: In Delphi row Anzeige??

  Alt 3. Jun 2007, 13:35
Das Einfachste wäre, eine Spalte ID (nummerisch) anzulegen und diese als Primärschlüssel zu definieren. Je nach verwendetem DBMS brauchst Du dann noch einen Trigger oder Du vergibst die Eigenschaft 'auto_increment', 'Autowert', 'Zähler' oder wie das da auch heißen mag. Diese eindeutige ID könnte man dann in der Property Tag eines jeden Labels ablegen (mit einem einzelnen Label geht das dann natürlich nicht mehr), so dass man genau weiß, welcher Betreff angeklickt wurde. Ist nicht ganz trivial, sollte aber so 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
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#14

Re: In Delphi row Anzeige??

  Alt 3. Jun 2007, 13:52
Ok dann hab ich jetzt eine Spalte die id heißt und automatisch aufwärts zählt, aber leider hab ich immernoch keine AHnung wie ich das jetzt in Delphi verwenden soll. Ich hab mich halt noch nie in dem bereich mit Delphi beschäftigt.
  Mit Zitat antworten Zitat
3. Jun 2007, 13:59
Dieses Thema wurde von "Matze" von "Sonstige Fragen zu Delphi" nach "Datenbanken" verschoben.
Benutzerbild von DeddyH
DeddyH

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

Re: In Delphi row Anzeige??

  Alt 3. Jun 2007, 14:23
Ich hab mal schnell ein rudimentäres Beispiel erstellt.
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Main, DB, ZAbstractRODataset, ZAbstractDataset, ZDataset,
  StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    ScrollBox1: TScrollBox;
    Panel1: TPanel;
    Query1: TZQuery;
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private-Deklarationen }
    procedure LabelClick(Sender: TObject);
    procedure FreeLabels;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.LabelClick(Sender: TObject);
begin
  if (Sender is TLabel) then
    begin
      with Query1 do
        begin
          Close;
          SQL.Clear;
          SQL.Add('SELECT Nachricht FROM Nachrichten WHERE ID = :id');
          ParamByName('id').AsInteger := TLabel(Sender).Tag;
          Open;
          First;
          ShowMessage(FieldByName('Nachricht').AsString);
        end;
    end;
end;

procedure TForm1.FreeLabels;
var i: integer;
begin
  for i := 0 to ScrollBox1.ComponentCount - 1 do
    if ScrollBox1.Components[i] is TLabel then
      TLabel(ScrollBox1.Components[i]).Free;
end;

procedure TForm1.FormShow(Sender: TObject);
var aLabel: TLabel;
    aTop: integer;
begin
  aTop := 10;
  with Query1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('SELECT ID, Betreff FROM Nachrichten ORDER BY Nachricht');
      Open;
      First;
      while not EOF do
        begin
          aLabel := TLabel.Create(self);
          aLabel.Parent := ScrollBox1;
          aLabel.Left := 10;
          aLabel.Top := aTop;
          aLabel.Tag := FieldByName('ID').AsInteger;
          aLabel.Caption := FieldByName('Betreff').AsString;
          aLabel.OnClick := LabelClick;
          inc(aTop,15);
          Next;
        end;
    end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  FreeLabels;
end;

end.
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
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#17

Re: In Delphi row Anzeige??

  Alt 3. Jun 2007, 15:25
Ok danke das hat mir schonmal weiter geholfen. Ich werde gleich mal versuchen, das einzubauen. Muss ich denn da noch was beachten?? Also woher weiß das teil eigentlich wo das Label hin soll oder muss ich da erst eins erstellen mit nen bestimmten namen???

EDIT: Aso hat sich erledigt habs gerade gesehen.
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#18

Re: In Delphi row Anzeige??

  Alt 4. Jun 2007, 17:09
Also so weit schön und gut, das klappt einwandfrei, aber wie kann ich per Button Klick die Items aus der Scrollbox wieder ausleeren??
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: In Delphi row Anzeige??

  Alt 4. Jun 2007, 17:43
FreeLabels aufrufen
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
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#20

Re: In Delphi row Anzeige??

  Alt 4. Jun 2007, 17:44
Aber gebe ich dann nicht alle Labels frei?? Also auch die die garnichts damit zu tun haben?

Edit: Upps hab übersehen dass das genau definiert ist, also hat sich erledigt. Aber trotzdme danke
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 05:18 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