abonnement Unibet Coolblue Bitvavo
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? |
pi_51663486
Vraagje...

Ik heb een loopje in mijn vb applic. echter wil ik per loop de resultaten laten zien in mijn form.

Nu doe ik form1.status_box.text = "Status"

Echter zie ik pas na het doorlopen van deze loopje de status van de laatste item op deze plaats komen.

What am i doingk wrong?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_51664548
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_51666189
Sr

Nog 1 vraagje.

Ik werk nu met line input, echter werkt dit bij 1 groot tekst bestand niet.. Line input ziet niet dat het een tekst bestand is en leest gelijk het hele bestand uit... wat kan ik hier aan veranderen zodat hij wel alle regels leest?

Anyone?

[ Bericht 71% gewijzigd door Chandler op 20-07-2007 17:32:27 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_51668350
quote:
Op vrijdag 20 juli 2007 16:39 schreef Chandler het volgende:
Sr

Nog 1 vraagje.

Ik werk nu met line input, echter werkt dit bij 1 groot tekst bestand niet.. Line input ziet niet dat het een tekst bestand is en leest gelijk het hele bestand uit... wat kan ik hier aan veranderen zodat hij wel alle regels leest?

Anyone?
VB.net?

Meer info ?
Lambo of Rekt
pi_51668777
Waar doel je op EggsTC?

Ik zal even iets uitgebreidere info geven.

Het bestand is opgezet als een UNIX tekst bestand, echter moet ik natuurlijk met VisualBASIC voor line input een Windows Tekst bestand hebben. Ik heb geprobeerd via wordpad en notepad++ alles om te zetten naar een tekst bestand met windows encoding. Echter is alles mislukt.. en deze progies crashen..

Nu zoek ik naar een oplossing

VB.net gaf geen bevredigend antwoord

http://www.thefreecountry.com/tofrodos/ is een handig programmatje om UNIX documenten te converteren naar Windows documenten en visa versa

[ Bericht 31% gewijzigd door Chandler op 20-07-2007 18:55:17 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_51672802
Met een TextReader zou het moeten kunnen. ReadLine geeft 1 regel terug:
quote:
A line is defined as a sequence of characters followed by a carriage return (0x000d), a line feed (0x000a), a carriage return followed by a line feed, Environment.NewLine, or the end of stream marker. The string that is returned does not contain the terminating carriage return and/or line feed. The returned value is a null reference (Nothing in Visual Basic) if the end of the input stream has been reached.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_51675008
quote:
Op vrijdag 20 juli 2007 20:12 schreef SuperRembo het volgende:
Met een TextReader zou het moeten kunnen. ReadLine geeft 1 regel terug:
Ik hoop dat het werkt, want die converter kan geen UTF-8 tekens converteren erg onhandig... output van een 60MB file is gewoon dom weg 5.nogwat MB (na draaien in mijn progie, end door eof!)

This page is specific to .NET Framework 3.0

[ Bericht 10% gewijzigd door Chandler op 20-07-2007 21:36:44 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_51687912
quote:
Op vrijdag 20 juli 2007 21:26 schreef Chandler het volgende:
This page is specific to .NET Framework 3.0
De TextReader class bestaat al sinds .NET 1.0. Het lijkt me niet dat er heel veel in veranderd is.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_51688295
Ow :{

Ik was zelf even aan het knutselen maar doe iets erg verkeerd :P

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    Open Dir1.Path & "" & File1.FileName For Binary As #freeNum
    While Not readBytes >= fileSize 'EOF(freeNum)
    
        ' Line Input #FreeNum, txt             ' 1 whole line is read
        
        Do While readByte <> Chr(10)
            Get #freeNum, , readByte
            
            Debug.Print Len(txt) & "-" & Len(readByte) & "-" & Asc(readByte)
            txt = txt & readByte
        Loop
       
        readBytes = readBytes + Len(txt)

    loop


Alleen is het probleem dat txt altijd leeg blijft :{.

Of moet ik zo ie zo de positie van het in te lezen bitje specificeren? zo gaat ie toch telkens ook 1 positie naar boven?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_51689245
Kolere wat een ranzige code Ben je nou toch weer in VB6 aan 't knoeien?

In VB.NET kan het zo:
1
2
3
4
5
6
7
8
Dim line As String
Dim reader As New System.IO.StreamReader("C:/foo.txt")

While Not reader.EndOfStream
   line = reader.ReadLine()
   '...
End While
reader.Close()
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_51689468
Ik heb helaas geen VBnet... (jawel, maar weet niet waar, moet toch ook gewoon in vb6 kunnen, zoals bovenstaand maar dan anders...)

Ennuh opzich is mijn code toch wel juist?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_51690135
quote:
Op zaterdag 21 juli 2007 12:24 schreef Chandler het volgende:
Ik heb helaas geen VBnet... (jawel, maar weet niet waar, moet toch ook gewoon in vb6 kunnen, zoals bovenstaand maar dan anders...)
Visual Studio Express is gratis.
quote:
Ennuh opzich is mijn code toch wel juist?
Geen idee, ik ben niet zo thuis in die VB6 file handling.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_51720023
Hmm... Lijkt mij toch wel aardig goed te zijn

Ik heb mijn code een beetje aangepast en heb dit nu in een loop staan.

1
2
3
4
5
6
7
8
9
10
        Do
            Get #freeNum, pointCnt, readByte
            
            readBytes = readBytes & Chr(readByte)
            
            pointCnt = pointCnt + 1
            Debug.Print readByte
            Debug.Print pointCnt & " - " & fileSize & " - " & Len(readBytes) & vbCrLf
            
        Loop While (readByte <> 13 Or pointCnt < fileSize)


echter wil de loop niet stoppen als readByte (10 of 13) is Wat doe ik fout?

[ Bericht 88% gewijzigd door Chandler op 22-07-2007 17:26:36 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_51725614
quote:
Op zondag 22 juli 2007 15:50 schreef Chandler het volgende:
Hmm... Lijkt mij toch wel aardig goed te zijn :P

Ik heb mijn code een beetje aangepast en heb dit nu in een loop staan.
[ code verwijderd ]

echter wil de loop niet stoppen als readByte (10 of 13) is :{ Wat doe ik fout? :D
Vreemt. Wat je zou kunnen proberen is in plaats van een Do loop een For loop gebruiken. Dan zou het worden:

1
2
3
4
5
6
7
8
9
10
        For I = 1 to fileSize
            Get #freeNum, I, readByte
            
            readBytes = readBytes & Chr(readByte)

            Debug.Print readByte
            Debug.Print I & " - " & fileSize & " - " & Len(readBytes) & vbCrLf

            If readByte = 13 Then Exit For       
        Next I
  zondag 22 juli 2007 @ 18:59:57 #115
3677 SuperRembo
Sinds 1998
pi_51726013
In .NET gaat het veel makkelijker, maar als je dan per see in VB6 wil klooien, gebruik dan gewoon een FileSystemObject.

1
2
3
4
5
6
7
8
9
10
11
Const forReading = 1, forWriting = 2
Dim fso, myFile As Object
Dim line As String

Set fso = New Scripting.FileSystemObject
Set myFile = fso.OpenTextFile("c:foo.txt", forReading)
Do While Not myFile.AtEndOfStream
   line = myFile.ReadLine
   '...
Loop
myFile.Close


(Wel even een referentie aan je project toevoegen naar Microsoft.Scripting)
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_51739741
Ik weet al wat ik fout deed

1Loop While (readByte <> 13 Or pointCnt < fileSize)


zegt readbyte is geen 13 OF pointCnt is kleiner dan fileSize, maar het moest eingelijk zijn

readByte is geen 13 EN pointCnt is kleiner dan fileSize

oftewel
1Loop While (readByte <> 13 And pointCnt < fileSize)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_58593479
Ben bezig met een kleine functie om een getal van 6 aaneensluitende nummers uit een string te halen, maar t wil niet echt lukken:

1
2
3
4
5
6
7
8
9
10
11
12
Private Function ExtNum(ByVal strValue As String) As Integer
    Dim strNum As String
    Dim i As Integer

    On Error Resume Next

    For i = 1 To Len(strValue)
        If IsNumeric(Mid(strValue, i, 1)) Then strNum = strNum & Mid(strValue, i, 1)
    Next i

    ExtNum = CInt(strNum)
End Function


Deze haalt alle getallen uit een lap tekst , maar werkt niet goed hij returned namelijk steeds nul , heeft iemand een oplossing? -O-
  FOK!fotograaf zaterdag 10 mei 2008 @ 18:00:03 #118
63 Marc H
- Satan's Livecoach -
pi_58596841
quote:
Op zaterdag 10 mei 2008 14:02 schreef Woeiii het volgende:
Ben bezig met een kleine functie om een getal van 6 aaneensluitende nummers uit een string te halen, maar t wil niet echt lukken:
[ code verwijderd ]

Deze haalt alle getallen uit een lap tekst , maar werkt niet goed hij returned namelijk steeds nul , heeft iemand een oplossing?
Les 1: nooit "on error resume next" gebruiken tijdens debuggen!

als je dat doet zie je dat je een overflow error krijgt in "ExtNum = CInt(strNum)"
op een 6 cijferig getal een integer conversie doen gaat ook niet werken. omdat een integer maximaal "32,767" kan bevatten. dus zal je het getal moeten converteren naar een double, in plaats van een integer. En dat moet je natuurlijk ook aanpassen in je function.

dus dan krijg je deze code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Function ExtNum(ByVal strValue As String) As Double
    Dim strNum As String
    Dim i As Integer

    'On Error Resume Next 

    For i = 1 To Len(strValue)
        If IsNumeric(Mid(strValue, i, 1)) Then strNum = strNum & Mid(strValue, i, 1)
    Next i

    ExtNum = Val(strNum)
   'On Error GoTo 0

End Function


En nog iets, als je al zonodig on error resume next wil gebruiken in een stuk code, zet dan de error trapping weer aan voor je de fnction verlaat.

[ Bericht 3% gewijzigd door Marc H op 10-05-2008 18:05:20 (') ]
You don't have to be the Dalai Lama to tell people that life's about change.
pi_62196374
Sorry voor de grote kick, maar...

Ik zou graag een programma willen maken dat een rekening bij houdt in een kantine/keet. Je hebt dus een lijstje met namen, en daar achter staat bier, wijn, cola, malibu etc.

In Excel kun je "view code" doen, maar dan staat er niks. Hoe kan dat?

En hoe maak ik het handigste zo'n programma?
pi_62196742
Kan je beter in het Excel topic doen.
[EXCEL] Het grote Excel vragen topic, #7

En onder View code is het de bedoeling dat je zelf de code schrijft
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')