Tuesday, December 27, 2011

Changer ses micros de guitare

Changer les micros d'une guitare soi-même n'est pas vraiment compliqué.  L'idée c'est de bien se repérer avant même de commencer pour identifier les câbles et les couleurs.



Ci-dessus le câblage existant d'une Ibanez RG370DX équipée de INF3, INFS3 et INF4.  Voici les codes couleurs du INF4:
Blanc - positif (hot)
Rouge- coil-split - on peut l'utiliser si l'on veut monter un schéma permettant d'utiliser qu'une bobine.
Noir - (Black) - terre (ground)

Le INF4 a été remplacé par un GFS Fat PAT et pour le montage de ce dernier, il suffit de suivre le schéma qui vient avec, cependant faites attention d'inverser le câble terre (noir) et le positif (vert) pour mettre le micro en phase avec celui d'origine (ici un INFS3)


Monday, December 19, 2011

Excel & VBA pour l'extraction de données.

Petit «hack» fait rapidement ce matin me permettant de récupérer le tableau du taux de change en première page depuis le site de la MCB LTD. Le code étant un peu bourrin, ça m'a fait tout de suite pensé au blog.



 1 Sub FetchForex()
 2
 3     Dim i As Integer
 4     Dim sURL As String, sHTML As String, sAllPosts As String
 5     Dim oHttp As Object
 6     Dim lTopicstart As Long, lTopicend As Long
 7     Dim blWSExists As Boolean
 8     
 9     sURL = "http://www.mcb.mu/"
10     On Error Resume Next
11     Set oHttp = CreateObject("MSXML2.XMLHTTP")
12     If Err.Number <> 0 Then
13         Set oHttp = CreateObject("MSXML.XMLHTTPRequest")
14         MsgBox "Error 0 has occured while creating a MSXML.XMLHTTPRequest object"
15     End If
16     
17     On Error GoTo 0
18     If oHttp Is Nothing Then
19         MsgBox "For some reason I wasn't able to make a MSXML2.XMLHTTP object"
20         Exit Sub
21     End If
22         
23     'Open the URL in browser object
24     oHttp.Open "GET", sURL, False
25     oHttp.Send
26     sHTML = oHttp.responseText
27     
28     lTopicstart = InStr(1, sHTML, "<div class=""table_forex_rates"">", vbTextCompare)
29     lTopicend = InStr(1, sHTML, "<div class=""border_forex"">", vbTextCompare)
30     sHTML = Mid(sHTML, lTopicstart, lTopicend - lTopicstart)
31     
32     Dim lCurrLabelStart As Long
33     Dim lCurrValueStart As Long
34     Dim lStartPos As Long
35     Dim continue As Boolean
36     Dim iCurrValueFieldLength As Long
37     Dim sPreCurrLabelStart As String
38     Dim sPreCurrValStart As String
39     
40     i = 1
41     lStartPos = 1
42     iCurrValueFieldLength = 46
43     continue = True
44     sPreCurrLabelStart = "_Range1Label"">"
45     sPreCurrValStart = "_RangeLabel"">"
46     Set RE = CreateObject("vbscript.regexp")
47     With RE
48         .MultiLine = False
49         .Global = False
50         .IgnoreCase = True
51         .Pattern = "[0-9]+.[0-9][0-9]"
52     End With
53     
54     ' parse the HTML to extract the values
55     Do While continue
56         lCurrLabelStart = InStr(lStartPos, sHTML, sPreCurrLabelStart, vbTextCompare) + Len(sPreCurrLabelStart)
57         lCurrValueStart = InStr(lStartPos, sHTML, sPreCurrValStart, vbTextCompare) + Len(sPreCurrValStart)
58         Worksheets(1).Range("A" + CStr(i)).Value = Mid(sHTML, lCurrLabelStart, 3)
59         Worksheets(1).Range("B" + CStr(i)).Value = RE.Execute(Mid(sHTML, lCurrValueStart, iCurrValueFieldLength))(0)
60         Worksheets(1).Range("C" + CStr(i)).Value = RE.Execute(Mid(Mid(sHTML, lCurrValueStart, iCurrValueFieldLength), 6, 41))(0)
61         
62         lStartPos = lCurrValueStart
63         i = i + 1
64         If i > 6 Then
65             continue = False
66         End If
67     Loop
68
69     Set oHttp = Nothing
70 End Sub
71