Hallo

Welkom, Gast. Alsjeblieft inloggen of registreren.

Recent

492 gasten, 0 leden

Welkom, Gast. Alsjeblieft inloggen of registreren.

28 april 2024, 16:29:59

Login met gebruikersnaam, wachtwoord en sessielengte

Nieuws

Welkom op het vernieuwde NL Computer Forum!

Auteur Topic: MSChart for VB6  (gelezen 22688 keer)

0 leden en 1 gast bekijken dit topic.

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: MSChart for VB6
« Reactie #15 Gepost op: 1 april 2012, 13:17:11 »
Hoi Peter,
Op je vraag of na gebruik van VtChAxisTickStyleNone  ook de labels weg zijn is het antwoord "Ja". De datum en versie van MSChart20.ocx zijn resp. 24 maart 2009 en 6.1.98.16.
Ik heb ook chtPlot vervangen door mscGrafiek.
Om dat ik tijdens het testen soms erg lang moest wachten op het uitvoeren van bepaalde acties, heb ik HiJackThis weer eens gedraaid. Omdat ik geen idee heb waarvoor sommige regels dienen, wil ik je vragen of je de lijst eens wilt controleren en aangeven welke regels verwijderd kunnen worden.
Het zou natuurlijk ook kunnen dat er aan het testprogramma iets aan de afsluiting ontbreekt waardoor er dingen in het geheugen  achterblijven van de vorige test.
Graag je mening.
 
m.vr.gr.,
 
Jan

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: MSChart for VB6
« Reactie #16 Gepost op: 1 april 2012, 15:31:59 »
Hoi Jan,

Ik heb je vraag mbt HijackThis afgesplitst van dit topic. Je vraag staat nu HIER.

Wat betreft dat mschrt20.ocx, jij hebt een nieuwere versie dan de mijne. Ik ga daar naar op zoek.


Peter



Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: MSChart for VB6
« Reactie #17 Gepost op: 1 april 2012, 20:32:16 »
Hoi Peter,
Als je die hebben wil kan ik er wel een kopiëren, maar ik vermoed dat een ocx niet als attachment geaccepteerd wordt.
 
 
Jan

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: MSChart for VB6
« Reactie #18 Gepost op: 1 april 2012, 21:00:44 »
Peter,
Als ik het programma nu draai loopt hij vast of vliegt eruit op regel ".RowCount = NumRegels(1)". Hij komt niet in het foutenlog terecht.
 
 
Jan

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: MSChart for VB6
« Reactie #19 Gepost op: 1 april 2012, 21:25:30 »
Hoi Jan,

Citaat
Als je die hebben wil kan ik er wel een kopiëren, maar ik vermoed dat een ocx niet als attachment geaccepteerd wordt.
Klopt, maar ik heb hem al gedownload en geïnstalleerd. Voor de meelezers, DIT is de download pagina.
De installatie verliep zonder problemen over de bestaande versie.
Het mooie is, deze code werkt nog steeds:
With mscGrafiek.Plot.Axis(VtChAxisIdX).CategoryScale
   .Auto = False
   .DivisionsPerTick = mscGrafiek.RowCount
End With
M.a.w. geen problemen met .CategoryScale

Citaat
.RowCount = NumRegels(1)
Zet een breekpunt op deze regel en kijk wat beide waardes zijn. Mogelijk heb je een kleinere array toegevoegd dan de waarde van NumRegels(1). .RowCount kan niet groter zijn dan het aantal rijen in de grafiek.


Peter


Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: MSChart for VB6
« Reactie #20 Gepost op: 3 april 2012, 18:25:39 »
Hoi Peter,
Volgens mij is de instelling van RowCount in de eerste With MSChart niet eens nodig, want als ik een break zet op de regel met .RowCount en .RowCount print zonder de regel zelf uit te voeren, dan krijg ik het antwword dat ik in de regel wil instellen.
Peter, met slechts 10 gegevenspunten is de zwarte balk inderdaad weg, maar de R-labels krijg ik niet weg, terwijl er toch nieuwe labels zijn ingesteld. Overschrijven die de R-labels niet? De dagen met blanco labels gaan zo te zien wel goed.
 
 
groetjes,
 
Jan

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: MSChart for VB6
« Reactie #21 Gepost op: 3 april 2012, 19:54:35 »
Hoi Jan,

