WALL STREET V6 MISE À JOUR ET REFONTE

gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 - 1 août 2008 à 16:46
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 - 5 août 2008 à 00:51
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47467-wall-street-v6-mise-a-jour-et-refonte

gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
5 août 2008 à 00:51
citations :
les habitudes sont mauvaises conseillères
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
4 août 2008 à 21:16
Hum... les points 3,4 et 11, sont des équivalents. C'est donc l'idée clé : Le futur, Le progrès... et au vu de ce merveilleux avenir que nous réserve Microsoft, je rajouterais encore un point :

12. Faire du VB.NET c'est s'habituer à changer, pour les futurs changements de VB.NET...

Amicalement,
Us.
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
4 août 2008 à 12:18
11 .net c'est le futur
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
4 août 2008 à 11:57
sur vos arguments de 1 à 10, seuls les 8 et 9 pourraient m'amuser ^^
pour les autres je ne les approuve pas tous

ps : je n'ai pas regardé la source
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
4 août 2008 à 11:32
7. PCPT avec ta maîtrise de VB6, tu mettras peu de temps à maîtiser VB.NET, enfin, avant...
8. Retrouver le plaisir d'être perdu dans l'interface,
9. Retrouver le plaisir de rien comprendre aux messages d'erreurs.

Exemple : Cette source ! Quand je la lance, j'obtiens ce message : "Une exception de première chance de type 'System.InvalidCastException' s'est produite dans Microsoft.VisualBasic.dll"

10. Avoir une interface plus optimiste que jamais. Un message d'erreur n'est pas un truc sans appel, du style : "Invalid machin...", non c'est une "première chance"... J'adore. Attention la prochaine fois !

Du reste, les cotations restent à zéro ?...

Amicalement,
Us.
cs_Blodox Messages postés 134 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 24 octobre 2010
4 août 2008 à 03:20
PS: PCKC-> "décocher la compatibilité dans les options du projet" , c'est où ça ?
Entre parenthèses, je planche, à dessein, sur les modifications suggérées, mais j'ai eu des surprises ent mid et .substring ...
cs_Blodox Messages postés 134 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 24 octobre 2010
3 août 2008 à 23:00
PCPT : merci, je vais essayer de bricoler ça; pas familier avec ces fcts
... et pis je re-poste ...
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 août 2008 à 22:47
c'est quoi cette fonction GetRate2 ?
on boucle sur chaque caractère pour trouver ">" ?
il faut utiliser .indexof
pareil pour mid, utiliser .substring

ailleurs pareil pour les fonctions comme trim format ucase etc..., c'est du VB6 çà, pas du dotnet. il faut décocher la compatibilité dans les options du projet
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
3 août 2008 à 22:39
no probem man !
il n'y a que les gens qui ne font rien qui ne font pas d'erreur

si tu compares les lignes avec ton code tu verras vite ou j'ai fait des manipulations

