string aanpassen

Status
Niet open voor verdere reacties.

Rogertje

Gebruiker
Lid geworden
18 okt 2004
Berichten
53
Wie kan mij de oplossing geven voor het volgende probleem

Ik laat in een tekstbox de het pad weergeven van een applicatie dus c:\progranfiles\enz
Achterliggend programma: Dmv een tijdklok de gebruiker een van te voren door hem geselecteerd programma te openen na verstrijken tijd


Nu wil ik in een andere textbox ALLEEN de naam van het geselecteerd programma weergeven en de rest moet dus worden weggefilterd

Wie wil mij helpen?????????
 
Vrolijk Kerstfeest, Rogertje. En ook alle anderen wens ik dat toe.

Ja, inderdaad ben ik al heel vroeg op.

Ga als volgt te werk:

1) Plaats op het Form 2 text-boxen naast elkaar, de linker(Text1) is voor het invoeren van het pad/programma bedoeld en de rechter(Text2) voor het invoeren van de tijd, waarop het programma dat in de linker textbox was ingvoerd moet worden opgestart, bedoeld.

2) Plaats onder de 2 text-boxen 2 labels, het linker(Label1) is voor de naam v.h. uiteindelijke programma bestemd, het pad van dat programma is dan reeds gefilterd. Het rechter(Label2) is om de actuele tijd aan te geven, de "klok" zeg maar.

3) Plaats willekeurig een Timer(Timer1) op het Form, willekeurig omdat een Timer tijdens Run-Time onzichtbaar is.

4) Onderstaande code behoort tot de Timer:

Code:
Private Sub Timer1_Timer()
  Label2 = Time
  If Text2 = Label2 Then
     For Teller = Len(Text1) To 1 Step -1
        Is_Het_Een_Slash = Mid(Text1, Teller, 1)
        If Is_Het_Een_Slash = "\" Then
           Programmanaam = Right(Text1, (Len(Text1) - Teller))
           Label1 = Programmanaam
           Dim RetVal
           RetVal = Shell(Text1, 1)
           Exit Sub
        End If
     Next Teller
  End If
End Sub

5) Run het programma

6) Type bijvoorbeeld in de linker Text-box c:\windows\system32\notepad.exe

7) Type in de rechter Text-box bijvoorbeeld 13:05:44

8) Zodra de waarden van de rechter Text-box en van het rechter Label overeenkomen wordt notepad opgestart en bevat het linker Label de naam v.h. programma, notepad.exe dus.

Ik had het programm nog uitgebreider kunnen maken, maar dit zal voor de eenvoud van het uitleggen niet ten goede komen, het zal alleen maar nog ingewikkelder geworden zijn. Probeer dit maar eerst te begrijpen.

Nogmaals, het is veel beter(en ook netter) de gebruikte variabelen met het bijbehorende type ook te declareren en ook het gebruik van hulpvariabelen behoort tot het netjes programmeren. Zo bevat Text1 het pad en het programma, we zouden voor Text1 een variabele moeten gaan bedenken, bijvoorbeeld Pad_En_Programma. Zo krijgen we dan de vorm Pad_En_Programma = Text1 en Pad_En_Programma vervolgens in de Shell-statement wordt verwerkt. Enz......

Dennis.
 
Rogertje, Mijn excusses!!!! (stom van mij)

In de haast vergat ik je te vertellen, dat je de property(eigenschap) v.d. Timer voor wat betreft het interval op 1000 moet zetten, anders werkt het programma niet! Als je dit gaat doen, dan noem je dit het instellen tijdens Design-Time.

Je kunt die waarde ook tijdens Run-Time laten instellen, zoals hieronder bij Form_Load:

Code:
Private Sub Form_Load()
   Timer1.Interval = 1000
End Sub

Sorry nogmaals.

Dennis.

PS: 1000 is ongeveer 1 sec.
 
Of je moet dat al geweten hebben, omdat je ooit met Timers gewerkt hebt.

Je hoeft natuurlijk niet per sé op 1000 te zetten, maar voor deze toepassing(klok) lijkt dat wel meer voor de hand liggend.

Als die op 0(nul) staat, dan is de Timer gedeactiveerd, het werkt dus niet en wordt de subroutine v.d. Timer ook niet ten uitvoer gebracht.

Als je dit allemaal al wist, dan heb je het programma nu al gebruikt.

Dennis.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan