system("ftp.exe");
-
jo ich bin auch schon dabei das alles über das ftp protokoll zu machen.aber es erschien mir zuerst einfacher..jo die befehle könnte ich dann über den dateinamen ausführen aber dann gibt es wieder externe daten und das wollte ich eigentlich nicht.naaj dann werde ich es wohl so lösen müssen;-) aber danke;-)
-
okay...jetzt stellt sich mein nächsten problem.
ich benutze borland 6.0 und habe den header mal mit#include <wininet.h>eingebunden und noch dies hier hinzugeschrieben:
//Internet Connection herstellen HINTERNET hFtp = InternetOpen("ftp:\\secondsun.homedns.org", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, NULL); hFtp = InternetConnect(hFtp, "secondsun.homedns.org", 21, "anonymous", "client@homedns.com", INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, NULL); FtpPutFile(hFtp, "D:\\xxx.xxx", "htdocs//xxx.xxx", FTP_TRANSFER_TYPE_BINARY, NULL); InternetCloseHandle(hFtpso jetzt sagt mir mein comliler aber sowas hier:
[Linker Fehler] Unresolved external 'InternetOpenA' referenced from D:\xxx\NEW\xxx.OBJ
[Linker Fehler] Unresolved external 'InternetConnectA' referenced from D:\xxx\NEW\xxx.OBJ
[Linker Fehler] Unresolved external 'FtpPutFileA' referenced from D:\xxxE\NEW\xxx.OBJ
[Linker Fehler] Unresolved external 'InternetCloseHandle' referenced from D:\xxx\NEW\xxxE.OBJ
-
Wininet.lib wurde nicht zu den Linker Libraries hinzugefügt, oder benutze #pragma comment(lib,"...")
-
jo das habe ich auch schon bemerkt:-) aber das nächste problem ist schon wieder ein neuer thread...schau mal nach und guck mal ob du mir helfen könntest..weiß auch schon wo der fehler leigt..und zwar hier:
FtpPutFile(hFtp, wfd.cFileName, wfd.cFileName, FTP_TRANSFER_TYPE_BINARY, NULL);ich habe es dann mal so umgebaut:
char FTPDIR[512]; char FTPCopyFolder[1024]; GetCurrentDirectory(512, FTPDIR); wsprintf(FTPCopyFolder, "%s%s", FTPDIR , wfd.cFileName); FtpPutFile(hFtp, FTPCopyFolder, "ich.jpg", FTP_TRANSFER_TYPE_BINARY, NULL);aber das geht immer noch nicht:-( irgendwas ist falsch bei der übergabe des namens bzw des ordners denn das hier würde funktionieren:
FtpPutFile(hFtp, C:\Dokumente und Einstellungen\ich.jpg", "ich.jpg", FTP_TRANSFER_TYPE_BINARY, NULL);
-
Bist Du denn sicher, dass das GetCurrentDirectory den richtigen Pfad liefert, den Du möchtest?
-
ne das ist es nämlich. GetCurrentDirectory liefert nämlich den ausführungspfad der anwendung und nicht der datei. also ich habe einfach nur vor den ordner C:\Dokumente und Einstellungen\ nach bestimmten datentypen zu scannen.nehmen wir mal an ich suche jpg`s oder txt`s dann wollte ich jeden ordner(inklusive unterordner) scannen und das dann zu unserem netzwerk server schicken..aber das problem ist das ich jeden einzelnen ordner extra öffnen müsste unnd dann mit nem handle weiter arbeiten müssste oder so...dann würde das vielelicht geehn aber ich bleibe im moment a stecken..also beim scannen mit unterordnern..:-(
-
FAQ lesen... kann ich da nur sagen.
Das Durchsuchen von Unterordnern nach Datein ist heir schon x-mal erfragt und beantwortet worden.
-
Ich hab weiss nicht warum aber bei mir kommt eine ganz andere Fehlermeldung...ich benutzte auch Borland C++ Builder 6.0
und ich benutzte folgenden Code:
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <wininet.h> #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" [b][i][u]#pragma comment(lib,"Wininet")[/u][/i][/b] /*Ist das so richtig? Bei mir kommt keine Fehlermeldung...*/ TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { //Internet Connection herstellen HINTERNET hFtp = InternetOpen("ftp:\\secondsun.homedns.org", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, NULL); hFtp = InternetConnect(hFtp, "secondsun.homedns.org", 21, "anonymous", "client@homedns.com", INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, NULL); char FTPDIR[512]; char FTPCopyFolder[1024]; GetCurrentDirectory(512, FTPDIR); wsprintf(FTPCopyFolder, "%s%s", FTPDIR , wfd.cFileName); FtpPutFile(hFtp, "C:\Dokumente und Einstellungen\ich.jpg", "ich.jpg", FTP_TRANSFER_TYPE_BINARY, NULL); InternetCloseHandle(hFtp); } //---------------------------------------------------------------------------Ist das mit dem
#pragma comment(lib,"Wininet")richtig?
Dann kommt diese Fehlermeldung:
[C++ Fehler] Unit1.cpp(34): E2451 Undefiniertes Symbol 'wfd'Dann zeigt er mir immer
wsprintf(FTPCopyFolder, "%s%s", FTPDIR , wfd.cFileName);rot an...
Hat einer ne Ahnung wieso das so ist oder kann einer mir helfen?
Ich explodier gleich...
-
#pragma comment (lib, "wininet.lib")Zeige mal noch unitl.h.
Mfg Ominion
-
Also das was mr. anonymous da so geschrieben hat sieht aus wie aus allen möglichen Stellen zusammen gesetzt. Der Code ist in fast keiner Zeile vollständig Fehlerfrei.
-
Im übrigen heiße ich squint, und ich habe es hingekriegt das sich mein Upload Proggy Compilen lässt...aber ich habe noch ein Probleme... Hier erst mal der Code:
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #pragma comment(lib,"wininet.lib") #include <wininet.h> #include "lol.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { HINTERNET hFtp = InternetOpen("Application", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, INTERNET_FLAG_ASYNC); hFtp = InternetConnect(hFtp, "Mein OHOST server", 21, "MeinBenutzername", "MeinPasswort", INTERNET_FLAG_PASSIVE, NULL, INTERNET_SERVICE_FTP); FtpPutFile(hFtp,"F:\auge.jpg", "auge.jpg", FTP_TRANSFER_TYPE_BINARY, NULL); //Die File "auge.jpg" gibt es. //Sie exestiert auf Der Festplatte //"F:\" Aber nicht im selben //Wie das Proggy... } //---------------------------------------------------------------------------Bei mir kommt nichts am FTP Server an...
PS: Den Code hab ich aus euren Beiträgen zusammengebastelt...

-
"F:\\auge.jpg" <= '\' muss escaped werden! (oder?)
Ansonsten schau mal in der msdn nach den Rückgabewerten, vllt. kriegste da näheres raus
