Einzelnen Beitrag anzeigen

Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#9

AW: Zum gewünschten Datensatz springen

  Alt 9. Sep 2010, 11:05
Hallo zusammen, ich hab dass jetzte ein bisschen anderst gelöst:

Delphi-Quellcode:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, adsdata, adsfunc, adstable, adscnnct, StdCtrls, CheckLst, fAusweis,
  Contnrs, Buttons, ComCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    btnAlle: TButton;
    btnKeine: TButton;
    Label1: TLabel;
    CheckListBox1: TCheckListBox;
    bitbtnDrucken: TBitBtn;
    cZMIZime: TAdsConnection;
    qryGetDAta: TAdsQuery;
    DataSource1: TDataSource;
    qryGetDAtaName: TAdsStringField;
    qryGetDAtaVorname: TAdsStringField;
    qryGetDAtaBezeichnung: TAdsStringField;
    qryGetDAtaAustritt: TDateField;
    qryGetDAtaBezeichnung_1: TAdsStringField;
    qryGetDAtaStrasse: TAdsStringField;
    qryGetDAtaPlz: TAdsStringField;
    qryGetDAtaOrt: TAdsStringField;
    qryGetDAtaID: TIntegerField;
    qryGetDAtaZusatz: TAdsStringField;
    procedure btnAlleClick(Sender: TObject);
    procedure btnKeineClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure bitbtnDruckenClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Formular: TForm;
  Frames: TFrameAusweis;
  L: TComponentList;

implementation

{$R *.dfm}

procedure TForm1.bitbtnDruckenClick(Sender: TObject);
var
  iChecked, iGesamt, iZaehler, iGecheckteItems, iY, iRunter, iErstellteFrames, i: Integer; // hier schon einrücken
begin
  Formular := TForm.Create(Self);
  Formular.ClientHeight := 1800;
  Formular.ClientWidth := 670;
  L := TComponentList.Create;
  L.OwnsObjects := False;
  iGecheckteItems := 0;
  iErstellteFrames := 0;
  iGesamt := 0;
  iY := 0;
  iRunter := 0;
  iZaehler := 0;
  Form1.qryGetDAta.First;
  for iChecked := 0 to CheckListBox1.Items.Count - 1 do
    begin
    if CheckListBox1.Checked[iChecked] then
      iGesamt := iGesamt + 1;
    end;

  for iGecheckteItems := 0 to CheckListBox1.Items.Count - 1 do
  begin
    if CheckListBox1.Checked[iGecheckteItems] then
    begin
      if iZaehler < 10 then
      begin
        Frames := TFrameAusweis.Create(Self);
        L.Add(Frames);
        Frames.ClientHeight := 200;
        Frames.Name:='';

        Frames.lNachname.Caption := qryGetDAtaName.Value;

        Frames.lVorname.Caption := qryGetDAtaVorname.Value;

        Frames.lPLZ.Caption := qryGetDAtaPlz.Value;

        Frames.lOrt.Caption := qryGetDAtaOrt.Value;

        Frames.lStraße.Caption := qryGetDAtaStrasse.Value;

        Frames.lFirmenname.Caption := qryGetDAtaBezeichnung_1.Value;

        Frames.lZusatz.Caption := qryGetDAtaZusatz.Value;

        Frames.lAbteilung.Caption := qryGetDAtaBezeichnung.Value;

        iZaehler := iZaehler + 1;
        iErstellteFrames := iErstellteFrames + 1;
        Frames.Parent := Formular;
        if iErstellteFrames = iGesamt then
          begin
          Formular.Show;
          end;
      end;

      case iZaehler of
        10: begin
              for I := l.Count -1 downto 0 do
              begin
                Frames:= (L[i] as TFrameAusweis);
                Frames.Free;
                iZaehler := 0;
              end;
              if iErstellteFrames = iGesamt then
                begin
                Formular.Show;
                end;
            end;
         0: begin
              Frames.Top := iY;
            end;
      2..5: begin
              Frames.Top := iY + Frames.ClientHeight;
              iY := Frames.Top;
              Frames.Parent := Formular;
            end;
         6: begin
              Frames.ClientHeight := 200;
              Frames.Name := '';
              Frames.Left := 350;
            end;
      7..9: begin
              Frames.Left := 350;
              Frames.Top := iRunter + Frames.ClientHeight;
              iRunter:= Frames.Top;
            end;
      end;
    end;
    qryGetDAta.Next;
    Formular.Show;
  end;
end;

procedure TForm1.btnAlleClick(Sender: TObject);
var
  ichecked: Integer;
begin
  for ichecked := 0 to CheckListbox1.Count - 1 do
    CheckListBox1.Checked[ichecked] := True;
end;

procedure TForm1.btnKeineClick(Sender: TObject);
var
  ichecked: Integer;
begin
  for ichecked := 0 to CheckListbox1.Count - 1 do
    CheckListBox1.Checked[ichecked]:= False;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  sName: String;
begin
  with qryGetDAta do
  begin
    Active:=True;
    while not Eof do
    begin
      sname := FieldByName('name').AsString + ', ' + FieldByName('Vorname').AsString;
      CheckListBox1.Items.AddObject(sName,TObject(FieldByName('id').AsInteger));
      Next;
    end;
  end;
end;

end.
Danke dennoch für die Hilfe.
  Mit Zitat antworten Zitat