abonnement Unibet Coolblue Bitvavo
  vrijdag 7 april 2006 @ 14:31:51 #76
15929 DiRadical
Everything's ruined
pi_36738544
Wat is toDir.
Een drivelistbox of een filelistbox
Het kan zijn dat de directory moet bestaan voordat je 'm mag toewijzen aan 1 van deze controls
Je zou kunnen controleren of de directory bestaat via het FileSystemObject.
Maar dan moet je in je project wel eerst een referentie zetten naar Microsft Scripting Runtime.
Dat kan in Project-> references

Deze staat in <je windows dir>\system32\scrrun.dll


1
2
3
4
5
6
7
8
9
Dim fso As FileSystemObject
dim sFolder as string
set fso = new FileSystemObject
sFolder  = QueryValue(HKEY_CURRENT_USER, "Software\quicktreecopy", "todir") 
if fso.FolderExists(sFolder) = true then
    toDir.path = sFolder
else
    toDir.path = "c:"
end if


[ Bericht 4% gewijzigd door DiRadical op 07-04-2006 14:35:16 (code beter gemaakt) ]
Happyness is nature's way of informing human resources that you're overpaid
-Catbert: Evil director of HR
pi_36739001
Maar het zou toch moeten werken met een onerror??? tenminste dat leek mij zo logisch...
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  vrijdag 7 april 2006 @ 15:34:49 #78
15929 DiRadical
Everything's ruined
pi_36740578
Oeps,
Ik had het zelf even moeten controleren in VB6 zelf
Deze moet anders
1toDir.path = "c:\"


Hij crashed 2 keer.
1 keer op de queryvalue toewijzing en de tweede keer op de c: toewijzing
Happyness is nature's way of informing human resources that you're overpaid
-Catbert: Evil director of HR
pi_36753358
hoe moet dat dan anders? want het werkt wel als ik juiste gegevens in het register heb dus snap niet waar de fout zit?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zaterdag 8 april 2006 @ 17:43:04 #80
15929 DiRadical
Everything's ruined
pi_36770326
quote:
Op vrijdag 7 april 2006 22:42 schreef Chandler het volgende:
hoe moet dat dan anders? want het werkt wel als ik juiste gegevens in het register heb dus snap niet waar de fout zit?
Je zegt dat de directory niet bestaat.
Dus zou het zo moeten
1
2
3
4
5
6
7
8
9
On Error GoTo topathErr
If QueryValue(HKEY_CURRENT_USER, "Software\quicktreecopy", "todir") _
 > "" Then
toDir.path = QueryValue(HKEY_CURRENT_USER, "Software\quicktreecopy", "todir")
        GoTo topathklaar
    End If
topathErr:
   toDir.path = "c:\"
topathklaar:


De registry key wordt correct uitgelezen maar kan niet toegewezen worden aan toDir.path
De applicatie springt naar topathErr:
Maar
1toDir.path = "c:" 

geeft ook een foutmelding. Deze bestaat ook niet.
Het moet
1toDir.path = "c:\"

zijn
Happyness is nature's way of informing human resources that you're overpaid
-Catbert: Evil director of HR
pi_36770462
correct, maar dan nog geeft het een error op toDir.path = QueryValue daar blijft het programma op hangen!

oftweel hier zit het probleem op regel 3!! (toDir.)

1
2
3
4
5
On Error GoTo topathErr
    If QueryValue(HKEY_CURRENT_USER, "Software\quicktreecopy", "todir") > "" Then
        toDir.path = QueryValue(HKEY_CURRENT_USER, "Software\quicktreecopy", "todir")
        GoTo topathklaar
    End If
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_37380035
Iets anders, hoe kun je iets berekenen.

Ik heb iets in een textboxje staan en wil daar uit het getal halen en een getal bij optellen... hoe doe je dat? want form.text1.value + iets = de value van text1 + "iets" en het moet eingelijk zijn text1 + iets = ietsmeer

