Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Abbiamo messo alla prova il drone Antigravity A1 capace di riprese in 8K a 360° che permette un reframe in post-produzione ad eliche ferme. Il concetto è molto valido, permette al pilota di concentrarsi sul volo e le manovre in tutta sicurezza e decidere con tutta tranquillità come gestire le riprese. La qualità dei video, tuttavia, ha bisogno di uno step in più per essere competitiva
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme e Aston Martin Aramco F1 Team si sono (ri)unite dando alla vita un flagship con chip Snapdragon 8 Elite Gen 5 e design esclusivo ispirato alle monoposto di Formula 1. La Dream Edition introduce la nuova colorazione Lime Essence abbinata al tradizionale Aston Martin Racing Green, decorazioni intercambiabili personalizzate e una confezione a tema F1, intorno a uno smartphone dall'ottima dotazione tecnica con batteria da 7000mAh ricaricabile a 120W e isola fotografica intercambiabile
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-04-2002, 14:41   #1
MisterW2
Member
 
Iscritto dal: Oct 2001
Messaggi: 57
[VB/VC++] come fare ftp di file?

Salve, volevo sapere soprattutto in c++ (ma eventualmente come seconda opzione anche con VB) come potrei fare un programma che fa un ftp di file.
Ossia io dispongo di un certo file.xxx e voglio creare un programma che passandogli l'IP del destinatario come parametro, lo invii (ftp, udp.. insomma quello che sapete) ad un utente.
Grazie mille e compl. per il forum!
MisterW2 è offline   Rispondi citando il messaggio o parte di esso
Old 01-05-2002, 22:29   #2
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
devi usare funzioni del tipo:

InternetOpen(.....)

InternetConnect(......)

FtpPutFile(.....)

con i relativi parametri di inizializzazione; tutto questo lo trovi ben spiegato sul sito di Microsoft.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2002, 00:04   #3
MisterW2
Member
 
Iscritto dal: Oct 2001
Messaggi: 57
RE

Grazie della risposta...
stai parlando di VC++ o VB? Se è VC++ sarebbe meglio... sapresti dirmi di preciso il link dove cercarlo nella Microsoft?
MisterW2 è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2002, 00:33   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
misterx : quelle sono per BC++B

Con VC++ & MFC (WinInet) :

CInternetSession (prima crei questa e poi ottieni una delle due sotto)
CFtpConnection
CHttpConnection

Altrimenti se vuoi passare da un livello più basso ci sono CSocket e CAsyncSocket...

Con le API, sia per VC++ che VB...Windows Socket API :

http://msdn.microsoft.com/library/de...piref_7v1u.asp
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2002, 07:40   #5
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
Quote:
Originariamente inviato da cionci
[b]misterx : quelle sono per BC++B
xchè dici BCB?

io le utilizzo e fanno parte della nutrita serie di funzioni presenti nel Win32sdk di Windows che dovrebbero funzionare in generale con tutti i compilatori;

difatti vengono da qui: http://msdn.microsoft.com/library/de...ternetopen.asp
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2002, 08:42   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Hai ragione...scusa...
Chissà perchè ero convinto che fossero del Borland...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2002, 11:57   #7
MisterW2
Member
 
Iscritto dal: Oct 2001
Messaggi: 57
Oddio mi sa che è complicatina... ho cercato anche nei link proposti dal forum... se sapete magari qualche programma svolto per prendere spunto, postatemelo per favore.
Grazie mille.
MisterW2 è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2002, 12:24   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
In liena di massima non dovrebbe essere molto complicato..

Così ad occhio :

CInternetSession s;
CFtpConnection *f = s.GetFtpConnection(tutti i vari parametri);

f->SetCurrentDirectory(dir);
f->PutFile(tutti i vari parametri);

f->Close();
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2002, 20:31   #9
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
Prova questo codice che dovrebbe essere universale, almeno lo credo al 90%.

Purtroppo non sono un raffinato alla Cionci, quindi pochi commenti
ma.....
funziona, l'ho appena provato, ti permette di scaricare un file da 25Kb dal sito ftp di Borland.....

ricordati di inserire:

#include "WININET.h"

e di avere nella fase di link il file (lib): Inet.lib (magari in VC++ non vi è questa necessità)


forza e coraggio, che non è poi così difficile: basta avere un pò di pazienza..


fammi sapere



void *FINet;
void *FFtpHandle;
BOOL Transfer;

FINet = InternetOpen("WININET1",0,NULL,0,0);

if(FINet == NULL) {
ShowMessage("Err(1) Connessione non riuscita!\nsicuro che i parametri sono corretti?");
return;}

FFtpHandle = InternetConnect(FINet,
"ftp.borland.com", //sito ftp
0,
0, // nome dell'utente
0, // password
INTERNET_SERVICE_FTP,
0,
0);
if(FFtpHandle == NULL) {
ShowMessage("Err(2) Connessione FTP non riuscita!\nsicuro che i parametri sono corretti?\nOppure è presente un firewall di rete");

return;}

