Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Form ausgeben ... (https://www.delphipraxis.net/94924-form-ausgeben.html)

rickleimbach 28. Jun 2007 01:52


Form ausgeben ...
 
Hi Leute !

Habe folgendes Problem, ich bin zur Zeit dabei ein Programm zum auswerten von Schützen-Wettkämpfen zu programmieren, im allgemeinen soll mir das ganze erstmal helfen mich in der delphi welt zurecht zu finden ;) Ich bin jetzt soweit das das Programm mir einzelne Serien und die gesamtringzahl auswertet, nun währe eine Exportier Funktion natürlich nicht schlecht ;)

Gibt es eine Möglichkeit den kompletten Inhalt einer Form, so wie er strukturiert ist zu Exportieren bzw. eine Exportierfunktion hinzuzufügen in html, bzw. excel, pdf o.ä.?

Oda gibt es eine Möglichkeit bestimmte Editfelder Inhalte zu Exportieren um am Ende ggf. eine Liste mit ergebnissen zu erhalten ? Wie ließe sich so etwas lösen ?

Vielen Dank im Vorraus ;) Hier nochma der Code von der Form welche zur Einzelschützenauswertung dient (Diese Ergebnisse solln am Ende auch exportiert werden).

Dazu sei noch zu sagen das das Exportieren per Button vonstatten gehen soll...

Gruß Rick

Delphi-Quellcode:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm3 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    Edit10: TEdit;
    Edit12: TEdit;
    Edit13: TEdit;
    Edit14: TEdit;
    Edit15: TEdit;
    Edit16: TEdit;
    Edit17: TEdit;
    Edit18: TEdit;
    Edit19: TEdit;
    Edit20: TEdit;
    Edit21: TEdit;
    Edit22: TEdit;
    Edit23: TEdit;
    Edit24: TEdit;
    Edit25: TEdit;
    Edit26: TEdit;
    Edit27: TEdit;
    Edit28: TEdit;
    Edit29: TEdit;
    Edit30: TEdit;
    Edit31: TEdit;
    Edit32: TEdit;
    Edit33: TEdit;
    Edit34: TEdit;
    Edit35: TEdit;
    Edit36: TEdit;
    Edit37: TEdit;
    Edit38: TEdit;
    Edit39: TEdit;
    Edit40: TEdit;
    Edit41: TEdit;
    Edit42: TEdit;
    Edit43: TEdit;
    Edit44: TEdit;
    Edit45: TEdit;
    Edit46: TEdit;
    Edit47: TEdit;
    Edit48: TEdit;
    Edit49: TEdit;
    Edit50: TEdit;
    Edit51: TEdit;
    Edit52: TEdit;
    Edit53: TEdit;
    Edit54: TEdit;
    Edit55: TEdit;
    Edit56: TEdit;
    Edit57: TEdit;
    Edit58: TEdit;
    Edit59: TEdit;
    Edit60: TEdit;
    Edit61: TEdit;
    Edit62: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Button2: TButton;
    Edit100: TEdit;
    Label14: TLabel;
    procedure Button2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.Button2Click(Sender: TObject);
