abonnement Unibet Coolblue Bitvavo
pi_27684335
voor QG!!! en idd sop...

QG BEDANKT!!!
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_27699740
Next questions.

Van Sop heb ik een stukje code, echer zit daar een timer1_timer in (oftewel timer) deze draait niet als ik het programmatje heb geminimaliseerd of naar de tray heb geschopt, hoe krijg ik dat wel voor elkaar?

Tweede is hoe krijg ik een textje op een plaatje? (picturebox?)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_33700623
Een andere vraag!.

Ik heb 2 forms..



en



nu zie je dat op het eerste plaatje 2x brouwse staat... nu wil ik dus het 2e form een directory laten selecteren (dat lukt al) maar deze terug geven aan text 1 of text 2. Echter heb ik geen flauw idee hoe ik kan kijken welke button ik heb aangeklikt om data te plaatsen op de juiste plaats!?

Iemand een idee?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_33700887
Dat browseschermpje kun je beter niet zelf bouwen. Dat is namelijk een standaard component van windows. Je kunt daar beter de CommonDialogs voor gebruiken. VBAccelerator heeft daar wel het een en ander over geschreven en ook Google biedt uitkomst.

Hier een link naar een artikel op vbaccelerator. Een extra DLL is overigens niet nodig om van commondialogs gebruik te maken (o.a. een folderbrowser).
pi_33701070
maar ok, als ik dat gebruik moet ik ook nog de data op de juiste plaats zien te krijgen, en dat lukt nu helaas nog niet

Wat ik al heb (http://upload.bruggema.nl/index.php?i=v&ip=1372487152&name=backup directories.zip)

[ Bericht 19% gewijzigd door Chandler op 04-01-2006 17:57:27 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_33701427
quote:
Op woensdag 4 januari 2006 17:51 schreef Chandler het volgende:
maar ok, als ik dat gebruik moet ik ook nog de data op de juiste plaats zien te krijgen, en dat lukt nu helaas nog niet

Wat ik al heb (http://upload.bruggema.nl/index.php?i=v&ip=1372487152&name=backup directories.zip)
Is niet zo moeilijk. Ik pas je source even aan en plaats de link hier zometeen wel.
pi_33701465
als je wil, zet er dan ff comments bij... dan kan ik er van leren
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_33701657
quote:
Op woensdag 4 januari 2006 18:05 schreef Chandler het volgende:
als je wil, zet er dan ff comments bij... dan kan ik er van leren
Ik heb alleen het volgende aangepast:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Command1_Click()
    If lister.view = "from" Then
        If Right$(Dir.Path, 1) = "\" Then
            lister.fromDir.Text = Dir.Path
        Else
            lister.fromDir.Text = Dir.Path & "\"
        End If
    ElseIf lister.view = "to" Then
        If Right$(Dir.Path, 1) = "\" Then
            lister.toDir.Text = Dir.Path
        Else
            lister.toDir.Text = Dir.Path & "\"
        End If
    End If
    
    Unload Me
    
    'MsgBox (Dir.Path & " enzo " & view)
End Sub


Dus gewoon kijken wat voor waarde de variable 'view' heeft en dan de juiste textbox op de form 'lister' aanpassen. Ik heb ook een functie ingebouwd die checkt of er een '\' achter het pad staat.
pi_33701793
omg natuurlijk, ik ben helemaal vergeten om ook de form aan te geven... dat is natuurlijk erg belangrijk!!! tnx man!... dit helpt me al weer een heel stuk verder!!! tnx!.
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_35204847
Vraagje over VB-tags bij tekstopmaak:

Achter een gewoon tekstblok is het mogelijke een extra tekstblok toe te voegen; dit extra tekstblok wordt pas zichtbaar als de muiscursor op de gewone tekstblok geplaatst wordt.

De syntax lijkt op [spoiler=GewoneTekst]ExtraTekst[/spoiler] ... maar is niet correct. Wat is dan wel de goede syntax?
pi_35207010
intresting..
pi_35215016
quote:
Op vrijdag 17 februari 2006 22:15 schreef Gajus het volgende:
Vraagje over VB-tags bij tekstopmaak:

Achter een gewoon tekstblok is het mogelijke een extra tekstblok toe te voegen; dit extra tekstblok wordt pas zichtbaar als de muiscursor op de gewone tekstblok geplaatst wordt.

De syntax lijkt op [spoiler=GewoneTekst]ExtraTekst[/spoiler] ... maar is niet correct. Wat is dan wel de goede syntax?
Waar heb je het over?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35215044
Misschien is een wat duidelijker uitleg handig in deze zaak? weet je wel zekers dat je het over VisualBASIC hebt?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_35223825
quote:
Op zaterdag 18 februari 2006 10:40 schreef Chandler het volgende:
Misschien is een wat duidelijker uitleg handig in deze zaak? weet je wel zekers dat je het over VisualBASIC hebt?
Binnen een tekst kun jij tags plaatsen zoals (b) en (/b), maar dan met hoekige haken. Zo bestaan er ook tags om extra tekst toe te voegen aan een normale tekst. Ik weet dat die tags bestaan en toepasbaar zijn binnen het Forum aangezien ik zij ooit heb gebruikt (maar dat was in de Preview-mode, dus kan ik het niet terugvinden).

Voordat ik mijn vraag hier stelde, heb ik uitgebreid gegoogled. Daarbij ben ik de termen tegengekomen zoals SML-code (SML= Simple Markup Language), BB-code (BB=?) en ook VB-code (VB= VisualBasic).

Ik ben van de ArpaNet-generatie en recentere ontwikkelingen zoals VisualBasic zijn aan mij voorbij gegaan. Jouw vraag of dit een VisualBasic aangelegenheid betreft, kan ik dan ook niet bevestigen of ontkennen.
  zaterdag 18 februari 2006 @ 16:48:05 #40
2671 Aaargh!
Gebruik op eigen risico.
pi_35224857
quote:
Op zaterdag 18 februari 2006 16:13 schreef Gajus het volgende:
(...) en ook VB-code (VB= VisualBasic).
Jij doelt op vB-code (vBulletin, een webforum pakket)
quote:
Ik ben van de ArpaNet-generatie en recentere ontwikkelingen zoals VisualBasic zijn aan mij voorbij gegaan. Jouw vraag of dit een VisualBasic aangelegenheid betreft, kan ik dan ook niet bevestigen of ontkennen.
VisualBasic is een soort van RAD tool met een BASIC achtige syntax, voornamelijk gebruikt door (zoals het topic al aangeeft) dummies.
It is impossible to live a pleasant life without living wisely and well and justly.
And it is impossible to live wisely and well and justly without living a pleasant life.
pi_35275554
quote:
Op zaterdag 18 februari 2006 16:48 schreef Aaargh! het volgende:
Jij doelt op vB-code (vBulletin, een webforum pakket)

VisualBasic is een soort van RAD tool met een BASIC achtige syntax, voornamelijk gebruikt door (zoals het topic al aangeeft) dummies.
Mijn dank voor het oplossen van dit misverstand.
Ik zal mijn vraag in een ander subforum stellen.

Off topic:
Ca. 25 jaar geleden heb ik noodgedwongen BASIC gebruikt. Ik heb het altijd als een (inmiddels gepasseerde) kinderziekte van de PC beschouwd. Hilarisch te vernemen dat Visual Basic een doorontwikkeling van BASIC is.
  maandag 20 februari 2006 @ 11:50:00 #42
15929 DiRadical
Everything's ruined
pi_35282793
quote:
Op woensdag 4 januari 2006 18:11 schreef The_Terminator het volgende:

[..]

Ik heb alleen het volgende aangepast:
[ code verwijderd ]

Dus gewoon kijken wat voor waarde de variable 'view' heeft en dan de juiste textbox op de form 'lister' aanpassen. Ik heb ook een functie ingebouwd die checkt of er een '\' achter het pad staat.
Ai, dit maakt het wel heel erg complex, zelfs voor zo'n simpel toolje.
Het is niet verstandig om het aangeroepen scherm zo afhankelijk te maken van het aanroepende scherm.
(Wat ga je doen als je een derde knop met dezelfde functionaliteit wil, op hetzelfde of een ander scherm)

Ik zou een public property toevoegen aan het brouwser scherm. Deze kan dan vanaf het aanroepende scherm worden uitgelezen.
Dat maakt het onafhankelijk van het aantal knoppen op het scherm en zelfs van deze applicatie
Je kunt het dan ook gebruiken in een ander project of op andere scherm binnen je huidige project
Het brouwser scherm ziet er dan zo uit.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Private mvarDirSelected As String
Private Sub Command1_Click()
    Me.SelectedDir = Dir.Path
    Me.Hide
    'MsgBox (Dir.Path & " enzo " & view)    
End Sub

Private Sub Drive_Change()
    Dir.Path = Drive.Drive
End Sub

Public Static Property Get SelectedDir() As String
    SelectedDir = mvarDirSelected    
End Property

Public Static Property Let SelectedDir(ByVal sNewValue As String)
    Dim tmpdir As String
' Dit voor een beetje controle op het formaat van de binnenkomende string als het property van buiten wordt gezet. Waterdicht is deze niet

    If InStr(1, sNewValue, ":\", vbTextCompare) > 0 Then
        Drive.Drive = sNewValue
        Dir.Path = sNewValue
    End If
' Einde controle
'Code uit Command1_click, maar een beetje aangepast

    If Right(sNewValue, 1) = "\" Then
       tmpdir = sNewValue
    Else
       tmpdir = sNewValue + "\"
    End If
    mvarDirSelected = tmpdir
End Property

Voor het scherm Lister

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Private Sub FromBrouwse_Click()
    'Ik heb een hekel aan het standaard scherm dat VB in het geheugen kwakt.
    'Je hebt veel minder controle op die manier.
    'Daarom definieer ik altijd nieuwe scherm objecten die na gebruik weg gooi.
    '
    Dim frmFrom As Brouwser
    Set frmFrom = New Brouwser
    '
    'optioneel kun je ook de geselecteerde directory in het brouwser scherm zetten
    ' De huidige directory wordt dan voor geselecteerd
    '
    If Trim(fromDir.Text) <> "" Then
        frmTo.SelectedDir = fromDir.Text
    End If
    'Laat het scherm zien
    frmFrom.Show vbModal
   
    'Haal de waarde op. het scherm zit nog in het geheugen en is "aanspreekbaar"
    'Zolang je GEEN grafische objecten aanspreekt zal het niet opnieuw geladen worden !
    '!Dit is laatste is erg belangrijk!
    fromDir.Text = frmFrom.SelectedDir

    'Gooi het scherm weg
    Unload frmFrom
    Set frmFrom = Nothing
End Sub

Private Sub ToBrouwse_Click()
    Dim frmTo As Brouwser
    Set frmTo = New Brouwser
    If Trim(toDir.Text) <> "" Then
        frmTo.SelectedDir = toDir.Text
    End If
    frmTo.Show vbModal
    toDir.Text = frmTo.SelectedDir
    Unload frmTo
    Set frmTo = Nothing
End Sub

Zoals je ziet heb je de variabele view niet nodig.
Je weet namelijk op welke knop je drukt (de knop waarvan het event afgaat)
Wellicht kost het iets meer tijd om dit initieel te maken, maar een nieuwe knop toevoegen kost dan weer veeeel minder tijd.
Happyness is nature's way of informing human resources that you're overpaid
-Catbert: Evil director of HR
pi_35283969
Ik ook een VB vraag! Het gaat over de Timer, ik wil m meerdere malen naast elkaar laten lopen (4x) om iets af te tellen op een knop tot het moment dat die knop weer vrijgegeven wordt.

ik gebruik nu de volgende Do While Loop:
1
2
3
4
5
6
7
8
Do While (Timer <= StartCrime + PauseCrime)
       DoEvents
       btnCrime.Enabled = False
       btnCrime.Caption = "Waiting " & Round(StartCrime - Timer + PauseCrime) & " secs"
       PauseCrime = PauseCrime - 0.000001
       blnCrime = False
      Call checkCar
Loop


De button wordt disabled, de titel telt af in secondes. De pausetijd (PauseCrime) wordt minimaal veranderd vanwege andere stukjes code in de Form maar das hier niet van toepassing. De boolean wordt weer False om andere dingen te kunnen checken en er wordt een checkCode opgeroepen om te kijken of de andere timer loopt.

Maar omdat ik een vrij snelle computer heb gaat ie echt 100 loops per seconde doen ongeveer waardoor je dus de knop ziet flitsen en gaan als een idioot, wat erg irritant is.

Wat wil ik
Ik wil dus eigenlijk een Do While Loop die echt maar 1x per seconde loopt...enig idee? (En ondertussen ook nog in andere Do While Loops kan hangen omdat er dus nog 3 soortgelijke knoppen zijn).
  maandag 20 februari 2006 @ 12:41:04 #44
2671 Aaargh!
Gebruik op eigen risico.
pi_35284368
quote:
Op maandag 20 februari 2006 12:29 schreef DaFan het volgende:
Ik ook een VB vraag! Het gaat over de Timer, ik wil m meerdere malen naast elkaar laten lopen (4x) om iets af te tellen op een knop tot het moment dat die knop weer vrijgegeven wordt.

ik gebruik nu de volgende Do While Loop:
[ code verwijderd ]
Wat jij doet heet een busy-wait, en dat mag je NOOIT doen op een multitasking OS.

Je programma gaat dan CPU tijd gebruiken terwijl ie het niet nodig heeft, normaliter doe je dit door een thread te starten voor de teller en steeds je thread een seconde stil te zetten (je vraagt dan feitelijk aan de scheduler om je thread een seconde lang niet te laten runnen). Maar volgens mij heeft VB geen support voor multithreading

Wat je in VB waarschijnlijk kan doen is een timer maken die na 1 seconde een event genereerd (dat kan neem ik aan?) .
It is impossible to live a pleasant life without living wisely and well and justly.
And it is impossible to live wisely and well and justly without living a pleasant life.
pi_35285174
quote:
Op maandag 20 februari 2006 12:41 schreef Aaargh! het volgende:

[..]
Wat je in VB waarschijnlijk kan doen is een timer maken die na 1 seconde een event genereerd (dat kan neem ik aan?) .
Het probleem van de Timer() is dat ie telt in seconden vanaf middernacht Daarom moet je ook die <= gebruiken. Je kan m niet laten starten vanaf het moment dat je de Sub oproept.

Maar een aparte event oproepen na een seconde is ook wel een manier die eventueel te coden is...ik ga wat proberen vandeweek. (Ben ziek dus beetje concentreren op een lap code lukt me niet)
  maandag 20 februari 2006 @ 13:43:54 #46
2671 Aaargh!
Gebruik op eigen risico.
pi_35286438
quote:
Op maandag 20 februari 2006 13:05 schreef DaFan het volgende:

[..]

Het probleem van de Timer() is dat ie telt in seconden vanaf middernacht Daarom moet je ook die <= gebruiken. Je kan m niet laten starten vanaf het moment dat je de Sub oproept.
Ik heb in een grijs verleden nog wel eens met VB geprutst (nog steeds nachtmerries van). Maar volgens mij had je toen gewoon een Timer dingetje wat je b.v. op 1 seconde kon zetten en dan ging er gewoon elke seconde een event af.
It is impossible to live a pleasant life without living wisely and well and justly.
And it is impossible to live wisely and well and justly without living a pleasant life.
pi_35288095
quote:
Op maandag 20 februari 2006 13:43 schreef Aaargh! het volgende:

[..]

Ik heb in een grijs verleden nog wel eens met VB geprutst (nog steeds nachtmerries van). Maar volgens mij had je toen gewoon een Timer dingetje wat je b.v. op 1 seconde kon zetten en dan ging er gewoon elke seconde een event af.
Ik ben het nog niet tegen gekomen. Als er anderen zijn die dit topic lezen en het wel weten...graag

Alvast bedankt iig voor je hulp
  maandag 20 februari 2006 @ 15:21:25 #48
15929 DiRadical
Everything's ruined
pi_35289611
quote:
Op maandag 20 februari 2006 13:43 schreef Aaargh! het volgende:

[..]

Ik heb in een grijs verleden nog wel eens met VB geprutst (nog steeds nachtmerries van). Maar volgens mij had je toen gewoon een Timer dingetje wat je b.v. op 1 seconde kon zetten en dan ging er gewoon elke seconde een event af.
Dat klopt.
Je kunt de timer.inteval op 1000 zetten (tijd in milli seconden) en dan gaat het event elke seconde af totdat de timer disabled wordt
In het timer event kun je de timer disabelen.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim stDate As Date

Private Sub Form_Load()
stDate = Now()
Label1.Caption = ""
Timer1.Enabled = True

End Sub

Private Sub Timer1_Timer()
If DateDiff("s", stDate, Now()) <= 5 Then
    Label1.Caption = Label1.Caption + Format(Now(), "dd-mm-yy hh:nn:ss") + vbNewLine
Else
    Label1.Caption = Label1.Caption + "einde"
    Timer1.Enabled = False
End If
End Sub
Happyness is nature's way of informing human resources that you're overpaid
-Catbert: Evil director of HR
pi_35291436
DiRadical:
Die code van jou gaat om de 1 sec in de If functie? En dat 5x?
pi_35292147
quote:
Op maandag 20 februari 2006 15:21 schreef DiRadical het volgende:

[..]

Dat klopt.
Je kunt de timer.inteval op 1000 zetten (tijd in milli seconden) en dan gaat het event elke seconde af totdat de timer disabled wordt
In het timer event kun je de timer disabelen.
[ code verwijderd ]
Is het niet beter om een API timer te gebruiken?

Deze code moet dan in een module:

1
2
3
4
5
6
7
8
9
10
11
12
13
Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long

Dim Timer1 As Long

Function StartTimer1()
   Timer1 = KillTimer(0, Timer1)
   Timer1 = SetTimer(0, 0, 1000, AddressOf TimerSub1) 
End Function 

Function StopTimer1()
   Timer1 = KillTimer(0, Timer1)
End Function


Dit mag in een module staan, maar ook in een form:

1
2
3
Public Function TimedSub1() 
   'code in deze functie wordt om de 1000 ms getriggerd door de timer
End Function


Deze code moet in de form staan:

1
2
3
Private Sub Form_Unload(Cancel As Integer)
   StopTimer1
End Sub


Om de timer te starten gebruik je: StartTimer1
Om de timer te stoppen gebruik je: StopTimer1

Owja, niet op de stop knop van VB drukken voordat je een API timer gestopt hebt, anders crasht VB
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')