Transfer = FtpGetFile(FFtpHandle,
"/pub/bcppbuilder/techpubs/bcb5/b5cg.zip",
"b5cg.zip",
TRUE,
0,
FTP_TRANSFER_TYPE_BINARY,
0);
if(Transfer == NULL) {
ShowMessage("Err(3) Ricezione file non riuscita!");
return;
}
else
ShowMessage("File ricevuto con successo");
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 03-05-2002, 09:48   #10
MisterW2
Member
 
Iscritto dal: Oct 2001
Messaggi: 57
Azz... a me non funziona...
se lo inserisco coem l'hai scritto mi da errore nel file wininet.h:

microsoft visual studio\vc98\include\wininet.h(48) : error C2146: syntax error : missing ';' before identifier 'HINTERNET'
f:\programmi\microsoft visual studio\vc98\include\wininet.h(48) : fatal error C1004: unexpected end of file found
Error executing cl.exe.


inoltre io non devo scaricare un file dal server della borland, ma passarlo ad un altro utente via ftp.
Grazie per l'aiuto
MisterW2 è offline   Rispondi citando il messaggio o parte di esso
Old 03-05-2002, 10:13   #11
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
se devi inviare usa:

FtpPutFile()

in luogo di:

FtpGetFile()



esempio:



FFtpHandle = InternetConnect(
FINet,
"ftp.miosito.com", //oppure l'IP (192.xxx.xxx.xxx) che dovrebbe funzionare lo stesso
0,
0, // nome dell'utente
0, // password
INTERNET_SERVICE_FTP,
0,
0);


Transfer = FtpPutFile(FFtpHandle,
"miofile.zip",
"miofile.zip",
FTP_TRANSFER_TYPE_BINARY,
0);



Per quanto riguarda gli errori, molto strano, in quanto il codice postato l'ho scritto in modo lineare, come suggerisce Microsoft.

Prova a vedere se il file da includere è un altro.....

Non avendo VC++ non posso fare delle prove.....
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 03-05-2002, 10:17   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Prova ad include in questo modo :

#include <windows.h>
#include <wininet.h>
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 03-05-2002, 10:45   #13
MisterW2
Member
 
Iscritto dal: Oct 2001
Messaggi: 57
Ragà scusate se vi rompo ancora.. alla fine mi odierete... ecco il programma:

#include <windows.h>
#include <wininet.h>


void main()
{
void *FINet;
void *FFtpHandle;
BOOL Transfer;

FINet = InternetOpen("WININET1",0,NULL,0,0);

if(FINet == NULL) {
//ShowMessage("Err(1) Connessione non riuscita!\nsicuro che i parametri sono corretti?");
return;}

FFtpHandle = InternetConnect(
FINet,
"ftp.miosito.com", //oppure l'IP (192.xxx.xxx.xxx) che dovrebbe funzionare lo stesso
0,
0, // nome dell'utente
0, // password
INTERNET_SERVICE_FTP,
0,
0);

if(FFtpHandle == NULL) {
// ShowMessage("Err(2) Connessione FTP non riuscita!\nsicuro che i parametri sono corretti?\nOppure è presente un firewall di rete");

return;}

Transfer = FtpPutFile(FFtpHandle,
"miofile.zip",
"miofile.zip",
FTP_TRANSFER_TYPE_BINARY,
0);


if(Transfer == NULL) {
// ShowMessage("Err(3) Ricezione file non riuscita!");
return;
}
// else
// ShowMessage("File ricevuto con successo");

}


Ho messo // su Showmessage perchè non mi riconosce la funzione, ma al massimo le posso cambiare con printf...
Cmq non mi dà errori di compilazione, ma facendo il build ottengo questa roba strana:
Linking...
prova.obj : error LNK2001: unresolved external symbol __imp__FtpPutFileA@20
prova.obj : error LNK2001: unresolved external symbol __imp__InternetConnectA@32
prova.obj : error LNK2001: unresolved external symbol __imp__InternetOpenA@20
Debug/prova.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.


ç_ç
MisterW2 è offline   Rispondi citando il messaggio o parte di esso
Old 03-05-2002, 10:49   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Project -> Settings -> Link -> Object/Library modules...mettici Inet.lib...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 03-05-2002, 11:04   #15
MisterW2
Member
 
Iscritto dal: Oct 2001
Messaggi: 57
Oddio perchè sono così imbranato..... vi prego perdonatemi...
ho messo inet.lib ma mi dà Linking...
LINK : fatal error LNK1104: cannot open file "Inet.lib"
Error executing link.exe.

Ho aggiunto Inet.lib nella linea Object/library modules
Le altre impostazioni sono:
Category: general
Output file name: Debug/prova.exe
Object library modules: kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Inet.lib
sono spuntati: general debug info;link incrementally

