![]() |
Office-Objekte übers Internet verschicken
Hallo zusammen!
Ein Kollege und ich schreiben unsere Vorlesungen beide mit dem Laptop mit (Beide Win Vista und Office 2007). Nun haben wir beide sehr oft Mathtype-Formeln und Visio Zeichnung und wir suchen nach einem Weg diese übers Netz an den anderen zu schicken. praktisch Icq für Office-Objekte. Hat jemand eine Idee wie man das realisieren könnte bzw. sonstige Tipps? Grüße Admirandis |
Re: Office-Objekte übers Internet verschicken
ich denke der einfachste weg wird die zwischenablage sein denn beim kopieren packt office ja alle infos die du brauchst in irgend ein metaformat ... du bräuchtest also nur so eine art Clipboardwatcher der dann das was du verschicken willst packt (MS arbeitet nicht unbedingt resourcen schonenen) und dann verschickt ... und auf der gegenseite entpackst du das ganze wieder und schiebst es in die zwischenablage.
evtl. könnte man daraus auch ein plugin für miranda oder qip machen ... dann sparst du dir den ganzen netzwerk / kommunikations teil |
Re: Office-Objekte übers Internet verschicken
Klingt gut! Das einzige Problem wäre aber, dass es bei nem Plugin dann wahrscheinlich über "Datei senden" gehen müsste, und das frisst wieder Zeit.
Oder kennt da jemand eine anderen Weg? Grüße Admirandis |
Re: Office-Objekte übers Internet verschicken
Moin, moin,
von MS ![]() ![]() und sonst ein gemeinsames FTP-Laufwerk via ![]() Grüße // Martin |
Re: Office-Objekte übers Internet verschicken
@Martin: Die Lösungen von dir sind sicher net schlecht, wenn man ganze Dokumente synchronisieren will, aber wir wollen ja nur objekte kopieren. Meiner bescheidenen Meinung nach ist das so wie mit Kanonen auf Spatzen schiessen (nix für ungut).
Hab mir jetzt noch bissl was zamgesucht. Wahrscheinlich werd ich es einfach über ein IMAP Konto austauschen. geht glaub ich am schnellsten und sollte gleichzeitig auch verschlüsselt sein. Im Fall eines Google Postfaches hätte man mit 7GB auch wunderbar viel Platz. |
Re: Office-Objekte übers Internet verschicken
Hm, hat irgendjemand schon Erfahrung mit der TIdIMAP4 Komponente von Indy gemacht? Krieg das irgendwie nicht zum laufen :-(
|
Re: Office-Objekte übers Internet verschicken
Soweit es Formeln betrifft: Wenn ich mich recht entsinne, kann Office 2007 seine Formeln als MathML (d.h. als XML) exportieren und auch wieder importieren. Das könnte man also auch "mal schnell" per ICQ als Text austauschen.
|
Re: Office-Objekte übers Internet verschicken
Liste der Anhänge anzeigen (Anzahl: 1)
Jo, Word kann aber nur das ganze File als XML abspeichern. und das will ich ja wieder net. Ausserdem ist der XML Text von einer Formel auch schon ziemlich lang (siehe Anhang). Weiß nich ob das so ne prickelnde Lösung wäre.
Haltet ihr denn gar nix davon die Zwischenablage über IMAP zu kopieren? |
Re: Office-Objekte übers Internet verschicken
warum machst du denn so einen umweg ?
Es ist ja nicht so extrem schwer diese Daten ohne "protokoll" ueber tcp zu versenden. schau doch einfach nach ob sich so ne formel in der zwischenablage befindet, wenn ja verschicke sie. auf der gegenseite bringste ne meldung sobald ne formel empfangen wurde ob man sie in die zwischenablage kopieren moechte. Ich wuerd da wirklich nich ueber imap gehen oder so .. |
Re: Office-Objekte übers Internet verschicken
also in der zwischenablage ist nix zu finden... hat mich gewundert. wie bringt mathtype denn die formeln ins word o_O oder stellt der nach dem kopieren die alte zwischenablage wieder her?
|
Re: Office-Objekte übers Internet verschicken
Liste der Anhänge anzeigen (Anzahl: 1)
ich find IMAP jetzt zwar nicht die schlechteste lösung ... aber eigentlich ist IMAP nicht für sowas gemacht worden. ich würd eher mal in die richtung JABBER schaun ... das erfordert evtl. einen tick mehr einarbeitungszeit ... aber über das protokoll kannst du eig. alles was du willst verschicken ... text, daten, audio, video ... ich denke mal das du damit auf längere sicht weniger arbeit (bzw. probleme) haben wirst als mit IMAP
EDIT: ich würd mir mal son clipboardviewer installieren und schaun was wört da so alles rein packt .... im anhang mal ein beispiel (ist zwar keine formel, aber da dürfte ja nicht soviel unterschied sein ... und ich vermute mal das die ganzen (wichtigen) infos in dem enhanced metafile drin sind). |
Re: Office-Objekte übers Internet verschicken
Folgendes:
Wenn ich eine Mathtype Formel aus Word kopiere ist das einzige was ich aus dem Clipboard rausbekomme ein Gif. Schade! Wenn ich aber die Formel direkt aus Mathtype rauskopiere, dann krieg ich was zusehen im Clipboard . Nur wie krieg ich den XML-Code ins Word und wie kriege ich ihn aus dem Clipboard? |
Re: Office-Objekte übers Internet verschicken
Also über die kleine Lösung mit dem NetDrive könnte man doch mal nachdenken. Wenn Ihr beide ein Zentraldokument mit zwei Subdokumenten anlegt, dann könnte eines davon auf dem FTP-Laufwerk liegen. Die auszutauschenden Formeln würde man in den Abschnitt des Austauschsubdokuments legen, sodass sie für beide verfügbar sind.
Oder man hat halt ein Wörddokument auf dem FTP-Laufwerk wo die Formeln und die dazugehörigen Erklärungen liegen, denn Formel alleine ist oft ungüngstig. Grüße // Martin |
Re: Office-Objekte übers Internet verschicken
@Martin: Ich versteh schon was du meinst, aber das mit den Worddokumenten wird nie so schnell sein, wie wenn du es einfach über die Zwischenablage kopierst.
Wenn du das WordFile auf dem FTP liegen hast, muss man es doch ausserdem immerwieder neuladen, oder versteh ich da was falsch? EDIT: Habe hier einen Eintrag bei den Schweizern gefunden der eigtl perfekt passt: ![]() Einzig und allein das Format müsste man noch ändern, so dass nur noch "MathML Presentation" und Visio Objekte als Typen angenommen werden. Dann wärs das schon. Habt ihr eine Idee wie man das machen könnte? |
Re: Office-Objekte übers Internet verschicken
Hallo wiedermal!
Also, das mit der Zwischenablage hab ich inzwischen gelöst: Man nehme einfach ein Richedit. Fügt die Zwischenablage ein und speichert das ganze Feld ab
Delphi-Quellcode:
Genauso kann man es auch wieder laden. Also ganz einfach eigtl. Sogar sehr praktisch, weil das Richedit auch normale Dateien einfügen kann o_O
JvRichEdit1.Lines.SaveToFile();
Was IMAP angeht: Hab ich nicht geschafft. Keine Ahnung woran das lag. Deswegen geht das ganze jetzt über einen FTP-Server. Ist nicht schlimmer und nicht besser. Insofern nicht viel um! Nun hab ich aber noch eine Frage: Ich benutze dafür die Indy-Komponente idFTP. Blöderweise hängt die ganze Form, wenn ich was hoch- oder runterlade. Macht es Sinn, die ganze Komponente in einen neuen Thread auszulagern? Oder was könnt ihr mir sonst empfehlen? Grüße Admirandis |
Re: Office-Objekte übers Internet verschicken
Es git auch eine TIdAntiFreeze Komponente, aber das mit dem Thread ist eigentlich sauberer.
Für normale Anwendungen muss das aber nicht sein, da reicht die AntiFreeze Kompo aus ;) |
Re: Office-Objekte übers Internet verschicken
Jo, aber die AntiFreeze hatte ich schon drauf. blöderweise ohne Erfolg... muss man irgendwas beachten, wenn man den FTP in einen eigenen Thread extrahiert? Irgendwie hängt meine Main-Form dann immer noch :-(
|
Re: Office-Objekte übers Internet verschicken
Zitat:
Ich glaube, mann muss sie noch aktivieren und natürlich verknüpfen. |
Re: Office-Objekte übers Internet verschicken
Zitat:
|
Re: Office-Objekte übers Internet verschicken
Servus!
Ich hab jetzt nochmal versucht nach besten Gewissen die ganzen FTP Zugriffe in einen eignen Thread auszulagern. Blöderweise geht es immer noch nicht -.- Hier mal der Code von der Main:
Delphi-Quellcode:
und hier noch der Code von meinem FTP-Thread:
unit Office_Clipper;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, MyFTP, ExtCtrls, JvExControls, JvXPCore, JvXPButtons, JvLED, StdCtrls; type TForm1 = class(TForm) ConnectButton: TJvXPButton; updatetimer: TTimer; Connectedled: TJvLED; FileBox: TListBox; procedure updatetimerTimer(Sender: TObject); procedure ConnectButtonClick(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; connected: boolean; ftp: TMyFTP; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin ftp := TMyFTP.create; ftp.set_host('myserver.de'); ftp.set_user('myuser'); ftp.set_password('mypassword'); end; procedure TForm1.ConnectButtonClick(Sender: TObject); begin if ftp.connect = false then showmessage('Fehler beim Erstellen der Verbindung!') else begin ftp.set_directory('mydirectory'); updatetimer.Enabled := true; end; end; procedure TForm1.updatetimerTimer(Sender: TObject); begin connected := ftp.get_state; if connected = true then begin ConnectedLED.Status := true; ConnectedLED.Active := false; ftp.get_list(FileBox); end else begin ConnectedLED.Status := false; ConnectedLED.Active := true; end; end; end.
Delphi-Quellcode:
Da das mein erstes Projekt ist, wo ich einen eigenen Thread benutze kann es sein, dass hier noch was falsch ist. Ich hoffe ihr könnt mir sagen, wo mein Fehler liegt!unit MyFTP; interface uses Windows, SysUtils, Classes, Dialogs, IdFTP, Variants, StdCtrls; type TMyFTP = class(TThread) private filename, host, user, password, directory: string; protected procedure execute; override; public constructor create; virtual; procedure upload; procedure download; procedure set_host(aHost: string); procedure set_user(aUser: string); procedure set_password(aPassword: string); procedure set_directory(aDirectory: string); function connect: boolean; function get_state: boolean; procedure get_list(aListbox: TListbox); end; var ftp: TidFTP; implementation ///////////////////// FTP - THREAD //////////////////////// //Creation/// procedure TMyFTP.Execute; begin while not Terminated do WaitFor; if Terminated then ftp.Free; end; constructor TMyFTP.create; begin inherited create(true); freeOnTerminate := true; ftp := TIdFTP.Create(nil); end; /// //Up- and Download/// procedure TMyFTP.upload; begin end; procedure TMyFTP.download; begin end; /// //Settings/// procedure TMyFTP.set_host(aHost: string); begin ftp.Host := aHost; host := aHost; end; procedure TMyFTP.set_user(aUser: string); begin ftp.Username := aUser; user := aUser; end; procedure TMyFTP.set_password(aPassword: string); begin ftp.Password := aPassword; password := aPassword; end; procedure TMyFTP.set_directory(aDirectory: string); begin ftp.ChangeDir(aDirectory); directory := aDirectory; end; /// //Connection/// function TMyFTP.connect; begin ftp.Connect; if ftp.Connected = true then result := true else result := false; end; function TMyFTP.get_state; begin result := ftp.Connected; end; /// //Returns/// procedure TMyFTP.get_list(aListbox: TListbox); begin ftp.List(aListbox.Items, '', false); end; /// ////////////////////////////////////////////////////////////////// end. Grüße Admirandis |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz