Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2750 connectés 

 


Dernière réponse
Sujet : [VC++] De l'aide pour un prog qui affiche une page web !
Rebel Je vous remercie tous de me filer un coup de main, surtout Flying, qui a du chercher toute la nuit pour moi ;) et aussi Verdoux, Combi, et les autres...
Simplement, Verdoux, sache que je maîtrise tout de même relativement bien l'anglais, mais qu'en C, je suis nul, je le sais, je débute, comme je l'ai déjà dit...il faut bien passer par là pour apprendre, alors j'expérimente...rapppelle toi quand tu as débuté, c'était surement pareil :) Bon, sans rancunes !
Allez, je vais tester tous les codes que vous me proposez, merci encore...

 

[edit]--Message édité par Rebel--[/edit]


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Rebel Je vous remercie tous de me filer un coup de main, surtout Flying, qui a du chercher toute la nuit pour moi ;) et aussi Verdoux, Combi, et les autres...
Simplement, Verdoux, sache que je maîtrise tout de même relativement bien l'anglais, mais qu'en C, je suis nul, je le sais, je débute, comme je l'ai déjà dit...il faut bien passer par là pour apprendre, alors j'expérimente...rapppelle toi quand tu as débuté, c'était surement pareil :) Bon, sans rancunes !
Allez, je vais tester tous les codes que vous me proposez, merci encore...

 

[edit]--Message édité par Rebel--[/edit]

Combi_A_Vendre En ligne de commande, le répertoire courant est ".", c'est peut etre une connerie, mais ça ne marcherai pas en mettant :
m_cExplorer1.Navigate(".\Seismes.html" ...
 
vw
gilou Si tu connaissais le C (et l'anglais)
 
Tu t'es leve du pied gauche ce matin? On dirait du nofret :)
A+,
verdoux

Rebel a écrit a écrit :

AHahahah, t'es un marrant toi :)
Je fais n'importe quoi, je m'en doutais un peu, sinon, je poserai pas la question...je suis désolé, moi je suis pas né avec la science infuse !
Alors au lieu de me filer l'adresse d'une page que j'ai dans la bibliothèque MSDN, et que de toute façon j'ai bien compris, dis moi plutôt concrètement ce qui ne vas pas dans le code...Je débute moi, désolé :(




 
Si tu connaissais le C (et l'anglais) tu aurais vu ton erreur rapidement. La fonction GetCurrentDirectory a besoin d'un pointeur sur un emplacement mémoire pour stocker le chemin.
Donc il faut lui en donner un. Flying a donner diverses méthodes (un tableau suffisamment grand de caractère, le buffer d'un objet Cstring) pour y arriver.
 
Je pense qu'il faut que tu bosses les bases du C avant de te lancer dans la prog windows sinon tu vas galérer. Et si tu veux faire de la prog win immédiatement, essaie plutôt Visual Basic.

Flying Le dernier des derniers, maintenant je vais pieuter :
 
CString sPath;
int nLen = 255;
GetCurrentDirectory(nLen, sPath.GetBuffer(256));
sPath.ReleaseBuffer();
MessageBox(sPath);
 
Encore une fois, ca retourne jusqu'au répertoire parent...
 
Bye
Flying

 

[edit]--Message édité par Flying--[/edit]

Flying On peut aussi faire comme ca :
 
TCHAR szFullPath[MAX_PATH];
TCHAR szDir[_MAX_DIR];
TCHAR szDrive[_MAX_DRIVE];
::GetModuleFileName(NULL,szFullPath,MAX_PATH);
_splitpath(szFullPath,szDrive,szDir,NULL,NULL);
CString path = szDrive;
path = path + szDir;
MessageBox(path);
 
On utilise la macro _splitpath à la place de Find du premier exemple.
Dans le premier cas, on a / pour finir le chemin, ici pas.
 
Bon je crois que je m'arrête pour ce soir :)
 
Flying
Flying J'ai trouvé ca aussi :
 
TCHAR szName[_MAX_PATH];  
::GetCurrentDirectory(_MAX_PATH, szName);
MessageBox(szName);
 
qui fonctionne mais ne retourne le chemin que jusqu'au répertoire parent !!! bizarre bizarre !!!
 
Flying
Flying Les smileys trafiquent le code ... faut remplacer le petit bonhomme jaune par "parenthèse fermée".
 
:(
 
Flying
Flying Salut Rebel,
 
J'ai pas encore trouvé pourquoi GetCurrentDirectory déconne mais j'ai testé le code suivant et il fonctionne :
 
CString sFileName, sFileDir;
GetModuleFileName(AfxGetInstanceHandle(), sFileName.GetBuffer(256), 256);
sFileName.ReleaseBuffer();
int nPos = sFileName.ReverseFind('\\');
if (nPos != -1)
{
 sFileDir = sFileName.Left(nPos);
 MessageBox(sFileDir);
}
 
Voilà.  J'espère que ca aide en attendant mieux !
 
Flying
Rebel AHahahah, t'es un marrant toi :)
Je fais n'importe quoi, je m'en doutais un peu, sinon, je poserai pas la question...je suis désolé, moi je suis pas né avec la science infuse !
Alors au lieu de me filer l'adresse d'une page que j'ai dans la bibliothèque MSDN, et que de toute façon j'ai bien compris, dis moi plutôt concrètement ce qui ne vas pas dans le code...Je débute moi, désolé :(

 

[edit]--Message édité par Rebel--[/edit]

verdoux Parce que tu fais n'importe quoi.
voir http://msdn.microsoft.com/library/ [...] o_6g6x.htm
 

Citation :


If the buffer pointed to by lpBuffer is not large enough, the return value specifies the required size of the buffer, including the number of bytes necessary for a terminating null character.

Rebel Justement, il y a la fonction GetCurrentDirectory(...,...), mais dans mon Buffer, elle ne me renvoit rien, voici le code fautif :
        char *pszPath = NULL;
 int iBuffer = 60;
 GetCurrentDirectory(iBuffer, pszPath);
 CString strChemin = pszPath;
 AfxMessageBox(strChemin); // CA C'EST VIDE !
Apres j'adapterai le resultat de strChemin pour la premier paramètre de ceci :
 m_cExplorer1.Navigate("Seismes.html", NULL, NULL, NULL, NULL);
 
Mais bon, pourquoi n'ai-je rien dans pszPath ???
Merci de votre aide :)
darkoli y'a un truc du genre GetCurrentDir qui marche bien ou meme une autre fonction dont je ne souvient plus du nom qui te donne le repertoire ou se trouve le programme en train de s'executer.
 
et ensuite
 
file://f|/...
 
f: lettre du lecteur
.... : chemin
 
et la si ca ne marche pasc'est qu'il y a une merde
Rebel C bien ce que je me disais, mais comment je fais pour récuperer le chemin...???
Je crois que je vais peter un plomb avec ce  :gun: programme !
seblamb Il faut recupperer le chemin du programme qui execute cette fonction et le rejouter au nom de fichier.
IE considere que s'il n'y a pas de lettre de lecteur, c'st une adresse internet.
Rebel Ouais, j'avais oublier de le préciser, ça ne marche pas non plus ça, ça me fait une DNS Error de IE5...
tfj57 Si Seismes.html et l'exe sont dans le même répertoire, je crois qu'il faudrait écrire :
 
m_cExplorer1.Navigate("Seismes.html", NULL, NULL, NULL, NULL);
 
Salutations
Rebel AU SECOURS, je vais devenir fou :)
 
J'ai voulu me lancer dans la conception d'un petit programme tout bête qui contient un contrôle ActiveX IE5, pour afficher une page web...
Le problème c'est que je dois mettre ce programme sur un CD...et que la page n'est jamais trouvée.
Voici le code :
 
m_cExplorer1.Navigate("Cours\\Seismes.html", NULL, NULL, NULL, NULL);
 
Dans l'initialisation de la boite de dialogue : le dossier "Cours" se trouvera à la racine du CD, et le fichier "Seismes.html" à l'intérieur du dossier...je mettrai l'exe dans le même répertoire, mais il me met la page d'erreur IE5, et dans les propriétés, il affiche qu'il cherche a ouvrir "res://D:\WINNT\system32\shdoclc.dll/navcancl.htm#http://cours/Seismes.html" : je ne peux pas mettre de chemin prédéfini style "D:\cours\seismes.html" car je ne connais pas la lettre du cdrom sur lequel le programme sera exécuté...et pourtant, en faisant cela ça marche !!
 
AIDEZ-MOI, c'est très important pour moi !

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)