Scusate oggi mi sento ultra rompiball...
MisterW2 è offline   Rispondi citando il messaggio o parte di esso
Old 03-05-2002, 11:09   #16
MisterW2
Member
 
Iscritto dal: Oct 2001
Messaggi: 57
ehm.. non so se ho fatto bene, ma ho copiato WININET.LIB in \debug , l'ho aggiunto in prokect/setting e ora pare funzionare, faccio alcune prove e poi vi dico.
Grazie mille!

Un ultima considerazione:
in "ftp.miosito.com", //oppure l'IP (192.xxx.xxx.xxx) che dovrebbe funzionare lo stesso

devo mettere l'ip della macchina che funiona da server del file?
Perchè provando ad autopassarmi il file compare l'errore proprio di quel punto: Err(2) Connessione FTP non riuscita!\nsicuro che i parametri sono corretti?\nOppure è presente un firewall di rete
MisterW2 è offline   Rispondi citando il messaggio o parte di esso
Old 03-05-2002, 11:17   #17
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Bastava mettere Wininet.lib...senza copiarlo nella dir...

Per il resto non so cosa dirti...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 03-05-2002, 11:24   #18
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
Mi sa che hai fatto benissimo ad usare wininet.lib in quanto, essendo passato un pò di tempo, non mi ricordo dove cavolo avevo preso la Inet.lib, forse l'avevo ricompilata x BCB.

Sorry se ti ho depistato

Dai che ci siamo
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 03-05-2002, 11:33   #19
MisterW2
Member
 
Iscritto dal: Oct 2001
Messaggi: 57
Si infatti, vi ringrazio a tutti e due siete stati gentilissimi...
Misterx, un'ultima spiegazione....

"ftp.miosito.com", //oppure l'IP (192.xxx.xxx.xxx)
qyesto dovrebbe essere l'indirizzo del server dico bene? che senso ha metter eun generico ftp.miosito.com? devo mettere l'indirizzo ip del server (quello che inizia con 192.... e non quello del mio pc che inizia con 245....)

Transfer = FtpPutFile(FFtpHandle,
"miofile.zip",
"miofile.zip",
al posto di mio file.zip, in entrambi, devo mettere la giyusta path del file risiedente nel pc del server?
MisterW2 è offline   Rispondi citando il messaggio o parte di esso
Old 03-05-2002, 12:13   #20
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
Quote:
Originariamente inviato da MisterW2
[b]Si infatti, vi ringrazio a tutti e due siete stati gentilissimi...
Misterx, un'ultima spiegazione....

"ftp.miosito.com", //oppure l'IP (192.xxx.xxx.xxx)
qyesto dovrebbe essere l'indirizzo del server dico bene? che senso ha metter eun generico ftp.miosito.com? devo mettere l'indirizzo ip del server (quello che inizia con 192.... e non quello del mio pc che inizia con 245....)

Transfer = FtpPutFile(FFtpHandle,
"miofile.zip",
"miofile.zip",
al posto di mio file.zip, in entrambi, devo mettere la giyusta path del file risiedente nel pc del server?

nel caso vuoi inviare un file presente nel tuo hard-disk al tuo sito, dovrai scrivere semplicemente solo i nomi dei file sorgente/destinazione in quanto il percorso di destinazione vengono risolti automaticamente nel momento in cui tu apri la connessione col nome del sito ftp, username, e tua password.


esempio:
voglio traferire un file JPEG di nome miafoto.jpg sul mio sito presente su digiland, il mio username=pinco, la password=pallino quindo scriverò:

FFtpHandle = InternetConnect(
FINet,
"ftp.digiland.it",
0,
"pinco",
"pallino",
INTERNET_SERVICE_FTP,
0,
0);


if(FFtpHandle == NULL) {
// gestione dei valori di ritorno
return;}

Transfer = FtpPutFile(FFtpHandle,
"miafoto.jpg ",
"miafoto.jpg ",
FTP_TRANSFER_TYPE_BINARY,
0);



Scusa per le banalità ma sono presenti solo per chiarezza.

Spero di essere stato chiaro
misterx è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare Antigravity A1: drone futuristico per riprese a ...
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
La Russia blocca Snapchat e FaceTime: 'u...
Tesla FSD ora permette di scrivere messa...
Total War festeggia 25 anni: annunciato ...
Tante offerte Amazon rinnovate: sono ott...
Tanti articoli Apple scontati su Amazon:...
JBL a prezzi super: due modelli top tra ...
Sony e Bad Robot uniscono le forze: in a...
Il MIT rivela: l'IA può sostituir...
iPhone Air va in sconto: il nuovo iPhone...
Polaroid Now Gen 3 torna di moda: la fot...
Fallout 76: l'aggiornamento più g...
Prezzo folle per il top OLED da gaming: ...
Un nuovo processo antitrust per Apple in...
Amazon abbassa il prezzo delle AirPods 4...
Due super offerte Amazon: PC Desktop con...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:45.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v