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

[VB.net]dynamisch setje van linklabels afhankelijk van array

Pagina: 1
Acties:

  • HyperBart
  • Registratie: Maart 2006
  • Laatst online: 00:06
Ik programmeer al eventjes in VB, vooral de schoolse kennis, maar vandaag de dag heb ik eindelijk eenpraktische toepassing voor mezelf die de moeite waard was om te proggen:

verschillende links combineren met een emulator en zo een rechtstreekse link te verkrijgen die ik maar moet plakken in mijn adresbalk en alles werkt (combi van PHP, parameter in de url, enz).

Maar nu is het alleen een beetje "jammer", dat de output die ik krijg in een textbox terecht komt, en dat wil ik natuurlijk niet, ik wil een zo makkelijk mogelijke app, dus ik had graag een setje van linklabels gehad, mooi en netjes onder mekaar. Dit zou te moeten doen zijn met arrays, maar ik weet niet hoe dingen toe te voegen of een array van controls aan te maken in VB.net (java al wel, maar ik wou het in VB doen...).

Google biedt niet echt simpele/begrijpbare info, dus daarom hoopte ik dat jullie mij miss op weg konden helpen?

alvast bedankt

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Ik ken de VB.Net syntax niet precies, maar je kunt gewoon iets doen als:

Label bla = new Label();
bla.Text = "blaaaa";
Form1.Controls.Add(bla);

maar dan in VB stijl. Dat gooi je dan in een loopje.

[ Voor 8% gewijzigd door Grijze Vos op 20-03-2008 20:07 ]

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Waarom gebruik je geen (detailed) list view in combinatie met DataBinding? DataBinding is de .net manier om collecties (array's, tables, dictionaries, etc) te koppelen aan controls.

De oplossing van Grijze Vos is wel mogelijk, maar je blijft dan altijd met de positionering zitten. Je zou eventueel een TableLayoutView kunnen gebruiken daarvoor. Echter met de ListView control heb je dan probleem niet.

If it isn't broken, fix it until it is..


  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 18-11 22:35
Of de Repeater, als je .Net 2 gebruikt.

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

TeeDee

CQB 241

de Repeater zit al in 1.0
Kleine zijstap: als je al Java kent, waarom geen gebruik maken van de syntax en overstappen op C#?

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


  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 18-11 22:35
TeeDee schreef op vrijdag 21 maart 2008 @ 09:38:
de Repeater zit al in 1.0
Kleine zijstap: als je al Java kent, waarom geen gebruik maken van de syntax en overstappen op C#?
Ik doelde meer op de Listview die werd voorgesteld :)

  • HyperBart
  • Registratie: Maart 2006
  • Laatst online: 00:06
Niemand_Anders schreef op vrijdag 21 maart 2008 @ 08:35:
Waarom gebruik je geen (detailed) list view in combinatie met DataBinding? DataBinding is de .net manier om collecties (array's, tables, dictionaries, etc) te koppelen aan controls.

De oplossing van Grijze Vos is wel mogelijk, maar je blijft dan altijd met de positionering zitten. Je zou eventueel een TableLayoutView kunnen gebruiken daarvoor. Echter met de ListView control heb je dan probleem niet.
Omdat ik een array van objecten in java al ken, en dacht dat het het ook goed mogelijk moest zijn in VB.net. Dit principe van logica van een arrray van objects was me al aangeleerd, wat jij zei niet ;) ...
creator1988 schreef op vrijdag 21 maart 2008 @ 09:18:
Of de Repeater, als je .Net 2 gebruikt.
De wat ? een gewone, gelimiteerde iteraite ofwat ?
TeeDee schreef op vrijdag 21 maart 2008 @ 09:38:
de Repeater zit al in 1.0
Kleine zijstap: als je al Java kent, waarom geen gebruik maken van de syntax en overstappen op C#?
Omdat ik het al moeilijk genoeg heb om twee talen uit mekaar te houden en ik niet bepaald de studiemethode heb om ook nog eens een ander zelfstandig onderwijs er bij te nemen.

offtopic:
Mind the nickname, it's not only being hyperactive you know ;). Ik heb nooit ofte nooit misbruik gemaakt van mijn ADHD of van het feit dat ik het heb, maar waar een doorsnee student een boekje op een uur erdoor jaagt met zich te concentreren (intensief), daar doe ik 1,5u tot 2u over, en kost mij best veel moeite

Verwijderd

offtopic:
ADHD is nooit een excuus, net als slechte ogen of zwakke enkels. Je roeit met de riemen die je hebt, en die riemen zijn zo te zien niet eens zo beroerd. :)
OK, 't kost je misschien meer moeite dan een ander, maar dat wil niet zeggen dat je 't niet aankan.

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Java != .NET. Hoewel C# en Java syntaxis op elkaar lijken geld dat niet voor de runtime libraries. Je kunt niet verwachten dat zaken in .net op dezelfde manier werken als in Java. Ik heb zelf erg weinig met Java gedaan, maar het lijkt mij sterk dat java geen binding achtige structuur heeft om data te presenteren.

Persoonlijke noot: .net is een goed en zeer flexibel platform. Echter .NET leunt wel op een aantal basis principes en een daarvan is data binding. Mocht je het moeilijk vinden op Java en .NET uit elkaar te houden, dan is VB inderdaad een optie. Maar dan moet je in VB niet gaan programmeren zoals je dat in Java doet. Loopt even naar de boekhandel en koop een boek als VB.net voor dummies en VB.net in 24 uur. Dergelijke boeken introduceren alle funderingen van het .NET platform. Met de basis kennis uit het boek kun je dan je kennis vergroten door (web) applicaties te maken of het lezen van artikelen/tutorials op internet.

Het feit dat je je ADHD ter sprake bent, doet mij toch vermoeden dat je het stiekum weleens als een excuus gebruikt. Het probleem met je linklabels heeft niets te maken met ADHD, maar puur met het feit dat je geen basis kennis hebt van het .NET platform. Dus je doet 48 uur over VB.NEt in 24 uur. So what? Ik heb hier een collega welke 1,5 jaar geleden een herseninfarct heeft gehad, daardoor heeft hij af en toe wat last van zijn korte termijn geheugen. En geloof me, leren (studeren) is pas echt lastig als je regelmatig vergeet wat je hebt geleerd. Maar er is niemand in dit bedrijf dat hem aanspreekt als iets wat langer duurt.

Conto: Koop een boek, leer .NET en breng nooit je ADHD ter sprake, want dat heeft absoluut helemaal niets met het probleem te maken.

If it isn't broken, fix it until it is..


  • empheron
  • Registratie: Mei 2004
  • Laatst online: 10-03 14:26
Alle niet ter zake doende afkortingen op een stokje, een andere mogelijk triviale oplossing die wel leuk is :

Gebruik een FlowLayoutPanel (leuk gekopieerd van Java inderdaad, dit zat volgens mij ook in de aller eerste versie van swing)

Vulde de panel met Controls (waarom gebruik maken van arrays als je panel een controls collection heeft)

Code lijkt dan op :

flpLabels.Controls.Clear()
for each tekst as string in lijstje
Dim labeltje as new label()
labeltje.text = tekst
flpLabels.controls.add(labeltje)
Next

[ Voor 2% gewijzigd door empheron op 25-03-2008 09:33 . Reden: hmm zo lang geleden dat ik hier een post heb gezet dat ik de syntax voorde [code] text vergeten ben ]


  • HyperBart
  • Registratie: Maart 2006
  • Laatst online: 00:06
Verwijderd schreef op dinsdag 25 maart 2008 @ 00:48:
offtopic:
ADHD is nooit een excuus, net als slechte ogen of zwakke enkels. Je roeit met de riemen die je hebt, en die riemen zijn zo te zien niet eens zo beroerd. :)
OK, 't kost je misschien meer moeite dan een ander, maar dat wil niet zeggen dat je 't niet aankan.
offtopic:
Absoluut mee eens! Maar waar ik dan wel vierkant van omhoog kan vallen is het "hebben-van-ADHD-omdat-iedereen-het-heeft-en-het-in-de-mode-is", al dan niet gesteund door aandachtsslurpende moeders die "willen" dat hun kind adhd heeft en ze dan lekker volstoppen met Rilatine terwijl ze het niet nodig hebben
Niemand_Anders schreef op dinsdag 25 maart 2008 @ 09:22:
Het feit dat je je ADHD ter sprake bent, doet mij toch vermoeden dat je het stiekum weleens als een excuus gebruikt. Het probleem met je linklabels heeft niets te maken met ADHD, maar puur met het feit dat je geen basis kennis hebt van het .NET platform. Dus je doet 48 uur over VB.NEt in 24 uur. So what? Ik heb hier een collega welke 1,5 jaar geleden een herseninfarct heeft gehad, daardoor heeft hij af en toe wat last van zijn korte termijn geheugen. En geloof me, leren (studeren) is pas echt lastig als je regelmatig vergeet wat je hebt geleerd. Maar er is niemand in dit bedrijf dat hem aanspreekt als iets wat langer duurt.
offtopic:
Toch nooit als excuus gebruikt; mijn ouders hebben me wat dat betreft heel strikt opgevoed en ik moest het nooit proberen. Ik kan er zelfs niet tegen als mensen het al beginnen roepen (zoals in klassen) van "ja maar hij heeft adhd enz...".
;) En ik zei het naar aanleiding van het feit dat ik me moeilijk kan concentreren op het ene en daarna weer kan switchen naar het andere als ik dingen moet leren, daardoor gooi ik ook sneller leerstof door mekaar en dat wil ik toch vermijden. Zeker wanneer het me extra tijd kost ten opzichte van een doorsnee student vind ik het vaak energie-vergend om ook nog eens dezelfde moeite te steken in een ander stuk wat op dat moment niet verplicht is voor school. Aan de andere kant ben ik een koppig ventje en een doorbijtertje en wil ik graag alles weten, dus bijt ik me wel vast in het probleem.;)
empheron schreef op dinsdag 25 maart 2008 @ 09:32:
Alle niet ter zake doende afkortingen op een stokje, een andere mogelijk triviale oplossing die wel leuk is :

Gebruik een FlowLayoutPanel (leuk gekopieerd van Java inderdaad, dit zat volgens mij ook in de aller eerste versie van swing)

Vulde de panel met Controls (waarom gebruik maken van arrays als je panel een controls collection heeft)

Code lijkt dan op :

flpLabels.Controls.Clear()
for each tekst as string in lijstje
Dim labeltje as new label()
labeltje.text = tekst
flpLabels.controls.add(labeltje)
Next
Dus met andere woorden, je plaatst eigenlijk een soortement panel zoals van in java op je vb.net formulier, en gaat dat dan beplakken en beheksen met de flowlayout's, gridlayout's, borderlayout's van java die me bekend zijn ?
Niemand_Anders schreef op dinsdag 25 maart 2008 @ 09:22:
Java != .NET. Hoewel C# en Java syntaxis op elkaar lijken geld dat niet voor de runtime libraries. Je kunt niet verwachten dat zaken in .net op dezelfde manier werken als in Java. Ik heb zelf erg weinig met Java gedaan, maar het lijkt mij sterk dat java geen binding achtige structuur heeft om data te presenteren.

Persoonlijke noot: .net is een goed en zeer flexibel platform. Echter .NET leunt wel op een aantal basis principes en een daarvan is data binding. Mocht je het moeilijk vinden op Java en .NET uit elkaar te houden, dan is VB inderdaad een optie. Maar dan moet je in VB niet gaan programmeren zoals je dat in Java doet. Loopt even naar de boekhandel en koop een boek als VB.net voor dummies en VB.net in 24 uur. Dergelijke boeken introduceren alle funderingen van het .NET platform. Met de basis kennis uit het boek kun je dan je kennis vergroten door (web) applicaties te maken of het lezen van artikelen/tutorials op internet.
Kijk, daar zit 'm ook het probleem een beetje, ik heb 2jaar VB.net gehad, basisbeginselen eigenlijk, structuren van programmeren. Maar niemand gaf ons de achtergrond (zelfs nu nog steeds niet) van de programmeertalen waar wij mee werken en werkten. Ik hoor altijd maar van: "whoaaaaaaaah, (vb).net is zo krachtig", maar ik denk dan altijd: "he, leg eens uit?", "ja, ge kunt daar alle kanten mee uit", dan denk ik van 8)7 .

Van java weet ik dan alleen dat het crossplatform is en sterk objectgeorienteerd. voor de rest niets...

[ Voor 36% gewijzigd door HyperBart op 28-03-2008 04:32 ]


  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Kijk, daar zit 'm ook het probleem een beetje, ik heb 2jaar VB.net gehad, basisbeginselen eigenlijk, structuren van programmeren. Maar niemand gaf ons de achtergrond (zelfs nu nog steeds niet) van de programmeertalen waar wij mee werken en werkten. Ik hoor altijd maar van: "whoaaaaaaaah, (vb).net is zo krachtig", maar ik denk dan altijd: "he, leg eens uit?", "ja, ge kunt daar alle kanten mee uit", dan denk ik van 8)7 .
Stiekum zijn het eigenlijk niet de talen C# en VB.net welke krachtig zijn, maar is dat juist het .NET platform (de CLR) wat zo veelzijdig en krachtig is. Er zijn inmiddels meer dan 50 talen gebruik kunnen maken van het .NET platform zoals PHP.NET, Boo, IronPython en IronRuby om er een paar te noemen, maar de bekendste blijven toch de 'Microsoft' talen C# en VB.net.

VB.net is allang niet meer alleen voor beginners en het heeft dezelfde mogelijkheden als C#, zelfs nog wat meer als je parameterized properties meerekend.

Echter als je CLR safe programming aanhoud, dan draaien je applicaties ook via Mono onder Linux en OSX. .NET zit ook als sinds MSSQL2005 in de database engine waarmee het mogelijk is om managed data types, procedures, triggers en functies te schrijven. Er komt nu ook steeds meer aandacht voor Silverlight 2 waarmee je flash achtige constructies kunt bouwen in .NET. Webservices kun je via ajax.net eenvoudig aanroepen vanuit javascript. Met WPF kun je windows applicaties maken met de meest idiote schermen. En met Expression Studio kunnen nu de designers de presentaties maken op basis van xaml en in plaats van dat daarvoor een developer nodig is.

Het is dus niet de taal, maar het .NET platform wat dus krachtig en veelzijdig is. En ook ik kan hier niet de complete achtergrond van VB.net en C# uit de doeken doen, maar er zijn echt artikelen welke de voor en nadelen van de populairste .NET talen vergelijken.

Maar vrijwel de meeste web applicaties die geschreven worden in C# of VB.NET kunnen ook worden geschreven in PHP of Java en dan zijn ze echt niet minder krachtig.

Ik kan je dus eigenlijk alleen het advies geven om op zoek te gaan naar een programmeertaal waarbij JIJ je lekker voelt en ga daarmee aan de slag en vergeet daarna lekker alle andere talen :) Het belangrijkste, laat je niet gek maken. Tot zover mijn wijze woorden O-)

If it isn't broken, fix it until it is..


  • HyperBart
  • Registratie: Maart 2006
  • Laatst online: 00:06
Kijk, dat is nu al wat verhelderend ;)

ach ja, k kan voorlopig nog niet kiezen, kmoet ze toch kennen voor mijn examens. Anyways ga ik toch niet verder als programmeur, maar eerder bij netwerken. Occasioneel zal ik nog wel eens een progje voor het een of het ander schrijven, maar daar stopt het dan ook ;).

Bedankt allemaal alvast voor de ervaringen en uitleg.
Pagina: 1