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

  FORUM HardWare.fr
  Programmation

  [VC++] De l'aide pour un prog qui affiche une page web !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VC++] De l'aide pour un prog qui affiche une page web !

n°21901
Rebel
Posté le 03-04-2001 à 00:14:18  profilanswer
 

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 !

mood
Publicité
Posté le 03-04-2001 à 00:14:18  profilanswer
 

n°21915
tfj57
Posté le 03-04-2001 à 02:17:16  profilanswer
 

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

n°21934
Rebel
Posté le 03-04-2001 à 09:44:08  profilanswer
 

Ouais, j'avais oublier de le préciser, ça ne marche pas non plus ça, ça me fait une DNS Error de IE5...

n°21972
seblamb
Posté le 03-04-2001 à 12:06:27  profilanswer
 

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.


---------------
[:seblamb] Moi aussi je veux grater dédé!!!
n°22055
Rebel
Posté le 03-04-2001 à 16:19:44  profilanswer
 

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 !

n°22059
darkoli
Le Petit Dinosaure Bleu
Posté le 03-04-2001 à 16:29:32  profilanswer
 

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

n°22131
Rebel
Posté le 03-04-2001 à 22:58:23  profilanswer
 

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 :)

n°22135
verdoux
And I'm still waiting
Posté le 03-04-2001 à 23:13:48  profilanswer
 

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.

n°22136
Rebel
Posté le 03-04-2001 à 23:22:08  profilanswer
 

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]

n°22139
Flying
Posté le 03-04-2001 à 23:53:54  profilanswer
 

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

mood
Publicité
Posté le 03-04-2001 à 23:53:54  profilanswer
 

n°22140
Flying
Posté le 03-04-2001 à 23:56:17  profilanswer
 

Les smileys trafiquent le code ... faut remplacer le petit bonhomme jaune par "parenthèse fermée".
 
:(
 
Flying

n°22141
Flying
Posté le 04-04-2001 à 00:07:16  profilanswer
 

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

n°22143
Flying
Posté le 04-04-2001 à 00:20:14  profilanswer
 

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

n°22145
Flying
Posté le 04-04-2001 à 00:45:11  profilanswer
 

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]

n°22150
verdoux
And I'm still waiting
Posté le 04-04-2001 à 02:33:24  profilanswer
 

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.

n°22152
gilou
Modérateur
Modzilla
Posté le 04-04-2001 à 08:10:43  profilanswer
 

Si tu connaissais le C (et l'anglais)
 
Tu t'es leve du pied gauche ce matin? On dirait du nofret :)
A+,

n°22153
Combi_A_Ve​ndre
Posté le 04-04-2001 à 08:15:15  profilanswer
 

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


---------------
The best way to accelerate a computer running windows is at 9.8m.s-2
n°22161
Rebel
Posté le 04-04-2001 à 08:51:04  profilanswer
 

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]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [VC++] De l'aide pour un prog qui affiche une page web !

 

Sujets relatifs
Aide pour un javascript........Barre de progression sur page web
PrepareStatement dans un prog Java + BD OracleBesoin d'aide>>mutators,mods ut
[FTP] Une aide sur les commandes ?Problème de rechargement automatique de la page !
asp base de bdonnee et mise en pageRecherche d'une personne sachant faire de la prog en Flash ;)
[HTML]pb img qui s'affiche pas avec feuille de style[C] Infos pour un prog de dialogue avec carte E/S
Plus de sujets relatifs à : [VC++] De l'aide pour un prog qui affiche une page web !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR