Toon posts:

[VB.NET] Bestand openen na extensie te koppelen...

Pagina: 1
Acties:
  • 527 views

Onderwerpen


  • BETA911
  • Registratie: Januari 2007
  • Laatst online: 01-02 10:54
Hello guys,

Ben ik weer eens met een dilemma waar ik zelfs nog niet eens weet waar ik op moet zoeken.
Hopelijk nemen jullie me dit niet kwalijk. Een duw in de rug naar het juiste onderwerp waar ik de info kan vinden zou me al veel helpen.

Ik heb dus een programma waarin een DataGridView zit. Deze vul ik met een .db3 bestand zodra de gebruiker deze gekozen heeft (na het klikken op een 'Open' button).

Nu heb ik een setup project er rond gemaakt, en direct .db3 bestanden gelinked aan mijn programma. MAAR, als ik nu klik op zo een .db3 bestand, dan opent mijn programma enkel. Maar nu wou ik eventueel, als dat mogelijk is, dat ik parameters meegeef zodra een gebruiker op een .db3 bestand klikt. Deze zouden dan het programma de weg moeten wijzen naar het automatisch vullen van de DataGridView met dit bestand waarop de gebruiker geklikt heeft.

Iemand een idee hoe dit te doen?

  • RobIII
  • Registratie: December 2001
  • Laatst online: 12:41

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Lees \[C#] Meerdere paden van bestanden door geven eens door. Je krijgt het gedubbelklikte bestand gewoon als commandline parameter binnen.

[Voor 32% gewijzigd door RobIII op 19-05-2011 21:06]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • BETA911
  • Registratie: Januari 2007
  • Laatst online: 01-02 10:54
Ik ga het even bekijken morgen en zal dan laten weten als het dat is wat ik moet hebben, EN als het werkt :). Bedankt in elk geval al!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 12:41

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

BETA911 schreef op donderdag 19 mei 2011 @ 21:22:
als het dat is wat ik moet hebben
Trust me; dat is wat je moet hebben ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


Acties:
  • 0Henk 'm!

  • BETA911
  • Registratie: Januari 2007
  • Laatst online: 01-02 10:54
Heb volgende toegevoegd:

Visual Basic:
1
2
3
4
5
6
    Shared Sub Main()
        Dim arguments() As String = Environment.GetCommandLineArgs()
        For Each value In arguments
            MsgBox(value.ToString)
        Next
    End Sub


Om even te kijken als het werkt, maar ik krijg dus niks te zien. Kan het zijn omdat ik een splash screen gebruik en ik daar de main moet zetten?

EDIT:
Getest maar werkt niet :) . Verder zoeken...

[Voor 21% gewijzigd door BETA911 op 20-05-2011 09:37]


Acties:
  • 0Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 12:41

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Waar heb je die Sub Main toegevoegd? Wordt die sub überhaupt uitgevoerd? Wat geeft debuggen? (Debuggen: Hoe doe ik dat?). Al eens een breakpoint gezet en er met de debugger door heen gestapt?

Zie (o.a.):
http://www.homeandlearn.co.uk/net/nets5p6.html
MSDN: Debugging in Visual Studio
http://www.dotnetperls.com/debugging
enz.

[Voor 8% gewijzigd door RobIII op 20-05-2011 11:34]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


Acties:
  • 0Henk 'm!

  • BETA911
  • Registratie: Januari 2007
  • Laatst online: 01-02 10:54
Hoe kan ik dat debuggen dan? Ik kan toch geen parameters meegeven als ik vanuit VS2010 opstart?

Acties:
  • 0Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Natuulijk kan dat wel. Gewoon bij de properties van een project bij Debug. Maar dat had je natuurlijk ook best kunnen vinden als je wat gegoogled had [google=vb.net command line parameters visual studio]

[Voor 47% gewijzigd door Woy op 20-05-2011 11:59]

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 12:41

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

^ Wat hij zegt. En als je alleen wilde weten of de sub main wordt uitgevoerd of niet had je natuurlijk ook gewoon een Messagebox als eerste regel in de sub main kunnen zetten ;)

[Voor 24% gewijzigd door RobIII op 20-05-2011 12:16]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


Acties:
  • 0Henk 'm!

  • BETA911
  • Registratie: Januari 2007
  • Laatst online: 01-02 10:54
Dat heb ik allemaal ingesteld. Als ik debug dan gaat hij naar de globale variabel die ik moet hebben, en vervolgens gaat hij door naar form.Load(). Hij skipt de main dus totaal.

frmMain is startup form
frmSplash is splash screen form
frmSplash komt x tijd in beeld, daarna komt frmMain.

Heb frmSplash al uit gezet en rechtstreeks gestart van frmMain met daarin de Sub Main(), maar niks. Ik heb in beide al de Main() gezet, werkt ook niet. Heb gewerkt met Main(Byval blabla As String) en met Environment.GetCommandLineArgs().

[Voor 56% gewijzigd door BETA911 op 20-05-2011 13:16]


Acties:
  • 0Henk 'm!

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 04-06 17:19
Dan zet je de "Environment.GetCommandLineArgs()" call daar toch? Het gaat er niet om vanuit waar je die command line argumenten ophaalt. Dat moet je gewoon doen waar je ze nodig hebt. Die "Sub Main" is gewoon een voorbeeld en geen magische functie.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Acties:
  • 0Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 12:41

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


Acties:
  • 0Henk 'm!

  • BETA911
  • Registratie: Januari 2007
  • Laatst online: 01-02 10:54
Ik heb hem in de frmMain.Load() bijgezet op het einde van de sub en daar werkt ie wel. Ik zal dan vandaar uit verder werken. Enkel raar dat hij het niet doet bij een aparte Sub Main().

