Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[VB 2005] Vraagje over instellingen

Pagina: 1
Acties:
  • 342 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hallo,

Ik ben bezig met een project in visual basic 2005 express en nu moet ik met instellingen gaan werken. Het is namelijk de bedoeling dat je de server locatie van de pdf bestanden kunt wijzigen.

Ik weet wel hoe je een setting kunt aanmaken maar hoe kun je na het publiceren deze setting aanroepen en hoe kun je deze setting wijzigen.

Verder heb ik nog de vraag of het een mogelijkheid is om in het menu alle pdf bestanden te laten zien die in deze map staan. Als je dan hierop klikt wordt hij in de webbrowser ingeladen.

De code die hier nu voor wordt gebruikt is:

Visual Basic:
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Public Class Main
    Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem.Click
        About.Show()
    End Sub

    Private Sub AfsluitenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AfsluitenToolStripMenuItem.Click
        Me.Close()
    End Sub

    Private Sub SoftwareOverzichtToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SoftwareOverzichtToolStripMenuItem.Click
        Button1.Show()
        ReportViewer.Show()
        ReportViewer.Navigate("\\karsten\Helpdesk Reporter\Rapportage\Software overzicht.pdf")
    End Sub

    Private Sub OverzichtAlleCallsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OverzichtAlleCallsToolStripMenuItem.Click
        Button1.Show()
        ReportViewer.Show()
        ReportViewer.Navigate("\\karsten\Helpdesk Reporter\Rapportage\Overzicht alle call's.pdf")
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ReportViewer.Hide()
        Button1.Hide()
    End Sub

    Private Sub OpenstaandeCallsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenstaandeCallsToolStripMenuItem.Click
        Button1.Show()
        ReportViewer.Show()
        ReportViewer.Navigate("\\karsten\Helpdesk Reporter\Rapportage\Openstaande call's.pdf")
    End Sub

    Private Sub HardwareOverzichtToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HardwareOverzichtToolStripMenuItem.Click
        Button1.Show()
        ReportViewer.Show()
        ReportViewer.Navigate("\\karsten\Helpdesk Reporter\Rapportage\Hardware overzicht.pdf")
    End Sub

    Private Sub GebruikersOverzichtToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GebruikersOverzichtToolStripMenuItem.Click
        Button1.Show()
        ReportViewer.Show()
        ReportViewer.Navigate("\\karsten\Helpdesk Reporter\Rapportage\Gebruikers overzicht.pdf")
    End Sub

    Private Sub CalltellerPerGebruikerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CalltellerPerGebruikerToolStripMenuItem.Click
        Button1.Show()
        ReportViewer.Show()
        ReportViewer.Navigate("\\karsten\Helpdesk Reporter\Rapportage\Callteller per gebruiker.pdf")
    End Sub

    Private Sub VerversRapportToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        ReportViewer.Refresh()
    End Sub

    Private Sub HandleidingToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HandleidingToolStripMenuItem.Click
        Handleiding.Show()
    End Sub

    Private Sub VerversenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VerversenToolStripMenuItem.Click
        ReportViewer.Refresh()
    End Sub
End Class

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 23:37

TeeDee

CQB 241

Verwijderd schreef op donderdag 17 januari 2008 @ 10:45:
Hallo,

Ik ben bezig met een project in visual basic 2005 express en nu moet ik met instellingen gaan werken. Het is namelijk de bedoeling dat je de server locatie van de pdf bestanden kunt wijzigen.

Ik weet wel hoe je een setting kunt aanmaken maar hoe kun je na het publiceren deze setting aanroepen en hoe kun je deze setting wijzigen.
Je hebt het hier over een App.Config?
XML:
1
2
3
<appSettings>
    <add key="MijnNaam" value="Hier een Waarde" />
</appSettings>

C#:
1
string MijnNaam = ConfigurationManager.AppSettings["MijnNaam"];

Werkt prima.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • kmf
  • Registratie: November 2000
  • Niet online

kmf

Als je settings per gebruiker per comp bedoeld:

Settings settings = new Settings();
settings.PutSetting("naam", value);

One thing's certain: the iPad seriously increases toilet time.. tibber uitnodigingscode: bqufpqmp


