AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Fastreport Objekt in abhängikeit von DB Feld
Thema durchsuchen
Ansicht
Themen-Optionen

Fastreport Objekt in abhängikeit von DB Feld

Ein Thema von manfred_h · begonnen am 7. Mai 2009 · letzter Beitrag vom 12. Jun 2009
Antwort Antwort
Seite 2 von 3     12 3      
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Fastreport Objekt in abhängikeit von DB Feld

  Alt 11. Mai 2009, 18:32
So sollte es überprüfbar sein
if list.IndexOf('Persons') > -1 then //Feld vorhanden
Markus Kinzler
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#12

Re: Fastreport Objekt in abhängikeit von DB Feld

  Alt 11. Mai 2009, 18:45
Das wars!! Danke mkinzler

Delphi-Quellcode:
procedure DefaultPERSONSOnBeforePrint(Sender: TfrxComponent);
var
i: Integer;
ds: TfrxDataSet;
list: TStringList;
db_list: String;
  
begin
  ds := Report.GetDataset('default');// username of ds
  list := TStringList.Create;
  ds.GetFieldList(list);
  for i := 0 to list.Count - 1 do
  begin
    if list.IndexOf('Persons') > -1 then //Feld vorhanden
      DefaultPERSONS.Visible := true;
   ds.Next;
  end;
end;
Shalom
Manfred
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Fastreport Objekt in abhängikeit von DB Feld

  Alt 11. Mai 2009, 18:49
Die For-Schleife ist aber auch noch unnötig
Markus Kinzler
  Mit Zitat antworten Zitat
rbi

Registriert seit: 23. Sep 2007
Ort: Aue
2 Beiträge
 
#14

Re: Fastreport Objekt in abhängikeit von DB Feld

  Alt 11. Mai 2009, 18:58
Hallo

versuche einmal den Code wie folgt zu erweitern:

Delphi-Quellcode:
  for i := 0 to list.Count - 1 do
  begin
   if ds.Value[list[i]]<>NULL then begin
     db_list := ds.Value[list[i]]; // get field value by its name
         if db_list = 'PERSONSthen DefaultPERSONS.Visible := true;
     end;
   ds.Next;
  end;
[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Fastreport Objekt in abhängikeit von DB Feld

  Alt 11. Mai 2009, 19:00
@rbi: Du scheinst weder die Frage noch den Verlauf richtig gelesen zu haben
Markus Kinzler
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#16

Re: Fastreport Objekt in abhängikeit von DB Feld

  Alt 11. Mai 2009, 19:06
Danke nochmals.

hier nochmals ohne for Schlaufe:

Delphi-Quellcode:
procedure DetailData1OnBeforePrint(Sender: TfrxComponent);
var
i: Integer;
ds: TfrxDataSet;
list: TStringList;
db_list: String;
  
begin
  ds := Report.GetDataset('default');// username of ds
  list := TStringList.Create;
  ds.GetFieldList(list);
  begin
    if list.IndexOf('PERSONS') > -1 then //Feld vorhanden
      DefaultPERSONS.Visible := true;
    if list.IndexOf('WORKER') > -1 then //Feld vorhanden
      DefaultWORKER.Visible := true;
    if list.IndexOf('PLACEMENT') > -1 then //Feld vorhanden
      DefaultPLACEMENT.Visible := true;
    if list.IndexOf('BEDS') > -1 then //Feld vorhanden
      DefaultBEDS.Visible := true;
    if list.IndexOf('Q_GIDEONS') > -1 then //Feld vorhanden
      DefaultQ_GIDEONS.Visible := true;
    if list.IndexOf('CAT') > -1 then //Feld vorhanden
      DefaultCAT.Visible := true;
   ds.Next;
  end;
end;
Danke
Manfred
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Fastreport Objekt in abhängikeit von DB Feld

  Alt 11. Mai 2009, 19:31
Dah <TStringList>.IndexOf() intern eine Schleife verwendet könnte man evaluieren, das Ganze iinerhalb einer Schleife zu machen:
Delphi-Quellcode:
PersonsVorhanden := False;
...
for i := 0 to list.Count -1 do
begin
    if list[i] = 'PERSONSthen PersonsVorhanden := True;//Feld vorhanden
    ...
end;
DefaultPERSONS.Visible := PersonsVorhanden;
...
Markus Kinzler
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#18

Re: Fastreport Objekt in abhängikeit von DB Feld

  Alt 12. Mai 2009, 10:12
Besteht ein Vorteile bei einer Variante?

Manfred
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Fastreport Objekt in abhängikeit von DB Feld

  Alt 12. Mai 2009, 10:14
Bei vielen Feldern könnte die erste etwas langsam sein, da bei jedem .IndexOf() eine intern eine Schleife durchlaufen wird
Markus Kinzler
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#20

Re: Fastreport Objekt in abhängikeit von DB Feld

  Alt 12. Mai 2009, 10:36
Danke für den Hiinweis

Delphi-Quellcode:
procedure DetailData1OnBeforePrint(Sender: TfrxComponent);
var
i: Integer;
ds: TfrxDataSet;
list: TStringList;
db_list: String;
begin
  ds := Report.GetDataset('default');// username of ds
  list := TStringList.Create;
  ds.GetFieldList(list);
  for i := 0 to list.Count -1 do
  begin
    if list[i]='PERSONSthen DefaultPERSONS.Visible := true; //Feld vorhanden
    if list[i]='WORKER'  then dist_worker.Visible := true;
    if list[i]='PLACEMENTthen DefaultPLACEMENT.Visible := true;
    if list[i]='BEDSthen DefaultBEDS.Visible := true;
    if list[i]='Q_GIDEONSthen DefaultQ_GIDEONS.Visible := true;
    if list[i]='CATthen DefaultCAT.Visible := true;
    ds.Next;
  end;
end;
Shalom
Manfred
  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 02:48 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