EDIT:
Maar, hoe krijg ik het pad van het .db3 bestand ingeladen automatisch?
Ik bedoel daar mee, als men C:\Desktop\test.db3 opent, geeft ie dat pad dan mee automatisch?

EDIT2:
Argument 1 = pad naar programma
Argument 2 = pad naar bestand

Normaal moet het verder lukken van hier uit :) .

[Voor 46% gewijzigd door BETA911 op 20-05-2011 15:44]


Acties:
  • 0Henk 'm!

  • Gimmeabrake
  • Registratie: December 2008
  • Laatst online: 13:29
BETA911 schreef op vrijdag 20 mei 2011 @ 15:31:
Enkel raar dat hij het niet doet bij een aparte Sub Main().
Nee, dat is niet raar. Je hebt in de project properties een bepaalde form ingesteld als startup form. VB.Net zit zo in elkaar dat die Form bij het uitvoeren van je applicatie automatisch opgestart wordt. Het declareren van een standaard "startup"-methode, wil nog niet zeggen dat die dan maar automatisch uitgevoerd wordt. ;)

Acties:
  • 0Henk 'm!

  • BETA911
  • Registratie: Januari 2007
  • Laatst online: 01-02 10:54
Hoe moet dit dan wel werken?
Ik heb de Main() methode in mijn frmMain staan die mijn startup form is. Lijkt me toch logisch dat het moet werken, zeker als ik dan al mijn splash screen eruit laat.

Acties:
  • 0Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Je startup form is niet je entry point in je applicatie. Ik weet niet hoe een default VB.NET precies in elkaar zit, maar waarschijnlijk heb je een class Program die een static Main heeft. Dat is het entry point van je applicatie.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 12:41

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

3e en laatste keer: RobIII in "\[VB.NET] Bestand openen na extensie te k..."
Hoe moeilijk is het om 4 kinderlijk eenvoudige stappen te volgen :?

[Voor 24% gewijzigd door RobIII op 20-05-2011 18:34]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


Acties:
  • 0Henk 'm!

  • BETA911
  • Registratie: Januari 2007
  • Laatst online: 01-02 10:54
@Woy, ik kan geen Program vinden nergens.
@RobIII, ik heb die link al bekeken nog voor je die gepost had. Maar het doet niet wat het moet doen, sterker nog: ik heb die optie niet eens. Tevens is het daar C#, ik werk met VB.NET. Ook al is het praktisch hetzelfde normaal, maar hier verschilt het blijkbaar toch van elkaar.

Acties:
  • 0Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 12:41

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Dat zal dan wel de Express versie zijn ofzo. Maar ook in de formload kun je toch de commanline params uitlezen? Dan plaats je 't toch daarin?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


Acties:
  • 0Henk 'm!

  • BETA911
  • Registratie: Januari 2007
  • Laatst online: 01-02 10:54
Dat heb ik ook inmiddels gedaan, zoals eerder vermeld, en het werkt nu zoals het hoort :) .
Ben er weer wijzer uitgekomen. PS, wat betreft je DM: het is ook niet als helpdesk beschouwd, maar als babbel om ervaringen uit te wisselen.

Acties:
  • 0Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 12:41

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

BETA911 schreef op vrijdag 20 mei 2011 @ 20:34:
PS, wat betreft je DM: het is ook niet als helpdesk beschouwd, maar als babbel om ervaringen uit te wisselen.
Begrijp me niet verkeerd, maar dat zou de eerste X-tijd redelijk éénrichtingsverkeer zijn, denk je niet? ;) Daarbij ken ik je verder niet en maak ik er geen gewoonte van wildvreemden op m'n MSN/FaceBook/Whatnot toe te voegen, maar dat zal de ouwe lul in mij wel zijn ;) :P
BETA911 schreef op vrijdag 20 mei 2011 @ 19:18:
Tevens is het daar C#, ik werk met VB.NET.
Euh, nee :? Het is specifiek VB.Net uitleg

[Voor 17% gewijzigd door RobIII op 20-05-2011 20:45]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • BETA911
  • Registratie: Januari 2007
  • Laatst online: 01-02 10:54
Dat zou de eerste tijd meest eenrichtingsverkeer zijn ja, maar door snel te leren kan ik mogelijk ook iets bijbrengen. Maar je wil niet, mij evengoed :) .

Klopt, onderaan staat het VB gedeelte, maar alsnog werkte dat niet. Ik had dat al geprobeerd voor je nog maar met de link kwam.

Maar andere vraag (wil er namelijk niet een topic voor openen weer).
Ik heb dgvMain (DataGridView) gevuld met mijn .db3 bestand. Maar ik wil aan de hand van een button de geselecteerde cellen terug laten zien. Even toelichten: een gebruiker maakt een selectie van de cellen die hij moet hebben. Vervolgens klikt hij op een button, de huidige view gaat weg, en een nieuwe view laat enkel die cellen zien die hij had geselecteerd. Ik heb dit al geprobeerd door achter de button de geselecteerde cellen toe te wijzen aan een nieuwe DataGridView, de oude te verbergen en de nieuwe te laten zien maar dit werkt helemaal niet zoals het moet. Het werkt ook zodanig niet dat ik een groot vermoeden heb dat dit ook niet de juiste werkwijze is en dat het anders moet. Echter zou ik na een 3-tal uur zoeken nog niet weten hoe... Iemand een idee?

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
BETA911 schreef op zaterdag 21 mei 2011 @ 22:38:
Maar andere vraag (wil er namelijk niet een topic voor openen weer).
Toch willen we dat je gewoon een nieuw topic opent als je nieuwe vragen hebt. Je bent in dit topic al genoeg geholpen. Hou bij je nieuwe topic wel het beleid en vooral De quickstart in de gaten.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”

Pagina: 1

Dit topic is gesloten.


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee