Subscribe to RSS feed



Variablen Handling in FastReport 4

30. Juni 2007
variablen-handling-in-fastreport-4

Im Gegensatz zu FastReport 3 muss man bei FastRport 4 im Code, Queries und anderen Wertzuverweisungen exakt den selben Typ verwenden, sonst kommt es zu Fehlern oder falschen Ausgaben.

Ansonsten verhält sich FR4 wie FR3.

Was jetzt endlich funktioniert, ist Debugging Funktion.

Auch die “Laser-Lines” im visuellen Editor sind hilfreich.

Wie man einer Variable eine Wert zuweist

13. Juni 2007
wie-man-einer-variable-eine-wert-zuweist

Mit folgender Codezeile lässt sich einer Variablen

FastReportVariable

ein Wert zuweisen:

Report.Variables.Variables('VARIABLENNAME') := 'WERT';

Wow, was für ein Support.

13. Juni 2007
wow-was-fuer-ein-support

Mein Akku sieht nach 24 Stunden inzwischen so aus:
akku24

Ebenso nach 24 Stunden ist auch schon UPS mit dem Päckchen gekommen. Ich habe bisher mit keiner IT Firma so gute Supporterfahrungen gemacht wie mit Apple.
upsakku

Aufgeblähter Akku

12. Juni 2007
aufgeblaehter-akku

Aufgeblähter Akku:
Heute morgen wollte ich mein MacBookPro (17zoll) zum Arbeiten auspacken, plötzlich sehe ich das der Akku ein paar Zentimeter übersteht. Jetzt bin ich wohl auch von einem fehlproduzierten Akku betroffen, wie es auch bei vielen anderen MacBooks und Sony Laptops der fall war.

Hier ein Bild wie es normal aussehen sollte:
akkunormal

Und hier ein Bild wie es auf der anderen Seite des Akkus aussieht:
akkugross

Nach ein paar sehr sehr netten Telefonaten mit Apple bekomme ich jetzt ein neuen Akku zugeschickt. So ein guten Support hätte ich gar nicht von Apple erwartet.

OnPreviewClick bei FastReport

5. Juni 2007
onpreviewclick-bei-fastreport

In dem konkreten Fall ging es darum, dass der Benutzer in der Vorschau entscheiden möchte, ob das Logo mit gedruckt werden soll.

Als erstes erstellt man einen zusätzlichen Dialog für die Abfrage.
Dabei ist zu beachten, dass dieser Dialog “Visible:=False” haben muss.

Dialog Frage zum Ausblenden

Dann wechselt man in den Report und hinterlegt den Images ein “OnPreviewClick” Ereignis.

OnPreviewClick Event bei FastReport

Zuletzt Schreibt man den Code ins Event.

procedure logo1OnPreviewClick(Sender: TfrxView; Button: TMouseButton; Shift: Integer; var Modified: Boolean);
begin
  dlgFrage.ShowModal;
  if dlgFrage.ModalResult=mrYes then begin
    Sender.Free;
    Modified := True;
  end;
end;

Fertig.

Zugriff auf alle selektierten Zeilen in einem DevExpress Quantumgrid

4. Juni 2007
zugriff-auf-alle-selektierten-zeilen-in-einem-devexpress-quantumgrid

Verwendete Variablen:

var tbvTabView : TcxGridDBTableView;
    grdRecDatensatz : TcxCustomGridRecord;
    intI, intIndex: integer;
    strSpalte: string;

Wenn man alle selektierten Zeilen durchgehen will, muss man zunächst die aktive TableView des Quantumgrids ermitteln (in diesem Beispiel heißt das Quantumgrid cxgFilms):

//ermöglicht den Zugriff auf cxgFilmsDBTableView (siehe Screenshot)
tbvTabView := TcxGridDBTableView(cxgFilms.FocusedView);

Anschließend kann man leicht auf die gewünschten Zeilen zugreifen:

for intI := 0 to tbvTabView.Controller.SelectedRecordCount - 1 do begin
  //Zugriff auf den GridRecord und damit alle Spalten:
  grdRecDatensatz := tbvTabView.Controller.SelectedRecords[intI];               
 
  //Zugriff auf die Spalte mit dem Index "intIndex" im TableView:
  strSpalte := tbvTabView.Controller.SelectedRecords[intI].Values[intIndex];   
 
  //weitere Verarbeitung...
end;

Einstellung der Eigenschaft MultiSelect:
Einstellung Multiselect

Korrektes öffnen und schließen von Forms in Delphi

2. Juni 2007
korrektes-oeffnen-und-schliessen-von-forms-in-delphi

Wenn man in einer Delphi Anwendung aus einem Hauptformular Unterformulare öffnet,
muss man darauf achten, dass diese wieder korrekt geschlossen werden.

Ansonsten wird der Speicher nicht mehr komplett freigegeben, d.h. die Anwendung wird im Laufe der Benutzung langsamer und der Speicher des System knapper.

frmBeispiel := TfrmBespiel.Create(Self);
try
  with frmBeispiel do begin
    xzy...
    ShowModal;
  end;    // with
finally
  frmBeispiel.Free;
  frmBeispiel := nil;
end;
<strong>Oder nur</strong>
..
  FreeAndNil(frmBeispiel);
..