Autor Beitrag
akate-makate
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Di 02.03.10 14:20 
Hallo.Ich muss mich erstmal fuer mein schlechtes deutsch entschuldigen.
Ich hab also eine frage.Ich will mit Delphi eine Tabelle machen.In der erstel Spalte will ich dass die Summe zweier Zahlen angezeigt wird und in der naechsten Spalte die Differenz angezeigt wird.Das habe ich alles mit tlabel und tedit gemacht und auch den Code um zwei Zahlen zu addieren und subtrahieren geschrieben.Nun will ich aber dass ich dass Project als Word speicher,ich meine dass wenn ich diese doc datei oeffne dann sehe ich eine Tabelle mit den zwei Resultaten und wenn ich die Summe und die Differnez zwei anderer Zahlen finden will dann gehe ich zum Delphi Projekt,gebe die zahlen ein und wenn ich wieder die doc Datei oeffne sehe ich das Resultat in einer Τabelle wieder.Vielen Dank.


Zuletzt bearbeitet von akate-makate am Di 02.03.10 14:42, insgesamt 1-mal bearbeitet
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 02.03.10 14:29 
Moin und :welcome: im Forum!

user profile iconakate-makate hat folgendes geschrieben Zum zitierten Posting springen:
hallo...ich muss mich erstmal fuer mein schlechtes deutsch entschuldigen...
Du solltest dich nicht entschuldigen, sondern statt "..." mal vernünftige Satzzeichen und Absätze benutzen, auch die Groß-/Kleinschreibung soll nicht wehtun, ich merke jedenfalls nix davon. :|

user profile iconakate-makate hat folgendes geschrieben Zum zitierten Posting springen:
nun will ich aber dass ich dass project als word speicher...ich meine dass wenn ich diese doc datei oeffne dann sehe ich eine tabelle mit den zwei resultaten und
Das ist so einfach nicht möglich, wie du dir das vorstellst. Du könntest: :idea:
  • eine Textdatei anlegen, die Werte reinschreiben und mit Word öffnen, dann musst du allerdings auch selbst noch die Tabelle anlegen
  • ein RichText-Control nehmen, dort ein Template reinladen (kannst du mit Word erstellen) und entsprechende Platzhalter ersetzen, dann wieder speichern (als RTF, das kann Word aber problemlos laden); der Transport ginge auch per Clipboard
  • per OLE kann man Word "fernsteuern", dann kannst du die Werte in das Word-Dokument eintragen
cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: Di 02.03.10 23:21 
... oder falls vorhanden, mit Nevrona RaveReports ein Template anlegen und ins RTF-Format exportieren...

_________________
Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
akate-makate Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mi 03.03.10 00:32 
Wirklich vielen dank fuer die Antworten.Hoffe sie sind hilfreich.Werde sie mir morgen frueh anschaeun.
Um wirklich zu verstehen geben was ich meine habe ich diseses video gefunden( www.youtube.com/watch?v=VtDRhkT8v0w ) oder das ( www.youtube.com/watch?v=bKZLF-h_xBM ).Das will ich mit office machen,das speichern und offnen.

Hier habe ich das was ich gemacht habe,befor ich eure antwortet gesehen habe.
Moderiert von user profile iconNarses: Bild als Anhang hochgeladen.

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
unit ******;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button3: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    XPManifest1: TXPManifest;
    Button4: TButton;
    Button5: TButton;
    Edit3: TEdit;
    Edit4: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    Button2: TButton;
    RichEdit1: TRichEdit;
    ListView1: TListView;
    Button6: TButton;
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Button6Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}



procedure TForm1.Button2Click(Sender: TObject);
var
  number1,number2: double;
begin
  try
    edit4.Font.Color:= clnone;
    number1:= StrToFloat(edit1.Text);
    number2:= StrToFloat(edit2.Text);
    edit4.Text := FloatToStr(number1-number2);
  except
    edit4.Text:= 'error...this is not a number'  ;
    edit4.Font.Color:=clRed;
  end;

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
application.Terminate;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  edit1.Clear;
  edit2.Clear;
  edit3.Clear;
  edit4.Clear;
  edit1.SetFocus;
end;

procedure TForm1.Button5Click(Sender: TObject);
var
  number1,number2: double;
begin
  try
    edit3.Font.Color:= clnone;
    number1:= StrToFloat(edit1.Text);
    number2:= StrToFloat(edit2.Text);
    edit3.Text := FloatToStr(number1+number2);
  except
    edit3.Text:= 'error...this is not a number'  ;
    edit3.Font.Color:=clRed;
  end;
end;

procedure TForm1.Button6Click(Sender: TObject);
var
  list: TlistItem;
begin
  begin
    list:=listview1.Items.Add;
    list.caption:= edit3.text;
    list.subitems.add(edit4.text);

  end;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  edit1.setfocus;
end;

end.

Und fuer open window habe ich das gefunden---> support.microsoft.com/kb/229310/de
Werde morgen eure Antworten genau anschauen.
Wirklich vielen dank.
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von akate-makate am Mi 03.03.10 00:57, insgesamt 1-mal bearbeitet
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 03.03.10 00:56 
Davon mal abgesehen, dass das Tutorial absolut schlecht ist, was hat das mit deinem Vorhaben zu tun mit Delphi ein Office Dokument erstellen zu wollen?
akate-makate Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mi 03.03.10 01:06 
user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
Davon mal abgesehen, dass das Tutorial absolut schlecht ist, was hat das mit deinem Vorhaben zu tun mit Delphi ein Office Dokument erstellen zu wollen?


Ich dachte ja dass das einfacher waere zu gestallten :( .Werde mir aber die oben gegebenen Antworten ansehen,und sehen ob das einfach ist.Hoffe ich...
akate-makate Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mi 03.03.10 22:19 
Hallo.Ich zeig euch mal was ich gemacht habe und stelle meine Fragen am Ende.

Moderiert von user profile iconNarses: Bild als Anhang hochgeladen.
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
unit *******;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, XPMan, ComCtrls,ComObj,ShellAPI;
  var
   Word: Variant;
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button3: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    XPManifest1: TXPManifest;
    Button4: TButton;
    Button5: TButton;
    Edit3: TEdit;
    Edit4: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    Button2: TButton;
    RichEdit1: TRichEdit;
    ListView1: TListView;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    wrdApp, wrdDoc: Variant;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}



procedure TForm1.Button1Click(Sender: TObject);
begin
  // Create an instance of Word and make it visible
  wrdApp := CreateOleObject('Word.Application');
  wrdApp.Visible := True;
  // Create a new document
  wrdDoc := wrdApp.Documents.Add();
  wrdDoc.Select;
end;


procedure TForm1.Button2Click(Sender: TObject);
var
  number1,number2: double;
begin
  try
    edit4.Font.Color:= clnone;
    number1:= StrToFloat(edit1.Text);
    number2:= StrToFloat(edit2.Text);
    edit4.Text := FloatToStr(number1-number2);
  except
    edit4.Text:= 'error...this is not a number'  ;
    edit4.Font.Color:=clRed;
  end;

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
application.Terminate;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  edit1.Clear;
  edit2.Clear;
  edit3.Clear;
  edit4.Clear;
  edit1.SetFocus;
end;

procedure TForm1.Button5Click(Sender: TObject);
var
  number1,number2: double;
begin
  try
    edit3.Font.Color:= clnone;
    number1:= StrToFloat(edit1.Text);
    number2:= StrToFloat(edit2.Text);
    edit3.Text := FloatToStr(number1+number2);
  except
    edit3.Text:= 'error...this is not a number'  ;
    edit3.Font.Color:=clRed;
  end;
end;

procedure TForm1.Button6Click(Sender: TObject);
var
  list: TlistItem;
begin
  begin
    list:=listview1.Items.Add;
    list.caption:= edit3.text;
    list.subitems.add(edit4.text);

  end;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
  ShellExecute(Application.Handle, 'open''C:\Test.doc'nilnil, SW_SHOW);
end;

procedure TForm1.Button8Click(Sender: TObject);

begin
  Word:=CreateOLEObject('Word.Application');
  Word.Visible:=True;
  Word.Documents.Open('C:\delphi_test2.doc');
  Word.WordBasic.Insert(edit3.text);
  Word.WordBasic.Insert('    ');
  Word.WordBasic.Insert(edit4.text);
  Word.WordBasic.Insert('    ');
  Word.Documents.Save;
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
  Word.Documents.Close;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  edit1.setfocus;
end;

end.


Das was ich fragen will ist:die zwei Nummer werden in Word immer in der ersten Zeile gespeichert,zum Beispiel 32 34 12 45.Wie kann ich machen das die unten drunter gespeichert werden,zum Beispiel
32 34
12 45
Der code liegt in hier oben in der Zeile 136.
Weil ich soweit gekommen bin,weis jemand vielleicht jeztz wie ich diese Nummern in einer Tabelle einsetze?.
Vielen Dank!
Einloggen, um Attachments anzusehen!
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: Mi 03.03.10 22:42 
Einfach nach jeder zweiten Zahl einen Zeilenumbruch einfügen?