Verwijderd

Topicstarter
Ik snap het niet helemaal.

@TeeDee

Volgens mij is deze code van een andere taal. De code wordt namelijk niet geacepteerd door Visual Basic. Als hij zelf een settings string aanmaakt is de code ook heel anders.

@KMF

De setting bedoel ik per installatie. Dit is dus per computer maar niet per gebruiker.

Hieronder staat de app.config code waar dus ook een automatisch aangemaakte string in staat.
Nu is mijn vraag dus, hoe kun je deze wijzigen in de applicatie zelf (via een textbox) en hoe kan ik deze code aanroepen.

Visual Basic:
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
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="Helpdesk_Reporter.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <system.diagnostics>
        <sources>
            <!-- This section defines the logging configuration for My.Application.Log -->
            <source name="DefaultSource" switchName="DefaultSwitch">
                <listeners>
                    <add name="FileLog"/>
                    <!-- Uncomment the below section to write to the Application Event Log -->
                    <!--<add name="EventLog"/>-->
                </listeners>
            </source>
        </sources>
        <switches>
            <add name="DefaultSwitch" value="Information" />
        </switches>
        <sharedListeners>
            <add name="FileLog"
                 type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
                 initializeData="FileLogWriter"/>
            <!-- Uncomment the below section and replace APPLICATION_NAME with the name of your application to write to the Application Event Log -->
            <!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
        </sharedListeners>
    </system.diagnostics>
    <applicationSettings>
        <Helpdesk_Reporter.My.MySettings>
            <setting name="server" serializeAs="String">
                <value>karsten</value>
            </setting>
        </Helpdesk_Reporter.My.MySettings>
    </applicationSettings>
</configuration>


Verder is mijn vraag nog hoe ik in het menu automatisch een overzicht krijg met alle pdf bestanden (in de desbetreffende map staan alleen maar pdf bestanden) in het menu. Als ik er op klik moet de volgende code worden uitgevoerd:

Visual Basic:
1
2
3
        Button1.Show()
        ReportViewer.Show()
        ReportViewer.Navigate("\\karsten\Helpdesk Reporter\Rapportage\Hardware overzicht.pdf")

"\\karsten\Helpdesk Reporter\Rapportage\Hardware overzicht.pdf" wordt hier dus de locatie van het PDF bestand.

  • kmf
  • Registratie: November 2000
  • Niet online

kmf

Dan maar deze gebruiken: \[C#] app.config, kan wel lezen maar niet schrijven

Maar app.config moet je eigenlijk niet gaan wijzigen via het programma. Dan kan je beter een andere settingsklasse maken/gebruiken.

Zoek eens op "xml save settings" of zo. Ik kan me herinneren dat in codeproject daar een voorbeeldprojectje was.

One thing's certain: the iPad seriously increases toilet time.. tibber uitnodigingscode: bqufpqmp


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 23:37

TeeDee

CQB 241

Verwijderd schreef op donderdag 17 januari 2008 @ 11:44:
Volgens mij is deze code van een andere taal. De code wordt namelijk niet geacepteerd door Visual Basic. Als hij zelf een settings string aanmaakt is de code ook heel anders.
Een klein beetje denkwerk mag ook wel hoor. Mijn voorbeeld is in C# (staat er notabene boven), die 'andere .NET taal'. mis trouwens sowieso een hele sloot eigen inzet!


Wat betreft je probleem:
Als dit zo aangemaakt wordt (die configSections) heb je afaik ook ergens een Class om het e.e.a. in te lezen in je project. Voorzover compileert het niet eens als je de configSections niet eens gedefinieerd hebt maar wel in je app.Config.

Kijk eens naar: ConfigurationManager.GetSection("JouwConfigSection"). Als het je specifiek om die configSection settings gaat.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 02:33
kmf schreef op donderdag 17 januari 2008 @ 12:27:
Maar app.config moet je eigenlijk niet gaan wijzigen via het programma. Dan kan je beter een andere settingsklasse maken/gebruiken.
Waarom niet? Is de normaalste zaak van de wereld.
Verder is mijn vraag nog hoe ik in het menu automatisch een overzicht krijg met alle pdf bestanden (in de desbetreffende map staan alleen maar pdf bestanden) in het menu. Als ik er op klik moet de volgende code worden uitgevoerd:
Aan de hand van de bestandslocatie uit je config een lijst met bestanden ophalen, en aan de hand daarvan menuitems maken. Wat is het probleem?

Ik heb een beetje het idee dat je een beetje zit te sleur-en-pleuren in Visual Studio maar er verder nog weinig kaas van hebt gegeten...

Roomba E5 te koop


  • kmf
  • Registratie: November 2000
  • Niet online

kmf

sig69 schreef op donderdag 17 januari 2008 @ 13:10:
[...]

Waarom niet? Is de normaalste zaak van de wereld.
http://www.interact-sw.co...g/2004/11/25/savingconfig

Staan nog wel wat meer redenen online. Het kan wel, maar of het verstandig is....

One thing's certain: the iPad seriously increases toilet time.. tibber uitnodigingscode: bqufpqmp


Verwijderd

Topicstarter
sig69 schreef op donderdag 17 januari 2008 @ 13:10:
[...]

Waarom niet? Is de normaalste zaak van de wereld.

[...]

Aan de hand van de bestandslocatie uit je config een lijst met bestanden ophalen, en aan de hand daarvan menuitems maken. Wat is het probleem?

Ik heb een beetje het idee dat je een beetje zit te sleur-en-pleuren in Visual Studio maar er verder nog weinig kaas van hebt gegeten...
Het klopt inderdaad dat ik een beginner ben in Visual Studio. Alleen had ik deze applicatie graag zo snel mogelijk afgemaakt zonder eerst een hoop te gaan leren. Op deze 2 zaken na heb ik de rest al.

Eentje hiervan is inmiddels ook opgelost. Om de locatie in een user setting weg te schrijven en op te roepen is inmiddels ook gelukt. Hiervoor heb ik een dialoogvenster gemaakt met de volgende code:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Imports System.Windows.Forms

Public Class Instellingen

    Private Sub Instellingen_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Servertextbox.AppendText(My.Settings.server)
    End Sub

    Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
        My.Settings.server = Servertextbox.Text
        Me.Close()
    End Sub

    Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
        Me.Close()
    End Sub
End Class

Dit werkt nu dus!

Het andere probleem is nog hoe ik die bestanden in het menu krijg. Je zegt dat het heel makkelijk is, maar helaas is dit voor mij niet makkelijk. Ik weet helaas niet hoe dit moet.

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 02:33
Met een klein beetje zoeken kom je daar ook heus wel uit :)

Roomba E5 te koop


Verwijderd

Topicstarter
sig69 schreef op donderdag 17 januari 2008 @ 16:17:
Met een klein beetje zoeken kom je daar ook heus wel uit :)
Dan heb ik b.v. deze: http://www.bytemycode.com/snippets/snippet/37/

Maar hoe creer ik hier dan menu items van? En dat er ook een code wordt uitgevoerd als er op wordt geklikt? Nu weet ik dat laatste wel maar ik denk niet dat dit hetzelfde blijft.

Wil iemand mij hier a.u.b. mee helpen want ik wil wel vb gaan leren maar deze applicatie had ik graag afgerond zo snel mogelijk!

  • BM
  • Registratie: September 2001
  • Nu online

BM

Moderator Spielerij
Verwijderd schreef op vrijdag 18 januari 2008 @ 08:32:
[...]


Dan heb ik b.v. deze: http://www.bytemycode.com/snippets/snippet/37/

Maar hoe creer ik hier dan menu items van? En dat er ook een code wordt uitgevoerd als er op wordt geklikt? Nu weet ik dat laatste wel maar ik denk niet dat dit hetzelfde blijft.

Wil iemand mij hier a.u.b. mee helpen want ik wil wel vb gaan leren maar deze applicatie had ik graag afgerond zo snel mogelijk!
Vooruit dan ;)

Onderstaande code loopt door een directory met files, en maakt voor elke file een menuitem aan onder het menuitem 'Items'.
Code vereist dat je een menustrip met de naam menuStrip1 op je form hebt staan, maar dat kun je wel aanpassen ;)

Visual Basic .NET:
1
2
3
4
5
6
7
Dim itemsMenu As New ToolStripMenuItem("Items")

Dim di As New DirectoryInfo("C:\Folder\")
For Each fi As FileInfo In di.GetFiles("*.txt")
    itemsMenu.DropDownItems.Add(fi.FullName, Nothing, itemClick)
Next
menuStrip1.Items.Add(item)


En hierbij de handler die uitgevoerd word bij het klikken op een menuitem. Hier voeg je je code aan toe om de file te openen.

Visual Basic .NET:
1
2
3
4
        Private  Sub itemClick(ByVal sender As Object, ByVal e As EventArgs)
            Dim filename As String = (CType(sender, ToolStripItem)).Text 
            'open hier je file.
        End Sub



Code was oorspronkelijk C#, heb hier geen vb.net bij de hand, dus maar even door een online convertor gehaald. Het idee is duidelijk hoop ik.

Xbox
Even the dark has a silver lining | I'm all you can imagine times infinity, times three


Verwijderd

Topicstarter
Als ik het dus goed begrepen heb is het dus de onderstaande code:

Visual Basic:
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
39
40
41
42
43
44
45
46
Public Class Main
    Private Sub Main_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim itemsMenu As New ToolStripMenuItem("Rapportage")

        Dim di As New DirectoryInfo(My.Settings.server)
        For Each fi As FileInfo In di.GetFiles("*.pdf")
            itemsMenu.DropDownItems.Add(fi.FullName, Nothing, itemClick)
        Next
        MenuStrip1.Items.Add(item)
    End Sub
    Private Sub itemClick(ByVal sender As Object, ByVal e As EventArgs)
        Dim filename As String = (CType(sender, ToolStripItem)).Text
        Button1.Show()
        ReportViewer.Show()
        ReportViewer.Navigate(My.Settings.server + fi.fullname)
    End Sub

    Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem.Click
        About.Show()
    End Sub

    Private Sub AfsluitenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AfsluitenToolStripMenuItem.Click
        Me.Close()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ReportViewer.Hide()
        Button1.Hide()
    End Sub

    Private Sub VerversRapportToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        ReportViewer.Refresh()
    End Sub

    Private Sub HandleidingToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HandleidingToolStripMenuItem.Click
        Handleiding.Show()
    End Sub

    Private Sub VerversenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VerversenToolStripMenuItem.Click
        ReportViewer.Refresh()
    End Sub

    Private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem1.Click
        Instellingen.Show()
    End Sub
End Class


Het probleem is nu dat hij van DirectoryInfo en FileInfo een andere term willen maken. Hij wil er namelijk IO. voor zetten. Het probleem is dat er dan bij de actie ItemClick op de volgende regel een fout komt. Verder is
Visual Basic:
1
2
Next
MenuStrip1.Items.Add(item)

ook niet helemaal correct omdat item hier niet goed zou zijn.

Tot slot wil ik vragen of de actie als er op het item wordt geklikt goed is hoe ik hem hem aangepast.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 23:37

TeeDee

CQB 241

Verwijderd schreef op vrijdag 18 januari 2008 @ 11:04:
Het probleem is nu dat hij van DirectoryInfo en FileInfo een andere term willen maken. Hij wil er namelijk IO. voor zetten. Het probleem is dat er dan bij de actie ItemClick op de volgende regel een fout komt.
Wat voor fout?
Verder is
Visual Basic:
1
2
Next
MenuStrip1.Items.Add(item)

ook niet helemaal correct omdat item hier niet goed zou zijn.
Wat zegt je IDE/Debugger etc. etc. (hint: item bestaat niet. Wat heb je net aangemaakt? Dim itemsMenu As New ToolStripMenuItem("Rapportage") )
Tot slot wil ik vragen of de actie als er op het item wordt geklikt goed is hoe ik hem hem aangepast.
Geen idee. Krijg je een melding? Wat gebeurt er?

[ Voor 8% gewijzigd door TeeDee op 18-01-2008 11:29 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
Dit is wat ik krijg als ik ga debuggen:

code:
1
2
3
4
Error   1   Argument not specified for parameter 'e' of 'Private Sub itemClick(sender As Object, e As System.EventArgs)'.   C:\Documents and Settings\Administrator\Desktop\Helpdesk Reporter\Setup\CD Project\CD Data\Data\Visual Basic project Client\Main.vb 7   63  Helpdesk Reporter
Error   2   Argument not specified for parameter 'sender' of 'Private Sub itemClick(sender As Object, e As System.EventArgs)'.  C:\Documents and Settings\Administrator\Desktop\Helpdesk Reporter\Setup\CD Project\CD Data\Data\Visual Basic project Client\Main.vb 7   63  Helpdesk Reporter
Error   3   Name 'item' is not declared.    C:\Documents and Settings\Administrator\Desktop\Helpdesk Reporter\Setup\CD Project\CD Data\Data\Visual Basic project Client\Main.vb 9   30  Helpdesk Reporter
Error   4   Name 'fi' is not declared.  C:\Documents and Settings\Administrator\Desktop\Helpdesk Reporter\Setup\CD Project\CD Data\Data\Visual Basic project Client\Main.vb 15  52  Helpdesk Reporter


Edit: Ik was vergeten te vermelden dat ik DirectoryInfo en FileInfo heb gewijzigd naar IO.DirectoryInfo en IO.FileInfo

[ Voor 5% gewijzigd door Verwijderd op 18-01-2008 12:04 . Reden: Iets vergeten te vermelden. ]


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 23:37

TeeDee

CQB 241

Error 1 en mogelijk 2 kan je opgelost hebben als je Error 3 aanpakt: item bestaat niet. Je moet itemsMenu aan je MenuStrip1.Items toevoegen. Volgens komt het dan helemaal goed met je parameters.

Error 4 is op te lossen door niet fi.FullName te gebruiken maar filename.

Ik begrijp dat je het e.e.a. aan het leren bent, maar dit soort zaken zijn echt basis dingen.

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    Private Sub Main_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim itemsMenu As New ToolStripMenuItem("Rapportage")

        Dim di As New DirectoryInfo(My.Settings.server)
        For Each fi As FileInfo In di.GetFiles("*.pdf")
            itemsMenu.DropDownItems.Add(fi.FullName, Nothing, itemClick)
        Next
        MenuStrip1.Items.Add(itemsMenu)
    End Sub
    Private Sub itemClick(ByVal sender As Object, ByVal e As EventArgs)
        Dim filename As String = (CType(sender, ToolStripItem)).Text
        Button1.Show()
        ReportViewer.Show()
        ReportViewer.Navigate(My.Settings.server + filename)
    End Sub 

Zo. 'T is tenslotte vrijdag. Vergeet niet dat je hier nog steeds niks van leert he!

[ Voor 51% gewijzigd door TeeDee op 18-01-2008 12:05 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
Je was met voor met posten :'(

Bij deze dan de huidige code:

Visual Basic:
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
39
40
41
42
43
44
45
46
Public Class Main
    Private Sub Main_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim itemsMenu As New ToolStripMenuItem("Rapportage")

        Dim di As New IO.DirectoryInfo(My.Settings.server)
        For Each fi As IO.FileInfo In di.GetFiles("*.pdf")
            itemsMenu.DropDownItems.Add(fi.FullName, Nothing, itemClick)
        Next
        MenuStrip1.Items.Add(itemsMenu)
    End Sub
    Private Sub itemClick(ByVal sender As Object, ByVal e As EventArgs)
        Dim filename As String = (CType(sender, ToolStripItem)).Text
        Button1.Show()
        ReportViewer.Show()
        ReportViewer.Navigate(My.Settings.server + filename)
    End Sub

    Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem.Click
        About.Show()
    End Sub

    Private Sub AfsluitenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AfsluitenToolStripMenuItem.Click
        Me.Close()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ReportViewer.Hide()
        Button1.Hide()
    End Sub

    Private Sub VerversRapportToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        ReportViewer.Refresh()
    End Sub

    Private Sub HandleidingToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HandleidingToolStripMenuItem.Click
        Handleiding.Show()
    End Sub

    Private Sub VerversenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VerversenToolStripMenuItem.Click
        ReportViewer.Refresh()
    End Sub

    Private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem1.Click
        Instellingen.Show()
    End Sub
End Class


En bij deze de 2 resterende errors

code:
1
2
Error   1   Argument not specified for parameter 'e' of 'Private Sub itemClick(sender As Object, e As System.EventArgs)'.   C:\Documents and Settings\Administrator\Desktop\Helpdesk Reporter\Setup\CD Project\CD Data\Data\Visual Basic project Client\Main.vb 7   63  Helpdesk Reporter
Error   2   Argument not specified for parameter 'sender' of 'Private Sub itemClick(sender As Object, e As System.EventArgs)'.  C:\Documents and Settings\Administrator\Desktop\Helpdesk Reporter\Setup\CD Project\CD Data\Data\Visual Basic project Client\Main.vb 7   63  Helpdesk Reporter

[ Voor 6% gewijzigd door Verwijderd op 18-01-2008 12:24 ]


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 23:37

TeeDee

CQB 241

AddressOf voor itemClick zetten?
is een verschil in vb.net en c# vandaar

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
TeeDee schreef op vrijdag 18 januari 2008 @ 12:41:
AddressOf voor itemClick zetten?
is een verschil in vb.net en c# vandaar
Nu kan ik hem wel debuggen maar nu verschijnt een ander probleem.

De server is namelijk nog niet ingesteld en dus kan hij nog niet naar de map kijken.
Het probleem is echter dat hij nu bij het debuggen vast slaat en in de debugger het volgende komt:

code:
1
A first chance exception of type 'System.IO.DirectoryNotFoundException' occurred in mscorlib.dll


Als ik hem ga builden en ik open hem krijg ik een Unhandled Exception en dan zegt hij dat het Seconde Path fragment must not be a drive or UNC name.
Parameter name: path2

Hieronder staat nog de volgende output:

code:
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentException: Second path fragment must not be a drive or UNC name.
Parameter name: path2
   at System.IO.Path.InternalCombine(String path1, String path2)
   at System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption)
   at System.IO.DirectoryInfo.GetFiles(String searchPattern, SearchOption searchOption)
   at System.IO.DirectoryInfo.GetFiles(String searchPattern)
   at Helpdesk_Reporter.Main.Main_Load(Object sender, EventArgs e) in C:\Documents and Settings\Administrator\Desktop\Helpdesk Reporter\Setup\CD Project\CD Data\Data\Visual Basic project Client\Main.vb:line 6
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Helpdesk Reporter
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Documents%20and%20Settings/Administrator/Desktop/Helpdesk%20Reporter/Setup/CD%20Project/CD%20Data/Data/Visual%20Basic%20project%20Client/bin/Release/Helpdesk%20Reporter.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.1433 (REDBITS.050727-1400)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Configuration
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 23:37

TeeDee

CQB 241

Ja. Ho even. Ga eerst zelf maar eens op onderzoek uit.

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
TeeDee schreef op vrijdag 18 januari 2008 @ 13:23:
Ja. Ho even. Ga eerst zelf maar eens op onderzoek uit.
Ik ben nu wel iets verder gekomen.
De applicatie wil nu wel starten omdat ik nu de regel
Visual Basic:
1
On Error Resume Next

er in heb gezet.

Het gevolg hiervan is dat hij wel zelf automatisch een optie in de menubalk aanmaakt maar hier staan geen items in. Ik ben inmiddels ook er achter gekomen wat er precies gebeurt door de logs door te gaan spitten. Er is nu nog een probleem waar ik op internet geen antwoord over kan vinden. Het enige wat ik hierover kan vinden is dat het probleem "plotseling" is opgelost of dat het gewoon een type fout bleek te zijn.

Het probleem is namelijk dat ik hem opdracht geef om naar de server te gaan, hier staat nu ingesteld:
\\localhost\Helpdesk Reporter\Raportage. Als ik deze koppeling op hetzelfde systeem aanroep krijg ik inderdaad de juiste map met de pdf bestanden. Als ik in de foutmeldingen ga kijken gaat hij naar de submappen van de locatie waar het programma staat. In dit geval is dat dus:
C:\Documents and Settings\Administrator\Desktop\Helpdesk Reporter\Setup\CD Project\CD Data\Data\Visual Basic project Client\bin\Release\\localhost\rapportage

Het probleem is nu dat ik moet verwijzen naar een netwerkpad terwijl hij alleen naar submappen wil gaan. Maar als ik de mappen ga wijzigen en ik zet een pdf bestand in de submap waar hij gaat zoeken komt dit ook niet in het menu en krijg ik ook een foutmelding.

De huidige code is:

Visual Basic:
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
39
40
41
42
43
44
45
46
Public Class Main
    Private Sub Main_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim Rapportage As New ToolStripMenuItem("Rapportage")

        Dim di As New IO.DirectoryInfo(My.Settings.server)
        For Each fi As IO.FileInfo In di.GetFiles(My.Settings.server)
            Rapportage.DropDownItems.Add(fi.FullName, Nothing, AddressOf itemClick)
        Next
        MenuStrip1.Items.Add(Rapportage)
    End Sub
    Private Sub itemClick(ByVal sender As Object, ByVal e As EventArgs)
        Dim filename As String = (CType(sender, ToolStripItem)).Text
        Button1.Show()
        ReportViewer.Show()
        ReportViewer.Navigate(My.Settings.server + filename)
    End Sub

    Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem.Click
        About.Show()
    End Sub

    Private Sub AfsluitenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AfsluitenToolStripMenuItem.Click
        Me.Close()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ReportViewer.Hide()
        Button1.Hide()
    End Sub

    Private Sub VerversRapportToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        ReportViewer.Refresh()
    End Sub

    Private Sub HandleidingToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HandleidingToolStripMenuItem.Click
        Handleiding.Show()
    End Sub

    Private Sub VerversenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VerversenToolStripMenuItem.Click
        ReportViewer.Refresh()
    End Sub

    Private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem1.Click
        Instellingen.Show()
    End Sub
End Class

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 23:37

TeeDee

CQB 241

Visual Basic .NET:
1
2
3
4
DirectoryInfo di = new DirectoryInfo(@"\\192.168.78.14\e$\teedee.dynu.com\");
For Each fi as FileInfo in di.GetFiles("*.txt")
      Rapportage.DropDownItems.Add(fi.FullName, Nothing, AddressOf itemClick) 
Next

Zoiets.

Trouwens: haal On Error Resume Next maar gewoon weg, en probeer het probleem gewoon op te lossen. Aan struisvogel gedrag heb je niets.

als je de volgende keer code post, haal al de overbodig zaken er dan ook uit... scrollen is irritant. (soms)

[ Voor 35% gewijzigd door TeeDee op 18-01-2008 16:01 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 02:33
Verwijderd schreef op vrijdag 18 januari 2008 @ 15:49:
[...]


Ik ben nu wel iets verder gekomen.
De applicatie wil nu wel starten omdat ik nu de regel
Visual Basic:
1
On Error Resume Next

er in heb gezet.
Paardenmiddel...
Verwijderd schreef op vrijdag 18 januari 2008 @ 13:01:
[...]


Nu kan ik hem wel debuggen maar nu verschijnt een ander probleem.

De server is namelijk nog niet ingesteld en dus kan hij nog niet naar de map kijken.
Het probleem is echter dat hij nu bij het debuggen vast slaat en in de debugger het volgende komt:

code:
1
A first chance exception of type 'System.IO.DirectoryNotFoundException' occurred in mscorlib.dll
Logich toch? De locatie bestaat niet, dus hij kan het niet vinden. De exception is dus volkomen logisch en terecht. In feite heb je een programma geschreven die er vanuit gaat dat de situatie altijd ideaal is en klopt. Dit is waar je echt moet gaan programmeren, hoe ga je met zo'n niet-ideale situatie om? Toon je een lege lijst, een foutmelding?
************** Exception Text **************
System.ArgumentException: Second path fragment must not be a drive or UNC name.
Parameter name: path2
at System.IO.Path.InternalCombine(String path1, String path2)
Sorry hoor, maar dit is toch gewoon duidelijk? Twee tips:
Lees de foutmeldingen
Debug. Zet een breakpoint op de regel waar het fout gaat en kijk wat je als parameters instuurt. Blijkbaar nu iets verkeerds.

Roomba E5 te koop

Pagina: 1