bonne soirée
cs_Blodox Messages postés 134 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 24 octobre 2010
3 août 2008 à 22:21
OK, je teste chez moi (j'ai bien du faire ça pour une bonne raison... je vais trouver l'expli (s'il en est une, sinon faut que je prenne des vacances passque j'm'ai embrouillé qq part) faut que je me relise ...¥€$...)
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
3 août 2008 à 22:17
Private Sub WRITE_LOG_FILE()
'
'/* "impression" de la table devises (DISPLAYABLE) renseignée avec les taux... */
'/* le fichier s'agrandira au fur et à mesure */
'/* ce n'est qu'au lancement de l'appli que celui-ci est mis à Zéro */
'/* on peut aussi le supprimer manuellement */
'
Dim I As Integer
Dim LOG_FILE_NO As Integer = FreeFile()
'
FileOpen(LOG_FILE_NO, RATES_FILE, OpenMode.Append, OpenAccess.Write)
'
PrintLine(LOG_FILE_NO, UCase(X_LOCA) & " " & X_DATE & " - " & X_TIME)
PrintLine(LOG_FILE_NO, StrDup(85, "-"))
PrintLine(LOG_FILE_NO, "CODE " & ("DEVISE".PadRight(32, " ")), "DEV PER EUR".PadLeft(14, " "), "EUR PER DEV".PadLeft(14, " "))
PrintLine(LOG_FILE_NO, StrDup(85, "-"))
'
For I = 0 To IDX_RATES
'
With TBL_RATES(I)
PrintLine(LOG_FILE_NO, .DV_CODE & " " & .DV_LIBL.PadRight(32, " "), Format(.DV_DEV_PER_EUR, "#####0.00000").PadLeft(14, " "), Format((.DV_EUR_PER_DEV / 100000), "#####0.00000").PadLeft(14, " "))
End With
'
Next
'
PrintLine(LOG_FILE_NO, StrDup(85, "="))
'
FileClose(LOG_FILE_NO)
'
End Sub
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
3 août 2008 à 22:15
Private Sub LOAD_MSG()
'
'/* génération du message pour l'affichage déroulant */
'
Dim I As Integer
'
'/* note : les caractères minuscules sont affectés à d'autres glyphes (cf table jointe) */
TMP_MSG = "lll " & UCase(X_LOCA) & " " & X_DATE & " - " & X_TIME & " nnn "
'
For I = 0 To IDX_RATES
'
With TBL_RATES(I)
'
TMP_MSG &= " t " & .DV_CODE & " " & Trim(Format((.DV_DEV_PER_EUR / 100000), "#########0.00000")) & "/€"
'
End With
'
Next
'
TMP_MSG &= "hhh "
'
End Sub
'
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
3 août 2008 à 22:14
Private Function GetRate2(ByVal S As String) As String
'/* extraction du second taux depuis l'item "devise" extrait */
'Exemple : reçu ---> " Dollar américain</td><td align="center">0,64210</td><td align="center">1,55739"
'Exemple : retour -> "••••1.55739"
'
Dim I As Integer
Dim V, W, X As String
'
For I = S.Length To 1 Step -1
If Mid(S, I, 1) = ">" Then
V = Mid(S, I + 1)
V = V.Replace(",", ".")
' W = Format(Val(V) * 100000, "####000000")
' W = W.PadLeft(10, " ")
' X = Mid(W, 1, 5) & "." & Mid(W, 6)
Return V
End If
Next
'
Return "ERROR !"
'
End Function
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
3 août 2008 à 22:13
Private Function GetRate1(ByVal S As String) As String
'/* extraction du premier taux depuis l'item "devise" extrait */
'Exemple : reçu ---> " Dollar américain</td><td align="center">0,64210</td><td align="center">1,55739"
'Exemple : retour -> "••••0.64210"
'
Dim Z_BAL As String = "align=" & QOT & "center" & QOT & ">"
Dim P As Integer
Dim V, W, X As String
'
P = InStr(S, Z_BAL)
If P > 0 Then
V = Mid(S, P + Z_BAL.Length)
P = InStr(V, "</td>")
V = Mid(V, 1, P - 1)
V = V.Replace(",", ".")
' W = Format(Val(V) * 100000, "####000000")
' W = W.PadLeft(10, " ")
' X = Mid(W, 1, 5) & "." & Mid(W, 6)
Return V
Else
Return "ERROR !"
End If
'
End Function
cs_Blodox Messages postés 134 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 24 octobre 2010
3 août 2008 à 21:08
Ah bon ?!?!, j'ai fait ça ?!?!
C'est vers où ?
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
3 août 2008 à 12:54
j'ai trouvé ce qui ne fonctionnait pas ,
j'ai pas vraiment compris pourquoi mais dans ton code les données sont passées à la fonction format plusieurs fois avant l'affichage,
j'ai suprimé quelques lignes ,j'en ai modifié d'autres et maintenant ça fonctionne impecablement
cs_Blodox Messages postés 134 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 24 octobre 2010
3 août 2008 à 11:32
m'en parle pas,
vb3
lol
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
3 août 2008 à 10:39
ah vb7 non il y a beaucoup de nouvelle fonctions dans le framework 2

mais n'est il pas possible d'utiliser le framework 2 avec vb7

perso ça m'arrive d'utiliser le framework 3 avec vb8

sinon essaie Microsoft.VisualBasic.Devices.Audio.Play
ça devrait fonctionner en vb7

vb6 plus élégant , bof, il y a des vieilles dames élégantes :))
cs_Blodox Messages postés 134 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 24 octobre 2010
3 août 2008 à 08:37
PS: libre à chacun de dégager la partie analyse dédiée aux devises, le principe reste le même par ex. pour les dernières news (la form config ne sert plus dans ce cas; cf mon "Journal" @ http://www.vbfrance.com/codes/DEMANDEZ-DEPECHE_37573.aspx
cs_Blodox Messages postés 134 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 24 octobre 2010
3 août 2008 à 05:05
... au fait :
My.Computer.Audio.Play(WRK_SND, AudioPlayMode.Background)

pas en VB7
(à moins que j'aie loupé un imports quelconque....)
cs_Blodox Messages postés 134 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 24 octobre 2010
3 août 2008 à 04:51
6 c'est plus élégant ? (lol)
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
2 août 2008 à 19:08
faut t'y mettre chaque fois que je vois une de tes sources je fais un gros juron parce que c'est du vb6.

les bonnes raisons pour passer à .net

1 vb6 n'est plus supporté par microsoft
2 les programmes fait en vb.net tournent en 64 bits
3 d'ici quelques années ça m'étonneraient que microsoft continue a
faire des version 32bits de windows
4 il faut aller de l'avant : vive le progrès
5 zut je sais plus :)
( aidez moi c'est urgent)
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 août 2008 à 18:55
non pas encore, mais on lit de temps en temps...
ok presque kif kif. m'enfin à tout réduire çà va finir à "regarde System()" ^^
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
2 août 2008 à 17:43
tu te met au .net PCPT ?
System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator.ToString() ', System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberGroupSeparator.ToString() ' .



bonjour chez vous
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 août 2008 à 17:06
on ne touche pas aux paramètres.
le point est le séparateur décimal dans l'IDE mais aucun rapport non plus avec le système régional

pour lire ce séparateur, il faut regarder du côté de la classe culture
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
2 août 2008 à 16:07
possible mais en interne vb traite les nombres avec un point comme décimale .
moi je n'utilise jamais de parrametres régionnaux , mais il y a moyen de forcer le truc avec system.globalization

sinon le plus simple c'est de faire comme vb formatter les nombres avec un point comme décimale et pas de séparateur de milliers
apres pour l'affichage tu peux en faire ce que tu veux
cs_Blodox Messages postés 134 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 24 octobre 2010
2 août 2008 à 15:49
... suite ....

rien de bien méchant, toujours des problèmes de type (pas de personne...)
à part instr où il m'a rajouté un argument sans que je lui aie rien demandé...

donc, recompilé et pas de problème.

Ça pourrait venir de paramètres régionaux ou qq chose comme ça ?

(rien à dire pour le sound, c'est ok)
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
2 août 2008 à 15:48
j'ai éssayé de bricoler mais ....
j'ai toujours le même résultat je te laisse faire et si parfois tu cherches une fonction en net le moyen le plus intuitif pour la trouver , c'est
l'explorateur d'objets ( object browser)
cs_Blodox Messages postés 134 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 24 octobre 2010
2 août 2008 à 15:33
ben playsound, c'est tout ce que j'avais réussi à trouver (je suis passé direct de vb3 à vb7 sans filet...) donc je découvre petit à petit...
je vais essayer ça...

En vb 2005 (Express) je suis novice;
effectivement, avec option strict ON, il m'en balance 30...
... va falloir que je bricole ...
sinon, avec l'option par défaut ("personnalisé" je crois), c'est OK...
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
2 août 2008 à 15:21
mais franchement je ne comprends pas pourquoi tu t'obstines à vouloir utiliser PlaySound Lib "winmm.dll"
en .net il y a plus simple :
My.Computer.Audio.Play("sound.wav", AudioPlayMode.Background)
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
2 août 2008 à 15:18
option strict on j'ai 37 erreurs !
inplicit conversion
c'est pas normal que d'une version à l'autre il y a autant de difference
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
2 août 2008 à 15:15
mdr j'ai pas regardé le code je vais voir aussi =)
cs_Blodox Messages postés 134 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 24 octobre 2010
2 août 2008 à 14:58
GILLARDG :
Curieux, j'ai re-downloadé mon post dans un emplacement différent et j'ai recompilé l'appli, et je n'ai pas ce problème, j'ai efectivement 1 dollar et des brouettes pour 1 euro...

C'est écrit avec VB7, je n'ai pas essayé en VB 2005 Express, peut-être y a-t-il là une bizarrerie...

Je regarde ça et agis en conséquence, (c'est pas une machine qui va me ... non mais !!!)

8-P
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
2 août 2008 à 14:46
j'ai corrigé comme indiqué ici^^ .....
et ça fonctionne , mais l'information est elle bien formatée ou faut il le configurer ??
USD ($)155691,00000 /EURO??? c'est quoi
ne serait ce pas plutot 1,55691 /1 Euro???
n'y aurait il pas un problème d'affichage ou de calcul ???
je dois dire que si tu trouves un banquier te donnant 155691$ pour 1 euro il fera faillite assez rapidement

heu si c'est moi qui n'aie rien compris fais le moi savoir
cs_Blodox Messages postés 134 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 24 octobre 2010
2 août 2008 à 14:26
... dont acte ...
cs_Blodox Messages postés 134 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 24 octobre 2010
2 août 2008 à 14:04
GILLARDG :
Normal, ça ne passe qu'à partir de 1024 x nnnn; le problème se trouve en ligne 725 et suivantes : en 800, COPYRIGHT_TEXT ne doit pas excéder 25 caractères;

il faut remplacer la séquence

I = (CTL_CTR - 26) \ 2
'
'/* cadrage centré du copyright text */
COPYRIGHT_TEXT = (StrDup(I, "n") & .....

par

COPYRIGHT_TEXT = "XYZ" '(25 caractères maxi en 800 x nnn
I = (CTL_CTR - COPYRIGHT_TEXT.Length) \ 2
'
'/* cadrage centré du copyright text */
COPYRIGHT_TEXT = (StrDup(I, "n") & COPYRIGHT_TEXT).PadRight(CTL_CTR, "l")

et ça passe ...

je fais la mise à jour du zip
a+
hehe45 Messages postés 12 Date d'inscription vendredi 23 mars 2007 Statut Membre Dernière intervention 2 août 2008
2 août 2008 à 09:52
5740 x 1247
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
2 août 2008 à 09:28
800 x 600
cs_Blodox Messages postés 134 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 24 octobre 2010
1 août 2008 à 22:00
Bonsoir,
Tu as quoi comme résolution d'écran ?
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
1 août 2008 à 16:46
au démmarrage de l'appli j'ai ce message

System.ArgumentException was unhandled
Message="L'argument 'Number' doit être supérieur ou égal à zéro."
Source="Microsoft.VisualBasic"
StackTrace:
à Microsoft.VisualBasic.Strings.StrDup(Int32 Number, String Character)
à WallStreet.FRM_WALLSTREET.CREATE_FORM_CONTROLS()
à WallStreet.FRM_WALLSTREET.INITIALIZE()
à WallStreet.FRM_WALLSTREET.FRM_WALLSTREET_Load(Object sender, EventArgs e)
à System.Windows.Forms.Form.OnLoad(EventArgs e)
à System.Windows.Forms.Form.OnCreateControl()
à System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
à System.Windows.Forms.Control.CreateControl()
à System.Windows.Forms.Control.WmShowWindow(Message& m)
à System.Windows.Forms.Control.WndProc(Message& m)
à System.Windows.Forms.ScrollableControl.WndProc(Message& m)
à System.Windows.Forms.ContainerControl.WndProc(Message& m)
à System.Windows.Forms.Form.WmShowWindow(Message& m)
à System.Windows.Forms.Form.WndProc(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
à System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
à System.Windows.Forms.SafeNativeMethods.ShowWindow(HandleRef hWnd, Int32 nCmdShow)
à System.Windows.Forms.Control.SetVisibleCore(Boolean value)
à System.Windows.Forms.Form.SetVisibleCore(Boolean value)
à System.Windows.Forms.Control.set_Visible(Boolean value)
à System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
à System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
à System.Windows.Forms.Application.Run(Form mainForm)
à WallStreet.FRM_WALLSTREET.Main()
à System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
à System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
à Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
à System.Threading.ThreadHelper.ThreadStart_Context(Object state)
à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
à System.Threading.ThreadHelper.ThreadStart()