WxFTP --> lister le répertoire distant dans les collonnes d' un wxListCtrl .....
cs_satellite34
Messages postés688Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 juin 2006
-
11 août 2005 à 15:58
cs_satellite34
Messages postés688Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 juin 2006
-
12 août 2005 à 15:57
Bonjour,
Je développe actuellement un petit client FTP (pour mes études).
Donc, mon probléme c'est que j' arrive bien a lister le répertoire du site distant mais pas à afficher celui-ci, dans chacune des colonnes correspondantes.
A savoir que j' ai 6 colonnes : permissions, type, taille, date, heure, nom.
Avec mon code actuel, je récupere le repertoire dans une seule collonne;
Comment allouer par exemple -rw-r--r-- à la colonne permission, formulaire.htm à nom, 2 à type etc... ?
Voila le code ou DistantSite est un wxListCtrl , Commandes est un wxTextCtrl et result() une fonction qui affiche le résultat de la derniere commande:
Commandes->AppendText("Connection..............................Wait a second\n");
if (!ftp->Connect(adresse))
{
Commandes->AppendText("impossible de se connecter au serveur\n\nVeuillez vérifier l' adresse du serveur et vos identifiants\nmerci\n");
return;
}
StatusBar1->SetStatusText(wxString::Format("vous etes connectés sur ")+utilisateur+("@")+adresse,0);
Commandes->AppendText("***************************Connecté sur ");
Commandes->AppendText(adresse);
Commandes->AppendText("***************************\n");
Commandes->AppendText("Commande : USER ");
Commandes->AppendText(utilisateur);
Commandes->AppendText("\n");
result();
ftp->SendCommand("TYPE I");
Commandes->AppendText("Commande : TYPE I");
Commandes->AppendText("\n");
result();
ftp->SetBinary();
wxArrayString files;
if(!ftp->GetDirList(files, ""))
{
Commandes->AppendText("impossible de récuperer la liste\n");
return;
}
size_t numFiles = files.GetCount();
DistantSite->DeleteAllItems();
for (size_t i =0; i<numFiles; i++)
{
int column_count = DistantSite->GetColumnCount()-1; //la g essayé de faire un truk mais ca marxhe pas
long m_count = DistantSite->GetItemCount();
DistantSite->SetItem(m_count, column_count, files.Item(i), -1); //pareil...., c'est la que j'ai un soucis
DistantSite->InsertItem(m_count, files.Item(i));
}
result();
}
Au secours!
Merci beaucoup pour votre aide.
2+
Recherche entreprise développement à Montpellier pour BTS Informatique de Gestion en alternance............
A voir également:
WxFTP --> lister le répertoire distant dans les collonnes d' un wxListCtrl .....
fredcl
Messages postés547Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 7 octobre 20071 12 août 2005 à 09:28
Bonjour,
Je n'ai pas trop le temps de te faire un exemple sur mesure,
mais dans ma source "Chat In The Box" que tu trouveras ici
ou sur mon site (http://cfred.free.fr) dans le fichier chanlistdlg.cpp
tu trouveras un exemple d'utilisation d'un contrôle wxListCtrl.
cs_satellite34
Messages postés688Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 juin 20061 12 août 2005 à 15:54
OK, donc, j' ai regardé ta source chanlistdlg.dlg, mais j' ai dut mal tourner ma question. désolé (-;
Je reformule:
En fait, j' arrive déja a choisir dans quelle collonne je veux inserer mon item, mais le truk c'est que wxFTP, quand j' appelle GetDirList me retourne une ligne de la forme suivante :
-rw-r--r-- 1 web site 935 Jun 19 02:00 index.htm
Donc, ce que je veux faire, c'est récupérer dans des variables , uniquement -rw-r--r--, uniquement 1 web site, uniquement 935 etc....
Bon, je me doute que ca doit etre un truc bateau, désolé pour mon innexperience (ref . ma fiche : date d'arrivée).Mais bon, faut bien apprendre un jour!
allé merci;
2+Sat
Recherche entreprise développement à Montpellier pour BTS Informatique de Gestion en alternance............
cs_satellite34
Messages postés688Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 juin 20061 12 août 2005 à 15:57
Oups, du code :
wxArrayString files;
if(!ftp->GetFilesList(files, ""))
{
Commandes->AppendText("impossible de récuperer la liste\n");
return;
}
wxArrayString dirs;
if(!ftp->GetDirList(dirs, ""))
{
Commandes->AppendText("impossible de récuperer la liste\n");
return;
}
size_t numFiles = files.GetCount();
DistantSite->DeleteAllItems();
for (size_t i =0; i<numFiles; i++)
{
long m_count = DistantSite->GetItemCount();
DistantSite->InsertItem(m_count, 0);
DistantSite->SetItem(m_count, 5, files.Item(i)); //la, je récupere le nom du fichier dans la collonne 5
DistantSite->SetItem(m_count, 0, dirs.Item(i)); //mais la, il me sort toute la ligne dans la collone 0
}
result();
}
muerci
Recherche entreprise développement à Montpellier pour BTS Informatique de Gestion en alternance............