Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Tabelle mit Rahmen aus DBGrid erzeugen (https://www.delphipraxis.net/180614-tabelle-mit-rahmen-aus-dbgrid-erzeugen.html)

6road 3. Jun 2014 07:00

Tabelle mit Rahmen aus DBGrid erzeugen
 
Hallo,

ich möchte eine Tabelle mit Rahmen erzeugen und in die Zwischenablage speichern, um diese per <Strg>+<V> in Outlook einzufügen.
Wie erzeuge ich eine Tabelle mit Rahmen für die Zwischenablage?

Gruß

Joachim

DeddyH 3. Jun 2014 07:03

AW: Tabelle mit Rahmen aus DBGrid erzeugen
 
HTML? Dazu einfach den Tabellenkopf definieren, die Datenmenge durchgehen und daraus jeweils eine Zeile bauen, anschließend Tabellenfuß druntersetzen und fertig.

6road 3. Jun 2014 07:49

AW: Tabelle mit Rahmen aus DBGrid erzeugen
 
Hallo Detlef,

hast Du ein Beispiel für die HTML?

Gruß

Joachim

DeddyH 3. Jun 2014 07:50

AW: Tabelle mit Rahmen aus DBGrid erzeugen
 
Blind heruntergetippt, daher ohne Gewähr und sicherlich noch mit Potential nach oben:
Delphi-Quellcode:
function HTMLTableFromDataset(const Dataset: TDataset): string;
const
  TABLEHEADER = '<table style="border:1px solid black; empty-cells:show">';
  TABLEFOOTER = '</table>';
  DATALINE   = '<tr>%s</tr>';
  DATACELL   = '<td>%s</td>';
  HEADERCELL = '<th>%s</th>';
var
  html: string;
  i: integer;
begin
  Result := TABLEHEADER;
  html := '';
  for i := 0 to Dataset.FieldCount - 1 do
    html := html + Format(HEADERCELL, [Dataset.Fields[i].Fieldname]);
  html := Format(DATALINE, [html]);
  Result := Result + html;
  Dataset.First;
  while not Dataset.EOF do
    begin
      html := '';
      for i := 0 to Dataset.FieldCount - 1 do
        html := html + Format(DATACELL, [Dataset.Fields[i].AsString]);
      html := Format(DATALINE, [html]);
      Result := Result + html;
      Dataset.Next;
    end;
  Result := Result + TABLEFOOTER;
end;

6road 4. Jun 2014 05:19

AW: Tabelle mit Rahmen aus DBGrid erzeugen
 
Hallo Detlef,

danke für die Daten.

Ich habe den Code eingebunden.
Die HTML habe ich in die Zwischenablage kopiert mit Clipboard.AsText, leider nur als String!
Um die HTML richtig darstellen zu können, müssen die Daten sicherlich als binärcode gespeichert werden.
Gibt es dazu ein Befehl?

Gruß

Joachim

Sir Rufo 4. Jun 2014 06:44

AW: Tabelle mit Rahmen aus DBGrid erzeugen
 
Dazu gibt es auf jeden Fall eine Dokumentation
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
und dann noch etwas von den Schweizern auf SO
http://stackoverflow.com/questions/1...-the-clipboard


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:23 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