Nach Umstieg erste Probleme mit VB2005

Hallo, ich bin neu hier!

Wie fälschlich im VB-Forum schon gepostet, habe ich mich entschlossen, nach Jahren der „Abstinenz“ wieder mit VB zu programmieren; ich habe die VB6 Professional Edition.

Nach größeren Problemen beim Laden der „alten“ Projekte bzw. mit den Datenbanken habe ich mich dann entschlossen, gleich alles neu zu machen und auf VB2005 mit SQL-Server umzusteigen. Nun versuche ich, meine alten Projekte neu zu programmieren; der Versuch der Konvertierung brachte einfach zu viele Fehlermeldungen.

Damit habe ich nun neue Probleme, denn wie ich feststellen musste, ist VB2005 nicht VB sondern eben .net und somit ist zum einen ein anderes Forum zuständig (was ich erst mal glatt übersehen habe) und außerdem ist da alles ganz anders (naja, nicht alles, aber doch einiges).

Das geht schon mit solch simplen Dingen los: unter VB6 hatte ich mehrere gleiche Controlls mit gleichem Namen als Array (also z.B. Label(0), Label(1), Label(2)…) die ich dann über einer for-Schleife mit entspr. Text füllte:

for i=0 to 5
Label(i).Text = Textarray(i)
next

Nun musste ich feststellen, dass dies so unter VB.net nicht geht. Wie mache ich das dann?

Danke und Grüße vom Robi

PS.: Ich fange zwar nicht ganz bei Null an, aber nach Jahren ausschließlich mit PHP ist VB - und dann auch noch VB.net - doch erst mal wieder gewöhnungsbedürftig. Ich werde folglich sicher noch öfter um euere Hilfe bitten.

Auch hallo.

Nun musste ich feststellen, dass dies so unter VB.net nicht
geht. Wie mache ich das dann?

Das wird wohl nicht das einzigste Problem sein, von daher sollte man einen Blick auf http://www.galileocomputing.de/openbook/visual_basic/ werfen :wink:

mfg M.L.

Hallo!

Danke für den Tipp; werde mir wohl das Buch ordern. Bis ich das dann habe und - vor allem - durchgearbeitet habe: wäre schön, wenn ich dennoch hier eine direkte Antwort auf meine Frage bekommen könnte.
Danke!

Gruß, Robi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo!

Ein Array aus Labels geht natürlich auch mit VB.NET, ich wüsste nur nicht, dass man sowas im Designer zur Verfügung hat.
Darum:
Array entsprechend deklarieren und instanziieren

private labels as Label()
...
labels = new Label(42) ' Ich hoffe, in VB.NET geht das so - mache i.d.R. C#

Anschließend mit einzelnen Labels füllen:

labels(0) = MeinErstesLabel
labels(1) = EinAnderesLabel
...

Dann kannst Du wie gewünscht das Array durchnudeln und für alle Labels darin z.B. deren Text setzen.

Du kannst di allerdings auch mal die Controls Collection ansehen, die jedes Form hat. Der Designer packt alle Controls, die Du ins Form ziehst, in diese Collection und über die Abfrage des Typs des jeweiligen Controls kannst Du dann gezielt mit bspw. allen Labels auf Deiner Form etwas machen.

Grundvoraussetzung, damit Du mit VB.NET weiterkommst, ist aber die Kenntnis von objektorientierten Konzepten, die bei den meisten Leuten mit VB6-Background nicht vorhanden sind. Um die vorhandenen Möglichkeiten nutzen zu können, braucht man dieses Wissen aber.
In diesem Sinn: Einen guten Einstieg!

Gruß,
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Martin,

Ein Array aus Labels geht natürlich auch mit VB.NET, ich
wüsste nur nicht, dass man sowas im Designer zur Verfügung
hat.
Darum:
Array entsprechend deklarieren und instanziieren

private
labels as Label()

labels = new Label(42) ’ Ich hoffe, in VB.NET geht das so -
mache i.d.R. C#

Anschließend mit einzelnen Labels füllen:

labels(0) =
MeinErstesLabel
labels(1) = EinAnderesLabel

Dann kannst Du wie gewünscht das Array durchnudeln und für
alle Labels darin z.B. deren Text setzen.

Du kannst di allerdings auch mal die Controls
Collection ansehen, die jedes Form hat. Der Designer
packt alle Controls, die Du ins Form ziehst, in diese
Collection und über die Abfrage des Typs des jeweiligen
Controls kannst Du dann gezielt mit bspw. allen Labels auf
Deiner Form etwas machen.

na, das ist ja schon mal was, mit dem ich weiterkommen kann.

Grundvoraussetzung, damit Du mit VB.NET weiterkommst, ist aber
die Kenntnis von objektorientierten Konzepten, die bei den
meisten Leuten mit VB6-Background nicht vorhanden sind. Um die
vorhandenen Möglichkeiten nutzen zu können, braucht man dieses
Wissen aber.

Tja, die liebe OO. Damit musste ich mich zwar mal beschäftigen, habe auch einen längeren Lehrgang besucht, aber das ist eben auch schon eine Weile her. Wie sagte damals der Instruktor: „Wenn ihr euere Frau als Objekt betrachtet, dann habt ihr’s begriffen“ - Ähm, sollte wohl ein Witz sein und ist daher wohl eher was für’s Witze-Forum.

Spaß beiseite, mit VB6 konnte man ja auch schon objektorientiert programmieren; ich habe das, auch mal versucht, ebenso habe ich mal mit Java versucht, kleinere Programme zu schreiben, aber so richtig damit beschäftigt (mit OO) habe ich mich soo intensiv denn doch nicht. Wird wohl jetzt nötig sein.

In diesem Sinn: Einen guten Einstieg!

Jau, ich arbeite dran!

Gruß,
Martin

Ebenfalls Grüße

Robi