Citaat
met slechts 10 gegevenspunten is de zwarte balk inderdaad weg, maar de R-labels krijg ik niet weg, terwijl er toch nieuwe labels zijn ingesteld.
Een nieuwe screenshot graag en je code waarmee je de grafiek vult.


Peter

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: MSChart for VB6
« Reactie #22 Gepost op: 4 april 2012, 15:25:06 »
Hoi Peter,
Het is gelukt de grafiek goed te krijgen met de bijgaande code. Zie het ook aangehechte PrintScreen.
Wat de fouten veroorzaakte was dat ik de dimensies van Koersen niet aangepast had aan het kleinere aantal waarden, maar ik ging ervan uit dat de For i = 1 To .. dit opving.   
Ik neem aan dat ik AutoLayout uit moet zetten om een wat meer uitgesproken karakter aan de grafieklijn te geven. Zoals het nu is, is de grafiek bijna een rechte lijn, terwijl er veel meer variatie in zit. Natuurlijk komt die variatie veel beter tot uiting bij
meer koersen. De variatie op korte termijn is natuulijk vrij vlak.
Nu ik wat van de eigenaardigheden van MSChart heb leren kennen, denk ik dat ik me wel weer redden kan, dank zij jou. Daarvoor heel erg bedankt.
 
 
m.vr.gr.,
 
Jan 

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: MSChart for VB6
« Reactie #23 Gepost op: 4 april 2012, 18:24:05 »
Peter,
Er is nog een ding dat ik vreemd vind aan MSChart. Aan het begin van de subroutine staat ColumnCount op 4 en RowCount op 5. Deze zijn van de voorbeeldgrafiek met de random gegevens. Als je dan in With MSChart1 deze opnieuw instelt op de waarden die je in de grafiek gebruikt, dan is het dus fout en blokkeert de boel. Ik heb geprobeerd de ColumnCount en RowCount  aan het begin van de routine in te stellen op de waarden die ik ook in With MSChart gebruik, maar toch loopt het fout.
Hoe moet dit worden opgelost. De Subs zijn Private, dus er kunnen ook niet uit andere routines dimensies worden meegenomen naar de betreffende routine.
 
 
Jan

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: MSChart for VB6
« Reactie #24 Gepost op: 4 april 2012, 22:22:16 »
Hoi Jan,

X-as labels:
Zo te zien werkt je For i = 21 To 40 ... Next lus niet goed, tenzij je nu wenst dat alle labels leeg moeten zijn behalve de 2e.?
Mag ik een screenshot zien zonder het gebruik van die For...Next lus.

Citaat
Als je dan in With MSChart1 deze opnieuw instelt op de waarden die je in de grafiek gebruikt, dan is het dus fout en blokkeert de boel. Ik heb geprobeerd de ColumnCount en RowCount  aan het begin van de routine in te stellen op de waarden die ik ook in With MSChart gebruik, maar toch loopt het fout.
Ik kan .ColumnCount en .RowCount gewoon aanpassen.

Voeg eens 2 knoppen toe, genaamd CmdColCount en CmdRowCount.
Voeg vervolgens deze code toe. Daarmee kun je het aantal kolommen en rijen aanpassen.
Gebruik: Klik op 1 van de knoppen en druk vervolgens op de + of - toets.
Private Sub CmdColCount_KeyPress(KeyAscii As Integer)
'toetsdruk op deze knop afhandelen
Select Case KeyAscii
   Case 45: mscGrafiek.ColumnCount = mscGrafiek.ColumnCount + 1    '+ toets
   Case 43: mscGrafiek.ColumnCount = mscGrafiek.ColumnCount - 1    '- toets
End Select
End Sub

Private Sub CmdRowCount_KeyPress(KeyAscii As Integer)
'toetsdruk op deze knop afhandelen
Select Case KeyAscii
   Case 45: mscGrafiek.RowCount = mscGrafiek.RowCount + 1    '+ toets
   Case 43: mscGrafiek.RowCount = mscGrafiek.RowCount - 1    '- toets
End Select
End Sub
Werkt dat wel?

Peter

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: MSChart for VB6
« Reactie #25 Gepost op: 4 april 2012, 22:52:39 »
Hoi Peter,
Ik heb nog niet geprobeerd of de code die je geeft werkt. Het resultaat daarvan krijg je morgen.
Maar wat .RowCount en .ColumnCount betreft: ik kan ze ook veranderen, maar als ik de eerste keer op deze regels aankom staan er al waarden in, 4 voor ColumnCount en 5 voor RowCount. Als ik dan beide verander, vergelijkt hij kennelijk de nieuwe waarden met de 4 en de 5 en loopt dan fout.
 
 
m.vr.gr.,
 
Jan

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: MSChart for VB6
« Reactie #26 Gepost op: 5 april 2012, 21:16:01 »
Hoi Peter,
Zoals beloofd de antwoorden op je recente vragen.
Citaat
Zo te zien werkt je For i = 21 To 40 ... Next lus niet goed, tenzij je nu wenst dat alle labels leeg moeten zijn behalve de 2e.?
.
Deze lus werkt wel goed. Ik heb als periode 21 t/m 40 een deel van januari en een deel van februari als data genomen. De 2 was dus de maandwisseling van 1 naar 2. Wat nog moet worden aangebracht is het vermelden van het jaar in positie 1.
Het gebruik van de knoppen CmdColCount en CmdRowCount doet niets. Het kan ook aan het andere onderwerp liggen waar je mee bezig bent: de trage computer. Er valt met de computer niet te werken momenteel. Ik wil Acronis helemaal verwijderen en zien of het probleem dan weg is. 

Jan
« Laatst bewerkt op: 5 april 2012, 22:47:55 door Peter »

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: MSChart for VB6
« Reactie #27 Gepost op: 5 april 2012, 22:42:08 »
Hoi Jan,

Citaat
Wat nog moet worden aangebracht is het vermelden van het jaar in positie 1.
De For...Next lus slaat element 0 over, m.a.w. Koersen(0, 0)
Deze code kan ook beter:
For i = 21 To 40
    If i = 21 Then
        Koersen(i - 20, 0) = " "
    End If
    If i > 21 Then          ' Om ongelijkheid op dag 1 te voorkomen
        ....
    End If
Next

Dit is logischer en sneller:
For i = 21 To 40
     If i = 21 Then    '1e dag
        'labeltekst = jaartal
         Koersen(i - 20, 0) = RTrim$(Left(Datum(i, 1), 4))
     Else                  'vanaf de 2e dag...
         ....
     End If
 Next
 

Citaat
De 2 was dus de maandwissleing van 1 naar 2.
Aha. Duidelijk nu. Een tip: toon "feb" ipv "2".

Citaat
Het gebruik van de knoppen CmdColCount en CmdRowCount doet niets.
Let op: Gebruik de plus- en min-toets nadat je op een van deze knoppen geklikt hebt.
Zet eens een breakpunt in de events CmdColCount_KeyPress() en CmdRowCount_KeyPress().
Komt de verwerking daar wel?.


Peter
« Laatst bewerkt op: 5 april 2012, 22:48:21 door Peter »

Offline jvdpeet †
  • Senior lid
  • ****
  • Berichten: 365
  • Geslacht: Man
Re: MSChart for VB6
« Reactie #28 Gepost op: 5 april 2012, 23:12:42 »
Hoi Peter,
Hij geeft op KeyAscii "variable not defined". Die hoef je toch niet te definiëren? Ik dacht dat dat een onderdeel van VB was.
Ik gebruik inderdaad de + en - toets nadat op de knop is gedrukt. Maakt het nog verschil: in de bovenste toetsenrij of naast het cijfergedeelte rechts op het toetsenbord? 
Je alternatieve For . . . .  Next neem ik over.
 
 
Jan

Offline Peter

  • Sysop
  • *****
  • Berichten: 5.683
  • Geslacht: Man
Re: MSChart for VB6
« Reactie #29 Gepost op: 5 april 2012, 23:46:11 »
Hoi Jan,

Citaat
Hij geeft op KeyAscii "variable not defined"
Huh ??? . KeyAscii staat toch in de kopregel van de Sub: bijv.
Private Sub CmdColCount_KeyPress(KeyAscii As Integer)

Citaat
Maakt het nog verschil: in de bovenste toetsenrij of naast het cijfergedeelte rechts op het toetsenbord?
Gebruik die rechts van het cijfergedeelte maar.
De toetsen in de bovenste rij werken ook, maar dat moet je mogelijk ook de SHIFT-toets indrukken. Dit is afhankelijk van je toetsenbord indeling.


Peter