Iemand een idee?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_37382955
Tekst omzetten naar getal, berekening uitvoeren, uitkomst omzetten naar tekst.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_37383259
ik dacht dat ik dat met INT kon doen maar dat gaat helaas ook niet werken int(text)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_37384354
CInt(), CLng() of CDbl()
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_37385990
Inderdaad, maar toch is het probleem nog niet opgelost

1
2
3
4
5
    If (HPtimer = mapleCalculator.maxHPsec.List(mapleCalculator.maxHPsec.ListIndex)) Then
        HPtimer = 0
        mapleCalculator.maxHPsaved.Text = CStr(CInt(mapleCalculator.maxHPsaved.Text) + _
                                          CInt(mapleCalculator.maxHPadd.Text))
    End If


ik krijg nu weer een foutje, met of zonder cstr en snap niet wat ik fout doe!

De fout krijg ik ook op het volgende

1        mapleCalculator.maxMPsaved.Text = CInt(CStr(CInt(mapleCalculator.maxMPsaved.Text)))


type-mismatch..

iemand een idee?

[ Bericht 18% gewijzigd door Chandler op 28-04-2006 22:11:34 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_37424187
reeds gefixt door val() te gebruiken, dit werkte namelijk ook.

weer een andere, hoe kan ik een getal naar boven afronden ookal is het logischer om deze naar beneden af te ronden. bv 4.1 wordt 5
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  vrijdag 5 mei 2006 @ 15:51:08 #88
15929 DiRadical
Everything's ruined
pi_37578966
RoundUp en RoundDown functie
quote:
correct, maar dan nog geeft het een error op toDir.path = QueryValue daar blijft het programma op hangen!

oftweel hier zit het probleem op regel 3!! (toDir.)

1
2
3
4
5
 On Error GoTo topathErr
    If QueryValue(HKEY_CURRENT_USER, "Software\quicktreecopy", "todir") > "" Then
        toDir.path = QueryValue(HKEY_CURRENT_USER, "Software\quicktreecopy", "todir")
        GoTo topathklaar
    End If 
Ook QueryValue moet een padnaam met een \ aan het eind terug geven, controleer de registry of maak een functie die een \ toevoegt als die niet aanwezig is.
Happyness is nature's way of informing human resources that you're overpaid
-Catbert: Evil director of HR
pi_40651268
Leuke vraag.

Ik heb een applicatie die nogal wat data kopieeert, echter als ik die applicatie op de voorgrond houd zie ik alles wat er gebeurd. Maar als ik even een ander programma op de voorgrond heb en weer terug switch loopt als het ware de 'weergave' vast. Het programma blijft wel werken maar de weergave blijft staan. Heeft iemand een idee waardoor dit kan komen? en of hoe ik dit kan oplossen?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_40657471
Je moet zorgen dat af en toe de events worden afgehandeld. Dat doe je met de functie DoEvents. Die moet je af en toe aanroepen in de loop die de data verwerkt. Je moet 'm ook niet te vaak aanroepen, want het zal er wel iets langzamer door worden.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_40691599
Owkee, ik heb het geprobeerd en lijkt te werken.

Nu een tweede vraag.

Ik heb ooit een project van QuietGuy omgebouwd tot tray progie... echter krijg ik de balon niet precies onder de icon in de tray.

source : http://dump.bruggema.nl/bwm.rar

wie wil eens kijken wat ik fout heb gedaan!?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_46270829
Een kickje omhoog
Toch leuk om het oude vertrouwde VB 6 weer te zien
Are you nuts??
pi_47716402
Ik ben er ook weer eens mee aan het pielen, Visual Basic 2005 Express (ja gratis :P ).

Hoe kan ik kijken of een String in een Textbox alleen uit cijfers bestaat of ook uit text? Ik doe het volgende namelijk maar daar crashed ie (duh) op:
1amountG1 = CDbl(txtGrade1.Text)


Maar je kan niet converten naar een Double als er leeskarakters in staan. Dus ik moet eerst testen of er tekst in staat en dan een error geven (of op de Change al testen en dan gewoon de invoerknop disablen).
pi_47722948
Dat kan op verschillende manier, welke het handigste is hangt er van af wat je er verder mee wil.
Als je de string naar een getal om wil zetten dan moet je eens kijken naar Interger.TryParse(), Double.TryParse() of Decimal.TryParse(). Je zou ook met Like kunnen kijken of er ongeldige tekens in staan. Een regular expression zou ook kunnen, maar dat is denk ik niet nodig.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_47723759
Ok, tnx alvast, morgen ff naar kijken
pi_47995659
Tis gelukt Rembo, maar ik heb het gewoon gedaan met Val() zodat als er een String in staat het resultaat gewoon 0 is, dat werkte uiteindelijk ook

Edit nvm al gelukt

Andere vraag :
Ik wil in een keer een hele grote groep labels en textboxes visible maken. Nou dacht ik slim te zijn en alle txtboves en labels ongeveer dezelfde naam te geven
1lbl & [String] & [Double]

En er dan doorheen te loopen zodat ik elke keer de Double kan verhogen met 1 zodat alle 29 labels niet meer visible gemaakt kunnen lopen.

Maar ik kan hier natuurlijk geen .visible = True achter zetten.
Iemand een idee hoe ik dit wel kan doen, snel en makkelijk zonder 2x 29 keer alles [NAAM].visible = True te doen?

Zoiets dus:
1
2
3
4
            For Labelnummer = 1 To 29
                Label = lbl & Job & Labelnummer
                Label.Visible = True
            Next

Label zou dan de naam van 29 verschillende labels worden die allemaal Visible = True moeten worden

[ Bericht 44% gewijzigd door DaFan op 04-04-2007 13:02:06 ]
pi_48003481
quote:
Op woensdag 4 april 2007 10:17 schreef DaFan het volgende:
Tis gelukt Rembo, maar ik heb het gewoon gedaan met Val() zodat als er een String in staat het resultaat gewoon 0 is, dat werkte uiteindelijk ook
Val() is zo'n wazige VB6 functie. Die kan je beter niet gebruiken.
quote:
Andere vraag :
Ik wil in een keer een hele grote groep labels en textboxes visible maken. [...]
Je zou de labels allemaal in een array kunnen zetten.
Of misschien kan je er voor zorgen dat ze allemaal op 1 panel o.i.d. staan zodat je ze in 1x zichtbaar kan maken.
Of je kunt door de controls collection van het form / panel / groupbox kunnen lopen.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_48027705
quote:
Op woensdag 4 april 2007 14:09 schreef SuperRembo het volgende:

[..]

Val() is zo'n wazige VB6 functie. Die kan je beter niet gebruiken.
[..]

Je zou de labels allemaal in een array kunnen zetten.
Of misschien kan je er voor zorgen dat ze allemaal op 1 panel o.i.d. staan zodat je ze in 1x zichtbaar kan maken.
Of je kunt door de controls collection van het form / panel / groupbox kunnen lopen.
Een array van labels is het makkelijkste, dan wordt het ongeveer zo:
1
2
3
4
5
6
           
           Dim k as integer

           For k = 0 To 29
                Label(k).Visible = True
           Next


Een array is te maken door één label te copieren en dan te plakken, wel voor array kiezen als VB dat vraagt.

[ Bericht 1% gewijzigd door The_Terminator op 05-04-2007 12:27:11 ]
  donderdag 5 april 2007 @ 07:59:44 #99
52513 whosvegas
The Trickster
pi_48031041
quote:
Val() is zo'n wazige VB6 functie. Die kan je beter niet gebruiken.

Hoezo, als je weet wat de functie doet, waarom zou je het niet gebruiken?
Are you nuts??
pi_48039959
Val() bestaat eigenlijk alleen nog om VB wat beter backwards compatible te maken. Als je nieuwe code schrijft is het niet handig om oude VB functies als Val(), Mid() en Format() te gebruiken.
Val() ondersteunt alleen een decimale punt, bij Double.Parse kan je makkelijk gelocaliseerde input ondersteunen. String functies als Mid() gebruiken een 1-based index terwijl alle "normale" .NET functies een 0-based index gebuiken.
En dan zitten er ook nog vreemde bugs in. Replace("", "foo", "bar") geeft in VB.NET bijvoorbeeld Nothing terug in plaats van een lege string.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')