var
zahl1, zahl2, zahl3, zahl4, zahl5, zahl6, zahl7,
zahl8, zahl9, zahl10, zahl11, zahl12, zahl13, zahl14,
zahl15, zahl16, zahl17, zahl18, zahl19, zahl20, zahl21,
zahl22, zahl23, zahl24, zahl25, zahl26, zahl27, zahl28,
zahl29, zahl30, zahl31, zahl32, zahl33, zahl34, zahl35,
zahl36, zahl37, zahl38, zahl39, zahl40, zahl41, zahl42,
zahl43, zahl44, zahl45, zahl46, zahl47, zahl48, zahl49,
zahl50, zahl51, zahl52, zahl53, zahl54, zahl55, zahl56,
zahl57, zahl58, zahl59, zahl60, serie1, serie2, serie3,
serie4, serie5, serie6, ergebnis: integer;
begin
zahl1:=strtoint(Edit2.text);
zahl2:=strtoint(Edit3.text);
zahl3:=strtoint(Edit4.text);
zahl4:=strtoint(Edit5.text);
zahl5:=strtoint(Edit6.text);
zahl6:=strtoint(Edit7.text);
zahl7:=strtoint(Edit8.text);
zahl8:=strtoint(Edit9.text);
zahl9:=strtoint(Edit10.text);
zahl10:=strtoint(Edit12.text);
zahl11:=strtoint(Edit13.text);
zahl12:=strtoint(Edit14.text);
zahl13:=strtoint(Edit15.text);
zahl14:=strtoint(Edit16.text);
zahl15:=strtoint(Edit17.text);
zahl16:=strtoint(Edit18.text);
zahl17:=strtoint(Edit19.text);
zahl18:=strtoint(Edit20.text);
zahl19:=strtoint(Edit21.text);
zahl20:=strtoint(Edit22.text);
zahl21:=strtoint(Edit23.text);
zahl22:=strtoint(Edit24.text);
zahl23:=strtoint(Edit25.text);
zahl24:=strtoint(Edit26.text);
zahl25:=strtoint(Edit27.text);
zahl26:=strtoint(Edit28.text);
zahl27:=strtoint(Edit29.text);
zahl28:=strtoint(Edit30.text);
zahl29:=strtoint(Edit31.text);
zahl30:=strtoint(Edit32.text);
zahl31:=strtoint(Edit33.text);
zahl32:=strtoint(Edit34.text);
zahl33:=strtoint(Edit35.text);
zahl34:=strtoint(Edit36.text);
zahl35:=strtoint(Edit37.text);
zahl36:=strtoint(Edit38.text);
zahl37:=strtoint(Edit39.text);
zahl38:=strtoint(Edit40.text);
zahl39:=strtoint(Edit41.text);
zahl40:=strtoint(Edit42.text);
zahl41:=strtoint(Edit43.text);
zahl42:=strtoint(Edit44.text);
zahl43:=strtoint(Edit45.text);
zahl44:=strtoint(Edit46.text);
zahl45:=strtoint(Edit47.text);
zahl46:=strtoint(Edit48.text);
zahl47:=strtoint(Edit49.text);
zahl48:=strtoint(Edit50.text);
zahl49:=strtoint(Edit51.text);
zahl50:=strtoint(Edit52.text);
zahl51:=strtoint(Edit53.text);
zahl52:=strtoint(Edit54.text);
zahl53:=strtoint(Edit55.text);
zahl54:=strtoint(Edit56.text);
zahl55:=strtoint(Edit57.text);
zahl56:=strtoint(Edit58.text);
zahl57:=strtoint(Edit59.text);
zahl58:=strtoint(Edit60.text);
zahl59:=strtoint(Edit61.text);
zahl60:=strtoint(Edit62.text);
serie1:=zahl1+zahl2+zahl3+zahl4+zahl5+zahl6+zahl7+zahl8+zahl9+zahl10;
serie2:=zahl11+zahl12+zahl13+zahl14+zahl15+zahl16+zahl17+zahl18+zahl19+zahl20;
serie3:=zahl21+zahl22+zahl23+zahl24+zahl25+zahl26+zahl27+zahl28+zahl29+zahl30;
serie4:=zahl31+zahl32+zahl33+zahl34+zahl35+zahl36+zahl37+zahl38+zahl39+zahl40;
serie5:=zahl41+zahl42+zahl43+zahl44+zahl45+zahl46+zahl47+zahl48+zahl49+zahl50;
serie6:=zahl51+zahl52+zahl53+zahl54+zahl55+zahl56+zahl57+zahl58+zahl59+zahl60;
ergebnis:=serie1+serie2+serie3+serie4+serie5+serie6;
Label2.Caption:=inttostr(serie1);
Label3.Caption:=inttostr(serie2);
Label4.Caption:=inttostr(serie3);
Label5.Caption:=inttostr(serie4);
Label6.Caption:=inttostr(serie5);
Label7.Caption:=inttostr(serie6);
Edit100.text:=inttostr(ergebnis);
end;

end.

Mackhack 28. Jun 2007 02:19

Re: Form ausgeben ...
 
Nimm mal ein Array anstatt Zahl1 bist ZahlX!

Klar ist ein Export moeglich. Kommt drauf an in wechlches Format. Fuer xml gibts genuegend Beispiele hier oder bei google oder aber hier eine schoene handliche xml Unit von Muetze1. Dann waere noch der Export in csv Dateien nuetzlich oder wie du schriebst in HTML oder pdf. Fuer pdf gibt es massig Komponenten zu finden - auch free!

Delphi-Quellcode:
  private
    { Private declarations }
    Zahl: Array[0..59] of Byte;
    Serie: Array[0..5] of Byte;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  I, Idx, Erg: Integer;
begin
  Idx := 0;

  for I := 0 to ComponentCount -1 do
  begin
    if ( Components[I] is TEdit ) then
    begin
      Zahl[Idx] := StrToIntDef(TEdit(Components[I]).Text, 0);
      Inc(Idx, 1);
    end;
  end;
  ZeroMemory(@Serie, SizeOf(Serie));
  Idx := -1;
  for I := Low(Zahl) to High(Zahl) do
  begin
    if ( Frac(I / 10) = 0 ) then
    begin
      Inc(idx);
    end;
    Inc(Serie[Idx], Zahl[I]);
  end;
  ShowMessage((IntToStr(Serie[0])) + ' ' + (IntToStr(Serie[1])) + ' ' + (IntToStr(Serie[2])) + ' ' + (IntToStr(Serie[3])) + ' ' + (IntToStr(Serie[4])) + ' ' + (IntToStr(Serie[5])));
  Erg := Serie[0] + Serie[1] + Serie[2] + Serie[3] + Serie[4] + Serie[5];
  ShowMessage(IntToStr(Erg));
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  I: Byte;
  X, Y: Integer;
begin
  X := 10 - 35;
  Y := 10 - 25;

  for I := 0 to 59 do
  begin
    if ( Frac(i / 10) = 0 ) then
    begin
      Inc(X, 35);
      Y := 10;
    end;

    with TEdit.Create(Self) do
    begin
      Parent := Self;
      Text := '0';
      Top := Y;
      Left := X;
      Width := 25;
      Inc(Y, 25);
      Show;
    end;
  end;
end;
Mit Gedankenunterstuetzung von Sunlight7!

rickleimbach 28. Jun 2007 16:37

Re: Form ausgeben ...
 
Thx ;) Es klappt ^^

Array is ne schöne idee nur muss ich erstmal dahinter steigen wie das genau arbeitet / funktioniert, daher habe ich des ersma auf dem einzig mir bekannten wege gemacht ;) Werd mich in den nächsten Tagen mal ran setzen und weitertüfteln :P

Vielen Dank nochmal !

Gruß Rick


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