_________________
Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
akate-makate Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mi 03.03.10 23:10 
user profile iconplatzwart hat folgendes geschrieben Zum zitierten Posting springen:
Einfach nach jeder zweiten Zahl einen Zeilenumbruch einfügen?

Und wie mache ich das?
Weil ich soweit gekommen bin,weis jemand vielleicht jeztz wie ich diese Nummern in einer Tabelle einsetze?
Danke.
akate-makate Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Do 04.03.10 15:27 
Hab gerade fertig gemacht.Glaube funktioniert super.
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
unit ******;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, XPMan, ComCtrls,ComObj,ShellAPI;
  var
   Word: Variant;
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button3: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    XPManifest1: TXPManifest;
    Button4: TButton;
    Button5: TButton;
    Edit3: TEdit;
    Edit4: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    Button2: TButton;
    RichEdit1: TRichEdit;
    ListView1: TListView;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Button11: TButton;
    Button12: TButton;
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure ListView1SelectItem(Sender: TObject; Item: TListItem;
      Selected: Boolean);
    procedure Button11Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    wrdApp, wrdDoc: Variant;
  end;

var
  Form1: TForm1;
  i: integer;
implementation

{$R *.dfm}



procedure TForm1.Button10Click(Sender: TObject);
begin
  Word.Documents.Save;
end;

procedure TForm1.Button11Click(Sender: TObject);
begin
  listview1.DeleteSelected;
end;

procedure TForm1.Button12Click(Sender: TObject);

begin
if i=2 then begin
  Word.ActiveDocument.FormFields.Item('result3').Result := edit3.Text;
  Word.ActiveDocument.FormFields.Item('result4').Result := edit4.Text;
end;
if i=3 then begin
  Word.ActiveDocument.FormFields.Item('result5').Result := edit3.Text;
  Word.ActiveDocument.FormFields.Item('result6').Result := edit4.Text;
end;
if i=4 then begin
  Word.ActiveDocument.FormFields.Item('result7').Result := edit3.Text;
  Word.ActiveDocument.FormFields.Item('result8').Result := edit4.Text;
end;
if i=5 then begin
  Word.ActiveDocument.FormFields.Item('result9').Result := edit3.Text;
  Word.ActiveDocument.FormFields.Item('result10').Result := edit4.Text;
end;
i:=i+1;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  // Create an instance of Word and make it visible
  wrdApp := CreateOleObject('Word.Application');
  wrdApp.Visible := True;
  // Create a new document
  wrdDoc := wrdApp.Documents.Add();
  wrdDoc.Select;
end;


procedure TForm1.Button2Click(Sender: TObject);
var
  number1,number2: double;
begin
  try
    edit4.Font.Color:= clnone;
    number1:= StrToFloat(edit1.Text);
    number2:= StrToFloat(edit2.Text);
    edit4.Text := FloatToStr(number1-number2);
  except
    edit4.Text:= 'error...this is not a number'  ;
    edit4.Font.Color:=clRed;
  end;

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
application.Terminate;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  edit1.Clear;
  edit2.Clear;
  edit3.Clear;
  edit4.Clear;
  edit1.SetFocus;
end;

procedure TForm1.Button5Click(Sender: TObject);
var
  number1,number2: double;
begin
  try
    edit3.Font.Color:= clnone;
    number1:= StrToFloat(edit1.Text);
    number2:= StrToFloat(edit2.Text);
    edit3.Text := FloatToStr(number1+number2);
  except
    edit3.Text:= 'error...this is not a number'  ;
    edit3.Font.Color:=clRed;
  end;
end;

procedure TForm1.Button6Click(Sender: TObject);
var
  list: TlistItem;
begin
  begin
    list:=listview1.Items.Add;
    list.caption:= edit3.text;
    list.subitems.add(edit4.text);

  end;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
  ShellExecute(Application.Handle, 'open''C:\Users\****\Desktop\beispiel.doc'nilnil, SW_SHOW);
end;

procedure TForm1.Button8Click(Sender: TObject);

begin
  i:=1;
  Word:=CreateOLEObject('Word.Application');
  Word.Visible:=True;
  Word.Documents.Add(Template:='C:\Users\*****\Desktop\beispiel.doc');
  Word.ActiveDocument.FormFields.Item('result1').Result := edit3.Text;
  Word.ActiveDocument.FormFields.Item('result2').Result := edit4.Text;
  i:=i+1;
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
  Word.Documents.Close;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  edit1.setfocus;
end;

procedure TForm1.ListView1SelectItem(Sender: TObject; Item: TListItem;
  Selected: Boolean);
begin
  edit3.text:= item.Caption;
  edit4.Text:= item.SubItems[0];
end;

end.