Seite 1 von 1

Datei mit Word speichern und automatisch auf FTP uploaden

Verfasst: 17.01.2012 19:15
von smateja
Hallo zusammen,

ich hoffe mal wieder auf die tatkräftige Unterstützung der Community und Ideenreichtum :)
Folgender Gedanken schwirrt mir durch den Kopf:

Ist es denn technisch realisierbar eine Datei automatisiert über PB von einem FTP herunter zu laden - dann in Word öffnen zu lassen (kein Ding - nicht das Problem) - nach einem Speichervorgang automatisiert wieder zum FTP Server hoch zu laden? Geht schon quasi in die Sharepoint-Funktionalität.

Hat hier evtl. jemand eine Idee - oder ist dies so überhaupt realisierbar?

Danke im Voraus für das kreative Mitdenken.

LG

Re: Datei mit Word speichern und automatisch auf FTP uploade

Verfasst: 17.01.2012 19:52
von STARGÅTE
Jo ist ganz einfach:

In PureBasic kannst mit GetFileDate(Dateiname$, #PB_Date_Modified) alle 1000ms das Änderungsdatum deiner Word-Datei abfragen.
Sobalt sich dann die aktuelle Wert und der vorherige unterscheiden (datei wurde gespeichert) kannst du den PB-Befehl für den Upload geben.

Allerdings weiß ich nicht genau, ob Word das nicht verhindert, da die datei ja noch geöffnet ist (habe da immer Probleme beim verschicken), müsstest du mal ausprobieren.

Re: Datei mit Word speichern und automatisch auf FTP uploade

Verfasst: 18.01.2012 01:48
von Bisonte
Dazu müsste man ja den Dateinamen wissen... würde es nicht reichen, das Verzeichnis auf Änderung zu testen ?
Da war doch in RSBasics WinAPI Snippets soetwas... sobald da sich was ändert, ist der Dateiname bekannt und den dann hochladen...

Re: Datei mit Word speichern und automatisch auf FTP uploade

Verfasst: 18.01.2012 08:30
von Nino
STARGÅTE hat geschrieben:Allerdings weiß ich nicht genau, ob Word das nicht verhindert, da die datei ja noch geöffnet ist (habe da immer Probleme beim verschicken)
Wen man Word mit RunProgram() und dem Flag #PB_Program_Wait aufruft, sollte dieses Problem eigentlich nicht auftreten, oder?
PB-Hilfe hat geschrieben:#PB_Program_Wait : Wartet bis das gestartete Programm beendet wird
Bisonte hat geschrieben:Dazu müsste man ja den Dateinamen wissen
smateja hat geschrieben:Ist es denn technisch realisierbar eine Datei automatisiert über PB von einem FTP herunter zu laden - dann [...]
Wenn man die Datei zuvor selbst mit PB heruntergeladen hat, sollte der Dateiname bekannt sein. ;-)

Grüße, Nino

Re: Datei mit Word speichern und automatisch auf FTP uploade

Verfasst: 18.01.2012 11:42
von Nino
Ich habe das jetzt mal mit einer HTML-Datei gemacht, weil ich keine Lust hatte, erst eine Word-Datei zu erzeugen und hochzuladen. Funktioniert hier prima. Das ist das erste Mal dass ich etwas mit FTP programmiere, daher sind Optimierungen evtl. möglich. :)

Code: Alles auswählen

EnableExplicit

Define FtpServer$, FtpUser$, FtpPassWord$
Define FtpDir$, FtpFileName$, LocalDir$, LocalPath$
Define ftp

;-----------------------------------------------------------
; Folgendes individuell anpassen:
FtpServer$   = "xxx"
FtpUser$     = "xxx"
FtpPassWord$ = "xxx"

FtpDir$      = "xxx"
FtpFileName$ = "index.htm"
LocalDir$    = "T:\Desktop\"
;-----------------------------------------------------------

InitNetwork()

ftp = OpenFTP(#PB_Any, FtpServer$, FtpUser$, FtpPassWord$)
If ftp = 0   
   Debug "Konnte 1. FTP-Verbindung nicht aufbauen."
   End
EndIf

If SetFTPDirectory(ftp, FtpDir$) = 0
   Debug "FTP-Verzeichniswechsel fehlgeschlagen."
   CloseFTP(ftp)
   End
EndIf

LocalPath$ = LocalDir$ + FtpFileName$

If ReceiveFTPFile(ftp, FtpFileName$, LocalPath$) = 0
   Debug "FTP-Download fehlgeschlagen."
   CloseFTP(ftp)
   End
EndIf
CloseFTP(ftp)

If RunProgram(LocalPath$, "", "", #PB_Program_Wait) = 0    ; wartet, bis das betr. Programm beendet ist
   Debug "Konnte lokale Datei '" + LocalPath$ + "' nicht öffnen."
   End
EndIf

ftp = OpenFTP(#PB_Any, FtpServer$, FtpUser$, FtpPassWord$)
If ftp = 0   
   Debug "Konnte 2. FTP-Verbindung nicht aufbauen."
   End
EndIf

If SetFTPDirectory(ftp, FtpDir$) = 0
   Debug "FTP-Verzeichniswechsel fehlgeschlagen."
   CloseFTP(ftp)
   End
EndIf

If SendFTPFile(ftp, LocalPath$, "new_" + FtpFileName$) = 0   ; Nach dem Testen "new_" entfernen!
   Debug "FTP-Upload fehlgeschlagen."
   CloseFTP(ftp)
   End
EndIf
CloseFTP(ftp)

Debug "OK"
Grüße, Nino

Re: Datei mit Word speichern und automatisch auf FTP uploade

Verfasst: 18.01.2012 12:11
von NicTheQuick
Denk nur dran, dass Nutzername und Passwort später als Klartext in der EXE-Datei steht. Also gib die EXE nicht in falsche Hände.

Re: Datei mit Word speichern und automatisch auf FTP uploade

Verfasst: 18.01.2012 14:37
von Bisonte
NicTheQuick hat geschrieben:Denk nur dran, dass Nutzername und Passwort später als Klartext in der EXE-Datei steht. Also gib die EXE nicht in falsche Hände.
Das sollte man doch eh den User bestimmen lassen... (sprich per ini oder sowas nachladen)
fest würd ich da gar nix machen ;)

Allerdings wartet er jetzt auf das beenden des programms... wenn ich aber bloss speicher und dann ein neues öffne um es zu
bearbeiten haben wir ein problem ....

Re: Datei mit Word speichern und automatisch auf FTP uploade

Verfasst: 18.01.2012 14:56
von Nino
Bisonte hat geschrieben:Allerdings wartet er jetzt auf das beenden des programms... wenn ich aber bloss speicher und dann ein neues öffne um es zu
bearbeiten haben wir ein problem ....
Na ja, das war ja nur ein erster schneller Grob-Entwurf. Nun kann man das ja weiter verfeinern. :-)

Grüße, Nino