Umstellung VB6 auf 2005

Moin Jungs,

Ich habe gerade bei einem Kollegen gesehen das die Schnittstellensteuerung von Com Ports bei VB2005 etwas besser funktionieren soll als unter VB6 mit MSCOM?

Ich habe immer probleme von meinem Nokia Mobil eine Antwort auf einen AT Befehl zu bekommen. Das problem ist M$ bekannt es gibt aber so keine Lösung…

Wie größ/schwer ist die umstellung von VB6 zu 2005 ? für einen „„Anfänger““ Der die Basics gerade drauf hat ?

Besten Danke,

mfg Joe

Hi Joe,

Wie größ/schwer ist die umstellung von VB6 zu 2005 ? für einen
„„Anfänger““ Der die Basics gerade drauf hat ?

das hat mit Anfänger nicht viel zu tun, ‚Umstellung‘ ist das falsche Wort, neu anfangen ist richtiger. Die gemeinsamkeiten sind so gering, daß Du einfach vergessen solltest, daß .NET eigentlich der Nachfolger von VB6.0 ist. Nimm es einfach als eine neue Programmiersprache, besorge Dir Literatur und beginne neu mit .NET, als würdest Du VB6 nicht kennen. :smile: Wenn es Dir dann noich gelingt, .NET nicht ständig mit VB6 zu vergleichen, hast Du Aussicht auf Erfolg.

Gruß, Rainer
(Der VB6 einigermaßen versteht, mit .NET kein Programm zum Laufen bringt. :smile:)

Moin Jungs,

Moin Joe,

Ich habe gerade bei einem Kollegen gesehen das die
Schnittstellensteuerung von Com Ports bei VB2005 etwas besser
funktionieren soll als unter VB6 mit MSCOM?

Jups, das ist richtig :smile:

Ich habe immer probleme von meinem Nokia Mobil eine Antwort
auf einen AT Befehl zu bekommen. Das problem ist M$ bekannt es
gibt aber so keine Lösung…

Hm, ist schwer vorstellbar. Aber nungut :smile:

Wie größ/schwer ist die umstellung von VB6 zu 2005 ? für einen
„„Anfänger““ Der die Basics gerade drauf hat ?

Rainer hat dir ja bereits schon geantwortet. Jedoch bin ich da mit Rainer seiner Aussage in einigen Punkten nicht ganz eins.

Ich selbst bin gerade dabei von VB6.0 auf VB 9.0 umzustellen. VB 9 ist im Visual Studio 8.0 enthalten :smile: In meinen weiteren Posting verwende ich mal für VB6.0 einfach VB und für VB9 einfach mal .Net :smile:

Die Befehle von VB gibt es in .Net nur noch teilweise. Aber die die sie uebernommen haben, sollte man eigentlich nicht mehr gebrauchen, da es dafür elegantere Lösungen gibt!

Unter VB konnte man einfach drauf lostippseln und es sich so beibringen, was nun bei .Net nicht mehr geht!
Sicher ist es von Vorteil wenn man VB beherscht, da man dort die Grundlagen bereits weiss und nicht noch einmal neu lernen muss.
Aber ohne Literatur wirst du nicht weit kommen.

Bei VB konnstest du mittels Befehlen und API Aufrufen arbeiten. Es gab Klassen und eine Art Vererbung, auch konnte man zur Not noch Plugins erstellen. Unter .Net verwendet man keine API’s mehr! Dafür gibt es Klassen! Im Framework hast du glaube soetwas an die 8000 Klassen, die eigentlich alles bieten, was man sich nur vorstellen kann :smile:
Was die Sache mit den eigenen Klassen / Vererbung, Polymorphie etc. angeht. Nunja wenn du dich da reinpfitzt wirst du sehen, was wirkliche Klassen sind, nicht wie unter VB. Auch ist das erstellen von Interfaces ein Klacks.

Aber wie gesagt, dazu musst du erst die Grundlagen beherschen und die bekommst du nur aus einem Buch und dann via Learning by Doing!

Es kommt nun darauf an, was du für eine Ausdauer hast und wie leicht dir das Lernen faellt. Desweiteren kommt es darauf an, ob du nur eine Consolen Anwendung schreiben möchtest oder halt mit Windows Form :s

Ein Programm zu erstellen, was „Hello World“ anzeigt, hast du in nicht einmal 2 Minuten gebaut. Möchtest du aber komplexere Programme tippseln, die auch stabil laufen, dann könnte es eine Weile dauern, bis du es kannst.

Auf deine Frage hin, ob es schwer und viel ist .Net zu berherschen, so gehe ich mal von mir aus und sage „JA“ Aber der Aufwand lohnt sich!

Besten Danke,

Nichts zu danken :smile:

mfg Joe

MfG Alex

Hi Alex,

Rainer hat dir ja bereits schon geantwortet. Jedoch bin ich da
mit Rainer seiner Aussage in einigen Punkten nicht ganz eins.

wo ist denn die Differenz?

Unter VB konnte man einfach drauf lostippseln und es sich so
beibringen, was nun bei .Net nicht mehr geht!

Aber ohne Literatur wirst du nicht weit kommen.

Aber wie gesagt, dazu musst du erst die Grundlagen beherschen
und die bekommst du nur aus einem Buch und dann via Learning
by Doing!

Auf deine Frage hin, ob es schwer und viel ist .Net zu
berherschen, so gehe ich mal von mir aus und sage „JA“ Aber
der Aufwand lohnt sich!

Das wollte ich schreiben. Ist mir das nicht gelungen? :smile:

Gruß, Rainer

Hallo Rainer,

wo ist denn die Differenz?

Das Kenntniss in VB6.0 bzw, einer anderen Hochsprache dir weiterhelfen.
Du musst nur ein wenig umdenken und von einigen Sachen Abstand nehmen, wie zum Steuerelement Arrays oder den Datentypen, genauso wie Events oder das Errorhandling etc., denn die haben sich geaendert in .Net.

Was die zum bsp. von Nutzen ist,

das du weisst was Objecte sind.
Das man Daten erst declarieren muss.
Das man Daten in einer Klasse ablegen kann
Der Umgang mit Steuerelementen
Der Umgang mit dem Object Browser
Debugging
etc.

Gruß, Rainer

MfG Alex

Hi Alex,

Das Kenntniss in VB6.0 bzw, einer anderen Hochsprache dir
weiterhelfen.

OK, so allgemein gehalten, stimme ich Dir zu. Ich hatte gemeint, daß speziell VB6 statt Delphi keinen Vorteil bringt.

Du musst nur ein wenig umdenken und von einigen Sachen Abstand
nehmen, wie zum Steuerelement Arrays oder den Datentypen,

Den Datentypen? Das überrascht mich nun doch. :smile:

genauso wie Events

??? Nun verstehe ich noch weniger als vorher. :smile:

oder das Errorhandling etc.,

Das weiß ich schon. :smile: Das ist jetzt, wie schon länger in Java.

denn die haben sich geaendert in .Net.

Was die zum bsp. von Nutzen ist,

das du weisst was Objecte sind.
Das man Daten erst declarieren muss.
Das man Daten in einer Klasse ablegen kann
Der Umgang mit Steuerelementen
Der Umgang mit dem Object Browser
Debugging
etc.

Das ist doch nicht VB spezifisch.

Gruß, Rainer

Hallo Rainer,

nun schreibe ich das hier alles zum zweiten male, da kurz vorm abschicken meine Rechner abgeschmiert ist :s

Den Datentypen? Das überrascht mich nun doch. :smile:

Jups, den Datentyp Currency gibt es nicht mehr. Er schimpft sich nun Decimal. Genauso gibt es den Datentyp Variant auch nicht mehr. Diese schimpft sich Object :smile: Ein Object kann je nach System 32 oder 64 Bit gross sein, welches eigentlich nur einen Zeiger beinhalted der auf den managed Heap zeigt wo das Object liegt :smile:
Das in .NET ALLES Objecte sind das weisst du sicherlich?
Dim TXT as String -> OBJECT!
Ergo entfaellt auch der befehl SET, da ja alles Objecte sind und er nun ueberfluessig ist!

Anbei mal eine Liste, was es unter .NET alles für Datentypen gibt. Die Grösse schreibe ich diesmal aber nicht mit hin :s

Byte
SByte
Short
UShort
Integer
UInteger
Long
ULong
Single
Double
Decimal
Boolean
Char
Date
Object
String

Wie du siehst, sind es einige mehr geworden :smile:

genauso wie Events

??? Nun verstehe ich noch weniger als vorher. :smile:

Events:

Du kannst doch unter VB Events in einer Klasse mit RaiseEvent auslösen. Genauso kannst du doch auf die Ereignisse mittels

Private Withevents XYZ as DeinObject

zugreifen. Unter .NET kannst du zwar die Ereignisse auch mit RaiseEvent auslösen. Aber zum Abfangen des Events musst du einen Handler programmieren.
Ein simples Bsp.

'Form1

public sub DataChange(sName as String)
msgbox (sName)
end sub

Sub StarteFormUndInitialisiere Handler
dim frm as new form2
frm.show()
Addhandler frm.DataChange, Addressof DataChange
End Sub

'Form2

Public Event DataChange(sName as string)

Private Sub LöseEventaus
Raiseevent(Textbox1.Text.toString)
end sub

Wie du siehst schaut das bei .NET ein wenig anders aus.
Vielleicht gibt es noch eine elegantere Lösung, das weiss ich net, weil ich ja noch dabei bin mir das beizubringen :s

Das ist doch nicht VB spezifisch.

Richtig aber bei VB.NET geht das debuggen, Haltepunkte setzen, Variablen überwachen etc. genauso wie unter VB6.0 :smile:
Aber am Anfang meines Postings hatte ich geschrieben, das es schon Vorteile mit sich bringt wenn man in einer Hochsprache programmiert hat. Hochsprachen sind dann zum Bsp. c++, Delphi, VB etc . :smile:

Gruß, Rainer

MfG Alex

1 Like

Hi Alex,

nun schreibe ich das hier alles zum zweiten male, da kurz vorm
abschicken meine Rechner abgeschmiert ist :s

Klingt ja schlimm. Alles wieder IO?

Den Datentypen? Das überrascht mich nun doch. :smile:

Jups, den Datentyp Currency gibt es nicht mehr. Er schimpft
sich nun Decimal. Genauso gibt es den Datentyp Variant auch
nicht mehr. Diese schimpft sich Object :smile: Ein Object kann je
nach System 32 oder 64 Bit gross sein, welches eigentlich nur
einen Zeiger beinhalted der auf den managed Heap zeigt wo das
Object liegt :smile:
Das in .NET ALLES Objecte sind das weisst du sicherlich?
Dim TXT as String -> OBJECT!
Ergo entfaellt auch der befehl SET, da ja alles Objecte sind
und er nun ueberfluessig ist!

Anbei mal eine Liste, was es unter .NET alles für Datentypen
gibt. Die Grösse schreibe ich diesmal aber nicht mit hin :s

Byte
SByte
Short
UShort
Integer
UInteger
Long
ULong
Single
Double
Decimal
Boolean
Char
Date
Object
String

Ach sooooo, bereinigt. :smile: So sieht das gut aus.

Wie du siehst, sind es einige mehr geworden :smile:

Ja, um die, die mir in VB6 gefehlt haben. :smile:

genauso wie Events

??? Nun verstehe ich noch weniger als vorher. :smile:

Events:

Du kannst doch unter VB Events in einer Klasse mit RaiseEvent
auslösen. Genauso kannst du doch auf die Ereignisse mittels

Private Withevents XYZ as DeinObject

zugreifen. Unter .NET kannst du zwar die Ereignisse auch mit
RaiseEvent auslösen. Aber zum Abfangen des Events musst du
einen Handler programmieren.
Ein simples Bsp.

'Form1

public sub DataChange(sName as String)
msgbox (sName)
end sub

Sub StarteFormUndInitialisiere Handler
dim frm as new form2
frm.show()
Addhandler frm.DataChange, Addressof DataChange
End Sub

'Form2

Public Event DataChange(sName as string)

Private Sub LöseEventaus
Raiseevent(Textbox1.Text.toString)
end sub

Wie du siehst schaut das bei .NET ein wenig anders aus.
Vielleicht gibt es noch eine elegantere Lösung, das weiss ich
net, weil ich ja noch dabei bin mir das beizubringen :s

OK, ich dachte bei Deinem Kommentar an die Ereignisse der Steuerelemente. :smile: Na, ich hoffe auch, daß das noch einfacher geht, das ist ja zum Abgewöhnen. *fg*

Das ist doch nicht VB spezifisch.

Richtig aber bei VB.NET geht das debuggen, Haltepunkte setzen,
Variablen überwachen etc. genauso wie unter VB6.0 :smile:

Ein Pluspunkt! :smile:

Aber am Anfang meines Postings hatte ich geschrieben, das es
schon Vorteile mit sich bringt wenn man in einer Hochsprache
programmiert hat. Hochsprachen sind dann zum Bsp. c++, Delphi,
VB etc . :smile:

Ja, ist klar.

Danke für die Erklärung!

Gruß, Rainer

Hi Alex,

Hallo Rainer,

Klingt ja schlimm. Alles wieder IO?

Nein Nein war net schlimm. Hatte nur nen BlueScreen bekommen :s
Ist manchmal so wenn ich ein bestimmtest Prog anhabe. Keine Ahnung woran das liegt :s

Ja, um die, die mir in VB6 gefehlt haben. :smile:

welchen würden Dir denn fehlen? Vielleicht kann man da ein wenig improvisieren?

OK, ich dachte bei Deinem Kommentar an die Ereignisse der
Steuerelemente. :smile:

Nein, der Zugriff ist nach wie vor der selbe :smile: Einfach Event auswaehlen und drauf lostippseln :smile:

Na, ich hoffe auch, daß das noch
einfacher geht, das ist ja zum Abgewöhnen. *fg*

Naja , so schwer ist das nicht. Eigentlich ganz simple und einleuchtend :smile: Schlimmer ist es wenn du eine Form beenden magst. Da gibt es 4 Möglichkeiten oder genauso den Aufruf einer Form :smile:
Du kannst den Showdialog nutzen oder das Show(). Je nachdem verhaelt sich dann das prog anders. Aber .NET baut auf Klassen auf. Deswegen nehme ich immer fein und brav "Dim Variable as NEW Formname :smile:

Aber du schreibst zum abgewöhnen? Was gefaellt dir denn daran nicht?
Scheinbar weisst du nicht doe Vorteile vom .NET *zwinker*
Du kannst Directorys ueberwachen, mit nur 2 oder 3 Zeilen Code.
Ne Email schreiben mit einer zeile Code. Ok das anmelden auf den Server bedarf nochmal eine Zeile :wink:

Auch ist die Anchor Eigenschaft der Steuerelement eine, die man nach einmaligen Gebrauch nicht mehr missen möchte *zwinker* Wenn ich da an VB 6.0 denke, was wir da improvisiert haben und teilweise Klassen geschrieben habe, die mehrere hundert Zeilen hatte, oje oje.

Danke für die Erklärung!

Nichts zu danken :smile: Mach ich doch gerne :smile:

Gruß, Rainer

MfG Alex

Hi Alex,

Ist manchmal so wenn ich ein bestimmtest Prog anhabe. Keine
Ahnung woran das liegt :s

OK, darum kümmern wir uns ein anderes mal.

Ja, um die, die mir in VB6 gefehlt haben. :smile:

welchen würden Dir denn fehlen? Vielleicht kann man da ein
wenig improvisieren?

Jeweils ‚unsigned‘, z.B. für Counter.

Aber .NET baut auf Klassen
auf. Deswegen nehme ich immer fein und brav "Dim Variable as
NEW Formname :smile:

OK, das ist eben Gewohnheitssache.

Aber du schreibst zum abgewöhnen? Was gefaellt dir denn daran
nicht?

Zu viel Code, das sieht umständlich aus.

Scheinbar weisst du nicht doe Vorteile vom .NET *zwinker*

Das ist absolut korrekt, was ich bisher von .NET gesehen habe war meist viel umständlicher um zum selben Ergebnis zu kommen, wie mit VB6. Die einzige Ausnahme, die ich kenne ist ‚ping‘, das ich in VB6 umständlich nachbauen muss, von dem ich weiß, daß es in .NET geht.

Du kannst Directorys ueberwachen, mit nur 2 oder 3 Zeilen
Code.

Klingt gut!

Ne Email schreiben mit einer zeile Code. Ok das anmelden auf
den Server bedarf nochmal eine Zeile :wink:

Das klingt auch gut! :smile:

Auch ist die Anchor Eigenschaft der Steuerelement eine, die
man nach einmaligen Gebrauch nicht mehr missen möchte
*zwinker* Wenn ich da an VB 6.0 denke, was wir da improvisiert
haben und teilweise Klassen geschrieben habe, die mehrere
hundert Zeilen hatte, oje oje.

ja, mir ist schon klar, daß .NET sicher Vorteile bringt, ich kenne sie nur nicht und habe bisher keinen Grund gehabt, mich damit zu befassen.

Zum Umstieg benötigt man Zeit und Geld für Literatur, mir fehlt Beides. :smile:

Gruß, Rainer

DA habe ich ja wieder was losgetreten:stuck_out_tongue:

Ich danke euch für die ausführliche antwort.!!!
Werde erstmal meine laufenden Projekte beenden und mich danach evtl. mal an NET trauen…

Anno antwortete oben auf die frage:

Ich habe immer probleme von meinem Nokia Mobil eine Antwort
auf einen AT Befehl zu bekommen. Das problem ist M$ bekannt es
gibt aber so keine Lösung…

mit

Hm, ist schwer vorstellbar. Aber nungut :smile:

Hat von euch zufällig gerade VB6 offen und sein Handy am PC angeschlossen ??

Schafft es jemand an sein Mobile (handy) einen AT befehl zu schicken und die Antwort in eine Msgbox oder wie auch immer auszugeben ?

Ich habe es nicht geschafft. Evtl habe ich aber einen Fehler gemacht…

mfg joe

Hi Joe,

DA habe ich ja wieder was losgetreten:stuck_out_tongue:

*gg* das ist nichts ungewöhnliches, Alex erklärt mir so etwas öfter. Ich nehme aner an, daß das auch von allgemeinem Interesse ist. :smile:

Ich danke euch für die ausführliche antwort.!!!
Werde erstmal meine laufenden Projekte beenden und mich danach
evtl. mal an NET trauen…

Wie gesagt, wenn Du .NET anfangen willst, dann mit Literatur und gründlich lernen, eher weniger auf das Bekannte vertrauen. Dann wird .NET Vorteile bringen.

Anno antwortete oben auf die frage:

Ich habe immer probleme von meinem Nokia Mobil eine Antwort
auf einen AT Befehl zu bekommen. Das problem ist M$ bekannt es
gibt aber so keine Lösung…

mit

Hm, ist schwer vorstellbar. Aber nungut :smile:

Hat von euch zufällig gerade VB6 offen und sein Handy am PC
angeschlossen ??

Noch nie versucht. Das Handy verwende ich nur zum telefonieren, die anderen Funktionen bräuchte es nicht. :smile:

Gruß, Rainer

Hi Alex,

Hallo Rainer,

Jeweils ‚unsigned‘, z.B. für Counter.

du meinst Vorzeichenlose Zahlen. hmm, nagut du hast dann ergo unter VB genuegend Alternativen zur Verfügung :smile:
Von daher ist es net so tragisch :smile:
Ein Long reicht, ja in den meisten Faellen aus :smile:

OK, das ist eben Gewohnheitssache.

Einmal daran gewöhnt, möchtest du es net mehr anders machen *zwinker*
Das kannst du in VB6 uebrigens auch machen. Das weisst du?
Übrigens ein Aufruf, via Formname. Show ooder halt ShowDialog() geht auch :smile: Macht man aber net mehr :smile:

Aber du schreibst zum abgewöhnen? Was gefaellt dir denn daran
nicht?

Zu viel Code, das sieht umständlich aus.

Wo ist das denn viel Code?
Wenn du mal schaust, was die Routine gemacht hat. Versuche das mal unter VB6 zu machen. Dann schreibst sicherlich 20 mal soviel :confused:

Das ist absolut korrekt, was ich bisher von .NET gesehen habe
war meist viel umständlicher um zum selben Ergebnis zu kommen,
wie mit VB6. Die einzige Ausnahme, die ich kenne ist ‚ping‘,
das ich in VB6 umständlich nachbauen muss, von dem ich weiß,
daß es in .NET geht.

Es gibt da soviel Dinge Rainer :smile:
Der Nachteil ist nur, man muss wissen in welcher Klasse sie Stehen. Als Namespace und Assembly :smile:
Aber das kommt mit der Zeit und selbst wenn gibt es noch die Hilfe wo man nachschauen kann :smile:
Aber in diesem Zusammenhang möchte mal noch fix etwas eraehnen

Nachteil: Es muss das Framework installiert sein!
Vorteil: Ist das Framework installiert, reicht es, wenn du nur die EXE Datei auslieferst :wink:

ja, mir ist schon klar, daß .NET sicher Vorteile bringt, ich
kenne sie nur nicht und habe bisher keinen Grund gehabt, mich
damit zu befassen.

Wenn du dich mit der Materie auseinander setzt, bekommst du sehr schnell die Vorteile mit!
Ok, ich bin ehrlich. .NET ist sehr schwer :confused: und gerade zum Anfang, wo noch die Consolen Applicationen kommen, auch ein wenig langweilig :s
Es ist halt viel Theorie. Aber in welcher Hochsprache ist das nicht so?

Auch ist der Dateizugriff, nen bissl gewöhnungsbeduerftig. Aber da kann man zur Not den VB6 Syntax verwenden :smile:

Zum Umstieg benötigt man Zeit und Geld für Literatur, mir
fehlt Beides. :smile:

Hm, ok das sind 2 super Agumente! Wobei bei einem koennte ich Dir helfen und dir ein super Buch zukommen lassen. Hat knapp 1050 Seiten und erklaert alles haargenau, vom Urschleim auf :smile:
Wenn du das Buch durchhast und auch verstanden, was nicht gerade in 3 oder 4 Monaten zu schaffen ist :s, dann bist du in der Lage komplexe , stabile Programme zu schreiben und scheust dann keiner Herausforderung mehr :smile: Ist zumindestens mein Eindruck :smile:

Gruß, Rainer

MfG Alex

A hoi,
eine liste mit AT befehlen gibt es bei nobbi
http://www.nobbi.com/atgsm.htm
Ihr möchtet doch bestimmt auch gern mal nen AT befehl vom handy auswerten.

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

Hi Alex,

Von daher ist es net so tragisch :smile:

stimmt. :smile:

OK, das ist eben Gewohnheitssache.

Einmal daran gewöhnt, möchtest du es net mehr anders machen
*zwinker*
Das kannst du in VB6 uebrigens auch machen. Das weisst du?

Nein. Wozu es gut ist, eine Variable als Objekt zu deklarieren habe ich auch noch nicht verstanden.

Aber du schreibst zum abgewöhnen? Was gefaellt dir denn daran
nicht?

Zu viel Code, das sieht umständlich aus.

Wo ist das denn viel Code?

Ja, OK, geht. :smile:

Wenn du mal schaust, was die Routine gemacht hat. Versuche das
mal unter VB6 zu machen. Dann schreibst sicherlich 20 mal
soviel :confused:

So umständlich ist es gar nicht, ein Ereignis auszulösen. ich mag Vb jetzt aber nicht starten, Du weißt selbst, wie das aussieht. :smile:

Es gibt da soviel Dinge Rainer :smile:
Der Nachteil ist nur, man muss wissen in welcher Klasse sie
Stehen. Als Namespace und Assembly :smile:
Aber das kommt mit der Zeit und selbst wenn gibt es noch die
Hilfe wo man nachschauen kann :smile:
Aber in diesem Zusammenhang möchte mal noch fix etwas erwaehnen

Nachteil: Es muss das Framework installiert sein!

Das ist klar, ist mir letzte Woche erst passiert. :smile:

Vorteil: Ist das Framework installiert, reicht es, wenn du nur
die EXE Datei auslieferst :wink:

Mit Pech dauert die Installation aber auch zwei Stunden oder ist vorher im Papierkorb. Wenn erst das Framework angefordert wird, dann der fehlende Installer bemängelt wird und der Kunde keinen Entpacker installiert hat, verzichtet er eher auf die Installation.

ja, mir ist schon klar, daß .NET sicher Vorteile bringt, ich
kenne sie nur nicht und habe bisher keinen Grund gehabt, mich
damit zu befassen.

Wenn du dich mit der Materie auseinander setzt, bekommst du
sehr schnell die Vorteile mit!

Ich habe einfach nur die Express Version installiert … und nichts ging. :frowning:

Ok, ich bin ehrlich. .NET ist sehr schwer :confused: und gerade zum
Anfang, wo noch die Consolen Applicationen kommen, auch ein
wenig langweilig :s

Konsole? Das muss ja nun wirklich nicht sein. Wenn ich auf der Konsole herumklimpern will, nehme ich einen 286er oder Linux. *fg* Was soll ich in der Steinzeit?

Es ist halt viel Theorie. Aber in welcher Hochsprache ist das
nicht so?

VB6. :smile: Nach der Installation kann man nicht alles, aber man bekommt ein lauffähiges Programm zusammen.

Zum Umstieg benötigt man Zeit und Geld für Literatur, mir
fehlt Beides. :smile:

Hm, ok das sind 2 super Agumente! Wobei bei einem koennte ich
Dir helfen und dir ein super Buch zukommen lassen. Hat knapp
1050 Seiten und erklaert alles haargenau, vom Urschleim auf :smile:
Wenn du das Buch durchhast und auch verstanden, was nicht
gerade in 3 oder 4 Monaten zu schaffen ist :s, dann bist du in
der Lage komplexe , stabile Programme zu schreiben und scheust
dann keiner Herausforderung mehr :smile: Ist zumindestens mein
Eindruck :smile:

Ich muss ja nicht gleich alles verstehen, der Einstieg wäre sicher nützlich und sinnvoll. Das wäre dann etwas für den sommerurlaub. :smile: Am Abend kann ich mich dafür nicht mehr gut genug konzentrieren.

Gruß, Rainer

Hallo Rainer,

Nein. Wozu es gut ist, eine Variable als Objekt zu deklarieren
habe ich auch noch nicht verstanden.

Somit hast du zum Bsp. keinen Formuebergreifenden Zugriff :smile:
Denke mal an Notepad! Du hast eine MDIForm. Dazu eine andere Form mit einer Textbox drauf. Du erstellst nun ein neues Dokument. Was machst du in dem Falle? Du erstellst ein Object von der 2 Form und zeigst sie an! Nun möchte er noch ein neues Dokument haben, aber das alte net schliessen! Ergo, du erstellst wieder ein Object von der Form und zeigst diese an.

Zum Schluss dann kannst du alle „Objecte“ durchlaufen und sie speichern! Desweiteren denke mal an Klassen. Was kann man alles mit ihnen machen etc. Klassen sind Objecte!

Wenn du mal schaust, was die Routine gemacht hat. Versuche das
mal unter VB6 zu machen. Dann schreibst sicherlich 20 mal
soviel :confused:

So umständlich ist es gar nicht, ein Ereignis auszulösen. ich
mag Vb jetzt aber nicht starten, Du weißt selbst, wie das
aussieht. :smile:

Ja richtig. Nun erweitern wir das Demo mal. Du hast die Option die Formulare in der Grösse zu ändern, was nichts unübliches ist.
Dabei sollen alle OCX, sich der Grösse anpassen.
Unter .NET nur eine Eigenschaft eingestellt. Unter VB6 ? Ne ganze Menge Code :s

Mit Pech dauert die Installation aber auch zwei Stunden oder
ist vorher im Papierkorb. Wenn erst das Framework angefordert
wird, dann der fehlende Installer bemängelt wird und der Kunde
keinen Entpacker installiert hat, verzichtet er eher auf die
Installation.

Wenn du ein Prog, prof. zum Einsatz bringen möchtest, so gehört schon ein dementsprechendes Setup mit dazu :smile: Das streite ich garnicht ab, somal meistens noch irgendwelche zusaetzlichen Dateien, wo Programmspezifische Daten drinnen stehen, mit ausgeliefert werden muessen. Denken wir nur einmal daran, du erstellst selbst eine DLL oder ein OCX und das hat das Framework natuerlich nicht :s

Das Framework ist so aehnlich wie die Runtimes in VB. Nur das es umfangreicher ist, weil darin schon alles enthalten ist (Klassen), was man zum grössten Teil mittels VB ueber API’s gemacht hat.
Bei VB musste man nun noch die API’s mit ausliefern, was du ergo unter .NET nicht machen musst :smile:

Zu der Sache mit dem Installieren vom Framework. Ok, ich gebe zu das das ne erhebliche Zeit in Anspruch nimmt! Nur unter gewissen OS wird es glaube schon mit ausgeliefert oder irre ich mich nun ?

Die Installation vom Framework ist eigentlich nicht gross, es dauert nur solange weil, dazu muss ich einmal ein wenig weiter ausholen :s

Unter VB6 hast du den Source sturr programmiert und dann compiliert und fertig war die EXE. In der IDE konntest du mittels STRG+F5 oder F5 das Prog testen. Es wurde vorher nicht überprüft, ob der Syntax richtig ist etc. Sondern dann erst bemaengelt! Entweder beim compilieren oder wenn das Prog an die Stelle kam!

Unter .NET ist das anders. Du musst dir vorstellen. Du tippst eine Zeile und das Programm wird sofort in einen, ich sage mal Zwischenzustand ( Intermediate Language, kurz gesagt IL) compiliert!
Der Prozessor kann damit aber nichts anfangen, sondern nur der JITTER!

Wenn du nun etwas schreibst, so bekommt der JITTER das sofort mit, wenn etwas an dem Source faul ist oder Fehleranfaellig wirkt. Zum Bsp. eine declaration einer Variablen die nicht verwendet wird bekommst du sofort angezeigt(Warunung)!

Wenn du es nun startest, kommt der sogenannte JITTER (Just in Time) Compilier zum Einsatz. Dieser uebersetzt dir aus dem IL den Source in lauffaehigen MaschinenCode den dein Prozessor dann versteht und verarbeiten kann :smile:

Der Jitter selbst ist aber so optimiert das er nur die benötigten Methoden einer Klassen compiliert die als naechstes benötigt werden.
Sicher bedarf es ein wenig an Zeit den Source vom IL in den MaschinenCode zu uebersetzen, aber das holt das programm locker wieder raus, da der JITTER viele effizienteren Code erzeugen kann, als jeder andere Compiler!
Warum das so ist? Schau einmal das Prog weiss später nicht auf welcher Maschine er laufen wird. Ergo wird stur ein MaschinenCode erzeugt der dann auf lfd. Maschienen laufen muss ( Sei es ein Pentium4 prozessor oder ein AMD etc). Der JITTER jedoch kennt die Eigenheiten der Maschine worauf er laufen soll und kann so auf die Besonderheiten eingehen und beruecksichtigen.

So nun aber zum Thema zurueck :smile:

Die Installation des Framework dauert solange, weil die zu installierenden Dateien in der IL vorliegen und durch den JITTER erst compiliert werden (Somit optimale Anpassung an dein System)

Ergo wird dann auch dein zu installierendes Prog schneller laufen, als eines was du zum Bsp. mit VB6 installiert hast!

Sicher fragst du dich nun, he , was und wie ? Woher will der Programmierer wissen, wo sein prog mal laeuft etc.

Nehmen wir mal ein Bsp. (Ist das Netzwerk Online)

Public Class Form1

 Private Sub Form1\_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 Me.Text = System.Windows.Forms.SystemInformation.PowerStatus.PowerLineStatus.ToString
 End Sub
End Class

Wie wir hier sofort sehen,
Namenspace: „System.Windows.Form“
Klasse Systeminformation
Member: Powerstatus
Eigenschaft : PowerlineStatus

Die Klasse ist ja im Framework enthalten und auf diese greife ich zu. Das Framework wurde ja bei der Installation auf dein „Rechner ( CPU und noch andere Feinheiten)“ abgestimmt, somit wäre das Prog optimal compiliert und läuft ergo auch schneller als eine unter VB6 erstellte Anwendung :smile:

Ich habe einfach nur die Express Version installiert … und
nichts ging. :frowning:

Naja es kommt darauf an, was du vesucht hast :smile:
Ohne ein Buch ist es schlecht was lauffaehiges zusammenzubekommen :s
Ich selbst tippsel mit dem Visual Studio und da VB, sprich VB9 :smile:

Konsole? Das muss ja nun wirklich nicht sein. Wenn ich auf der
Konsole herumklimpern will, nehme ich einen 286er oder Linux.
*fg* Was soll ich in der Steinzeit?

*Feix* du weisst doch aber wie das ist. Eine Konsolenanwendung ist optimal um einem die Grundlagen zu verklickern :s
Arbeitest du mit Form’s musst du auf vieles achten und das erfordert wiederrum die Grundlagen :s
Ist ja bei C++ glaube ich genauso. Aber wolltest du das mal nicht lernen *gruebel*

Konsolen Anwendungen finden auch heute noch Anwendung. Man muss nicht immer etwas in der Konsole ausgeben. Brauchst du ein Prog wo man nichts siehst und nur sturr seinen Dienst tut, was spricht dann da gegen eine Konsolen Anwendung?
Mir faellt zwar gerade kein Bsp. ein, aber die Erklärung war gut :stuck_out_tongue:

VB6. :smile: Nach der Installation kann man nicht alles, aber man
bekommt ein lauffähiges Programm zusammen.

Ja richtig, nur ist es fraglich ob es dann stabil läuft Rainer! Versuche dich mal an deine ersten Gehversuche mit VB6. Schau dir mal den Source. ICh denke mal heute würdest du den Kopf darueber schuetteln oder? *zwinker*

Ich muss ja nicht gleich alles verstehen, der Einstieg wäre
sicher nützlich und sinnvoll. Das wäre dann etwas für den
sommerurlaub. :smile: Am Abend kann ich mich dafür nicht mehr gut
genug konzentrieren.

Nunja, wenn du es haben magst, dann sage einfach bescheid und ich lasse es dir mal zukommen :smile: Musst nur sagen ob du ein ausführliches haben magst, oder eines wo man schneller etwas sieht. Also das nicht die kompletten Grundlagen vermittelt, sondern nur das nötigste :smile:

Gruß, Rainer

MfG Alex

Hi Alex,

Nein. Wozu es gut ist, eine Variable als Objekt zu deklarieren
habe ich auch noch nicht verstanden.

Somit hast du zum Bsp. keinen Formuebergreifenden Zugriff :smile:

Public … :smile:

Denke mal an Notepad! Du hast eine MDIForm. Dazu eine andere
Form mit einer Textbox drauf. Du erstellst nun ein neues
Dokument. Was machst du in dem Falle? Du erstellst ein Object
von der 2 Form und zeigst sie an! Nun möchte er noch ein neues
Dokument haben, aber das alte net schliessen! Ergo, du
erstellst wieder ein Object von der Form und zeigst diese an.

OK, das wird mit VB6 etwas umständlicher.

Zum Schluss dann kannst du alle „Objecte“ durchlaufen und sie
speichern! Desweiteren denke mal an Klassen. Was kann man
alles mit ihnen machen etc. Klassen sind Objecte!

Ja, das war mir schon klar. Der Vorteil von OO ist mir schon klar, speziell, wenn an einem Projekt mehrere Entwickler beteiligt sind. Das habe ich bei meinem Sohn erlebt, der beim Praktikum für unser Intranet in einer Gruppe an einem größeren Projekt (Urlaubsplanung für den Konzern) mitgearbeitet hat. (Java)

Ja richtig. Nun erweitern wir das Demo mal. Du hast die Option
die Formulare in der Grösse zu ändern, was nichts unübliches
ist.
Dabei sollen alle OCX, sich der Grösse anpassen.
Unter .NET nur eine Eigenschaft eingestellt. Unter VB6 ? Ne
ganze Menge Code :s

Ja, das habe ich schon getan … :smile: Schön, daß das in .NET jetzt einfacher ist.

Wenn du ein Prog, prof. zum Einsatz bringen möchtest, so
gehört schon ein dementsprechendes Setup mit dazu :smile:

Das war nur meine letzte Begegnung mit .NET. :smile: Ein Kunde hat einen eigenen Reader für ein eigenes Berichtsformat geliefert …

Das
streite ich garnicht ab, somal meistens noch irgendwelche
zusaetzlichen Dateien, wo Programmspezifische Daten drinnen
stehen, mit ausgeliefert werden muessen. Denken wir nur einmal
daran, du erstellst selbst eine DLL oder ein OCX und das hat
das Framework natuerlich nicht :s

So lange das erstellen eigener OCX noch so relativ einfach geht wie in VB6 bin ich schon zufrieden. :smile:

Zu der Sache mit dem Installieren vom Framework. Ok, ich gebe
zu das das ne erhebliche Zeit in Anspruch nimmt! Nur unter
gewissen OS wird es glaube schon mit ausgeliefert oder irre
ich mich nun ?

Bei XP ist es nicht dabei, über Vista weiß ich noch zu wenig.

Die Installation vom Framework ist eigentlich nicht gross, es
dauert nur solange weil, dazu muss ich einmal ein wenig weiter
ausholen :s

Unter VB6 hast du den Source sturr programmiert und dann
compiliert und fertig war die EXE. In der IDE konntest du
mittels STRG+F5 oder F5 das Prog testen.

Oder ‚Starten, vollständige Kompilierung‘ klicken. Dann wird auch gründlich geprüft.

Es wurde vorher nicht
überprüft, ob der Syntax richtig ist etc. Sondern dann erst
bemaengelt! Entweder beim compilieren oder wenn das Prog an
die Stelle kam!

Unter .NET ist das anders. Du musst dir vorstellen. Du tippst
eine Zeile und das Programm wird sofort in einen, ich sage mal
Zwischenzustand ( Intermediate Language, kurz gesagt IL)
compiliert!
Der Prozessor kann damit aber nichts anfangen, sondern nur der
JITTER!

Wenn du nun etwas schreibst, so bekommt der JITTER das sofort
mit, wenn etwas an dem Source faul ist oder Fehleranfaellig
wirkt. Zum Bsp. eine declaration einer Variablen die nicht
verwendet wird bekommst du sofort angezeigt(Warunung)!

Wenn die Meldung nicht zu oft kommt … Das Programm kann ja nicht wissen, was ich noch tippen will. :smile:

Wenn du es nun startest, kommt der sogenannte JITTER (Just in
Time) Compilier zum Einsatz. Dieser uebersetzt dir aus dem IL
den Source in lauffaehigen MaschinenCode den dein Prozessor
dann versteht und verarbeiten kann :smile:

Der Jitter selbst ist aber so optimiert das er nur die
benötigten Methoden einer Klassen compiliert die als naechstes
benötigt werden.
Sicher bedarf es ein wenig an Zeit den Source vom IL in den
MaschinenCode zu uebersetzen, aber das holt das programm
locker wieder raus, da der JITTER viele effizienteren Code
erzeugen kann, als jeder andere Compiler!
Warum das so ist? Schau einmal das Prog weiss später nicht auf
welcher Maschine er laufen wird. Ergo wird stur ein
MaschinenCode erzeugt der dann auf lfd. Maschienen laufen muss
( Sei es ein Pentium4 prozessor oder ein AMD etc). Der JITTER
jedoch kennt die Eigenheiten der Maschine worauf er laufen
soll und kann so auf die Besonderheiten eingehen und
beruecksichtigen.

Das klingt recht interessant.

So nun aber zum Thema zurueck :smile:

Die Installation des Framework dauert solange, weil die zu
installierenden Dateien in der IL vorliegen und durch den
JITTER erst compiliert werden (Somit optimale Anpassung an
dein System)

Die Ursachen waren letzte Woche andere. :smile: Jedes Programm hat erst mal gestreikt, weil etwas anderes gefehlt hat.

Ergo wird dann auch dein zu installierendes Prog schneller
laufen, als eines was du zum Bsp. mit VB6 installiert hast!

Sicher fragst du dich nun, he , was und wie ? Woher will der
Programmierer wissen, wo sein prog mal laeuft etc.

Nehmen wir mal ein Bsp. (Ist das Netzwerk Online)

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Me.Text =
System.Windows.Forms.SystemInformation.PowerStatus.PowerLineStatus.ToString
End Sub
End Class

Schönes Beispiel! *fg* So ein Baum stört mich erheblich, daran muss ich mich aber gewöhnen. Wie man in Windows immer wieder vergisst, wo bestimmte Einstellungen geändert werden können, werde ich in .NET wohl immer wieder suchen, wo eine bestimmte Eigenschaft zu finden ist. :frowning:
VB6 ist da schön übersichtlich.

Wie wir hier sofort sehen,
Namenspace: „System.Windows.Form“
Klasse Systeminformation
Member: Powerstatus
Eigenschaft : PowerlineStatus

Die Klasse ist ja im Framework enthalten und auf diese greife
ich zu. Das Framework wurde ja bei der Installation auf dein
„Rechner ( CPU und noch andere Feinheiten)“ abgestimmt, somit
wäre das Prog optimal compiliert und läuft ergo auch schneller
als eine unter VB6 erstellte Anwendung :smile:

Ich habe einfach nur die Express Version installiert … und
nichts ging. :frowning:

Naja es kommt darauf an, was du vesucht hast :smile:

Das weiß ich nicht mehr. Etwas ganz simples, etwa in eine Textzeile etwas eintippen und die Zeile in eine Liste einfügen. Ich habe noch nicht mal den Text in eine Stringvariable schreiben können o.ä. :smile:

Ohne ein Buch ist es schlecht was lauffaehiges
zusammenzubekommen :s
Ich selbst tippsel mit dem Visual Studio und da VB, sprich VB9

)

Hab’ ich nicht. :frowning: In der Firma kann ich es nicht ‚anfordern‘, weil ich nicht damit umgehen kann und privat ist mir die Vollversion von Studio viel zu teuer.

Konsole? Das muss ja nun wirklich nicht sein. Wenn ich auf der
Konsole herumklimpern will, nehme ich einen 286er oder Linux.
*fg* Was soll ich in der Steinzeit?

*Feix* du weisst doch aber wie das ist. Eine Konsolenanwendung
ist optimal um einem die Grundlagen zu verklickern :s

Wenn ich da an Bücher denke, die ich kenne … Da komme ich bis zu ‚Hallo Welt‘ und dann ist das Buch zu Ende. Um dann selbst weiter zu kommen fehlen die nötigen Informationen. Wenn mir die Literatur mal wieder erklären will, was ein Bit ist, ist das Zeitverschwendung und die interessanten Informationen übersehe ich.

Arbeitest du mit Form’s musst du auf vieles achten und das
erfordert wiederum die Grundlagen :s

Das soll der Editor erledigen. :smile:

Ist ja bei C++ glaube ich genauso. Aber wolltest du das mal
nicht lernen *gruebel*

Ja, stimmt! :smile: Das hatte ich mir für den Urlaub vorgenommen, dann war der Urlaub um und ich hatte noch nicht mal angefangen. Mein persönliches Trägheitsgesetz. :smile:

Konsolen Anwendungen finden auch heute noch Anwendung. Man
muss nicht immer etwas in der Konsole ausgeben. Brauchst du
ein Prog wo man nichts siehst und nur sturr seinen Dienst tut,
was spricht dann da gegen eine Konsolen Anwendung?
Mir faellt zwar gerade kein Bsp. ein, aber die Erklärung war
gut :stuck_out_tongue:

OK, da hätte ich sogar eine Anwendung. :smile: Ein Kunde sendet per EDI Daten, die werden in einem Parser übersetzt und gedruckt. Dazu muss keine Form sein, aber mir gefällt es trotzdem, wenn ich die Arbeit sehen kann. :smile:

VB6. :smile: Nach der Installation kann man nicht alles, aber man
bekommt ein lauffähiges Programm zusammen.

Ja richtig, nur ist es fraglich ob es dann stabil läuft
Rainer! Versuche dich mal an deine ersten Gehversuche mit VB6.
Schau dir mal den Source. ICh denke mal heute würdest du den
Kopf darueber schuetteln oder? *zwinker*

Ja, ich komme aus dem Schütteln gar nicht mehr heraus. :smile: Aber ohne diese Anwendungen, die ich heute so nicht mehr schreiben würde, hätte ich noch gar keine VB-Anwendung und wäre auch nicht weiter gekommen.

Wenn ich ohne die heutigen Kenntnisse nicht hätte arbeiten können, hätte ich VB6 nie gelernt, einfach aufgegeben.

Ich muss ja nicht gleich alles verstehen, der Einstieg wäre
sicher nützlich und sinnvoll. Das wäre dann etwas für den
sommerurlaub. :smile: Am Abend kann ich mich dafür nicht mehr gut
genug konzentrieren.

Nunja, wenn du es haben magst, dann sage einfach bescheid und
ich lasse es dir mal zukommen :smile: Musst nur sagen ob du ein
ausführliches haben magst, oder eines wo man schneller etwas
sieht. Also das nicht die kompletten Grundlagen vermittelt,
sondern nur das nötigste :smile:

Was hältst Du denn für sinnvoll? … Ich schicke mal eine Mail …

Gruß, Rainer

Hallo Rainer,

Public … :smile:

Womit wir wiederrum bei einem Formuebergreifenden Zugriff waeren :s
Auch sollte man nur als Public declarieren, was wirklich von nöten ist :wink:

OK, das wird mit VB6 etwas umständlicher.

siehst und spätestens ab dem Zeitpunkt geht es nicht mehr ohne Objecte :wink:

Ja, das war mir schon klar. Der Vorteil von OO ist mir schon
klar, speziell, wenn an einem Projekt mehrere Entwickler
beteiligt sind. Das habe ich bei meinem Sohn erlebt, der beim
Praktikum für unser Intranet in einer Gruppe an einem größeren
Projekt (Urlaubsplanung für den Konzern) mitgearbeitet hat.
(Java)

Naja davon haben wir ja noch nicht einmal angefangen *feix* Aber ich denke mal das wir nie in solch eine Situation kommen oder?
Selbst und wenn unter .NET koennte ich Dir eine Klasse vorgeben, die du implementieren musst und in genau die Klasse kann ich schreiben, was du alles machen musst, da ansonsten das Prog nicht compiliert werden kann :smile: Dazu gibt es die schoenen Befehle Mustinherit, MustOverride etc :wink:

Ja, das habe ich schon getan … :smile: Schön, daß das in .NET
jetzt einfacher ist.

Um genau zu sein, je nach Anordnung, 2 bis 5 Mausklicks *grins*

So lange das erstellen eigener OCX noch so relativ einfach
geht wie in VB6 bin ich schon zufrieden. :smile:

Soweit bin ich noch net :s Aber ich denke mal das sich da nur was zu gunsten des Programmiers geaendert hat :wink:

Bei XP ist es nicht dabei, über Vista weiß ich noch zu wenig.

Ich koennte mal nachschauen. Hab ja noch als zweites OS Vista drauf. Aber das mag ich net so :s

Oder ‚Starten, vollständige Kompilierung‘ klicken. Dann wird
auch gründlich geprüft.

Nur bekommst du dann leider erst die Fehler angezeigt und nicht erst beim schreiben :s

Wenn die Meldung nicht zu oft kommt … Das Programm kann ja
nicht wissen, was ich noch tippen will. :smile:

*grins* Auch da habe ich wieder nen Argument. Du kannst a die Prüfung ein und ausschalten. So wie du magst :smile:

Desweiteren. Du hast 2 Anzeigen.

  1. Fehler -> Prog laesst sich net starten -> Ist Sinnvoll
  2. Warnung -> Du bekommst nur einen Hinweis -> Prog laesst sich starten

Nehmen wir mal ein Bsp. .)

du schreibst im Editor
Dim strName as String
Du bekommst eine Warnung angezeigt das du eine Variable definiert hast
aber sie nicht benutzt wird.
(Warning 1 Unused local variable: 'strname'. C:\Dokumente und Einstellungen\Alex\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\WindowsApplication1\Form1.vb 4 13 WindowsApplication1)
Du schreibst weiter
strname="Alex"
Die Warnung erlischt automatisch!
Somit siehst du immer, ob etwas schief geht :wink:

Die Ursachen waren letzte Woche andere. :smile: Jedes Programm hat
erst mal gestreikt, weil etwas anderes gefehlt hat.

Das ist normal, da ja alle versuchen auf das Framework zuzugreifen!

Public Class Form1

Private Sub Form1\_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
 Me.Text =
System.Windows.Forms.SystemInformation.PowerStatus.PowerLineStatus.ToString
 End Sub
End Class

Schönes Beispiel! *fg* So ein Baum stört mich erheblich, daran
muss ich mich aber gewöhnen. Wie man in Windows immer wieder
vergisst, wo bestimmte Einstellungen geändert werden können,
werde ich in .NET wohl immer wieder suchen, wo eine bestimmte
Eigenschaft zu finden ist. :frowning:
VB6 ist da schön übersichtlich.

Ok, ich muss auch immer suchen, in welcher Assembly welche Function steckt :s Aber die Hilfe ist da sehr nuetzlich!
Das ist das selbe wie in VB6. Woher soll ich wissen zum Bsp, welche API mir einen Pixel ausliest?
Bei uns ist es Routine das wir wissen, welche API das ist! Aber vor ein paar Jahren. Was war da? Wir haben auch gesucht!
Und genauso ist unter .NET

Ich habe dir mal ein Bsp. gepostet, was den Netzwerkstatus angezeigt hat. Du hattest gesagt, boar der Baum ist mir zulang!
Ich habe es absichtlich so gemacht, damit man es besser sieht. Sicher kannst du das auch einkuerzen.

Public Class Form1

 Private Sub Form1\_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 Me.Text = SystemInformation.PowerStatus.PowerLineStatus.ToString
 End Sub
End Class

In den Projecteigenschaften, wird hier nur ein Verweis auf den
Namenspace „System.Windows.Forms“ gesetzt. Das ist wie in VB6, einen Verweis setzen!

Alternativ kannst du auch

Imports System.Windows.Forms.SystemInformation

Public Class Form1

 Private Sub Form1\_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 Me.Text = PowerStatus.PowerLineStatus.ToString
 End Sub
End Class

Hier setzen wir Programmspezifisch schon den Verweis (incl. der Klasse:wink:

Das weiß ich nicht mehr. Etwas ganz simples, etwa in eine
Textzeile etwas eintippen und die Zeile in eine Liste
einfügen. Ich habe noch nicht mal den Text in eine
Stringvariable schreiben können o.ä. :smile:

nun enttaeuschst du mich aber :frowning:
Entweder du hast es nicht genug probiert oder hattest einen schlechten Tag gehabt :smile:

'TextBox1 ist die Textbox
'Listbox1 ist die Liste
Dim strWert As String = TextBox1.Text.ToString
ListBox1.Items.Add(strWert)

wobei man das noch einfacher könnte *zwinker* und hier auch keine Sicherheitsüberprüfung ist!
Übrigens, ein Unterschied ist es auch gegenüber VB6 das Listboxen auch Objecte aufnehmen koennen, was logisch ist, da unter .NET alles Objecte sind! Deswegen sollte man auch immer die Methode „toString“ mit aufrufen, das sie das Ergebnis in einen String wandelt!
Legst du nun zum Bsp. die Daten in einer Klasse ab und übergibst,
der Listbox einfach die Klasse , so bekommst du aber den Namen der
Klasse geliefert und nicht die Namen, da intern die toString Methode
aufgerufen wird und diese den Klassennamen zurueckliefert. In dem Falle musst einfach die toString Methode ueberladen, ergo neu
implementieren. :smile: Aber das ist nen anderes Kapitel für sich.

Ich hatte das nur einmal fix erwaehnt, so das du auch erkennst, das es
sehr schwierig ist ohne Vorkenntnisse ein Prog zum laufen zu bekommen!

Hab’ ich nicht. :frowning: In der Firma kann ich es nicht
‚anfordern‘, weil ich nicht damit umgehen kann und privat ist
mir die Vollversion von Studio viel zu teuer.

Das ist mir klar :smile: Aber es gibt die Express Versionen zum
kostenlosen Download und zum probieren aeussert geeignet, da sie auf Deutsch sind und nicht wie meine Version auf Englisch ist :s

Wenn ich da an Bücher denke, die ich kenne … Da komme ich
bis zu ‚Hallo Welt‘ und dann ist das Buch zu Ende. Um dann
selbst weiter zu kommen fehlen die nötigen Informationen. Wenn
mir die Literatur mal wieder erklären will, was ein Bit ist,
ist das Zeitverschwendung und die interessanten Informationen
übersehe ich.

Das ist richtig und das musste auch net studieren. Nur einmal fix
durchlesen und volla, wenn du das schon kennst, weiterblättern :smile:
Die Bücher die ich habe, nunja je nachdem welches Rainer. Erklären
wirklich alles von Vorne bis hinten! Hab mal meine ganzen Buecher hochgeladen und kann sie dir zukommen lassen, aber nur wenn du magst und dir dann auch mal .NET anschaust :stuck_out_tongue:

Das soll der Editor erledigen. :smile:

Das macht er eigentlich auch. Nur kannst du zum Bsp. eine Form auf 4 Varianten entladen! Welche nimmst du und was sind da die Unterschiede?
Was ist der Unterschied zwischen Show und ShowDialog ?
Dabei kann dir der Editor leider nicht helfen :s

Ich hatte irgendwo mal gelesen das es auch unterschiedlich Startmoduse
gibt. Bsp. du hast ein Fenster und das öffnet ein zweites Fenster. Was passiert wenn das 1 Fenster geschlossen wird? Je nach Startmodus wird dann das 2 auch geschlossen oder bleibt offen. Es ist in dem Falle nur die Frage welches Fenster die Nachrichtenschleife abfragt. Und das legst du mit Application.Run oder so glaube fest.
Aber dahin komme ich erst die kommenden Tage :S
Hab den Konsolen Kram bald hinter mir :stuck_out_tongue:

Ja, stimmt! :smile: Das hatte ich mir für den Urlaub vorgenommen,
dann war der Urlaub um und ich hatte noch nicht mal
angefangen. Mein persönliches Trägheitsgesetz. :smile:

*grins* der war gut :wink:
Aber mal was anderes. Würdest du dich an C++ trauen ohne ein Buch?

OK, da hätte ich sogar eine Anwendung. :smile: Ein Kunde sendet
per EDI Daten, die werden in einem Parser übersetzt und
gedruckt. Dazu muss keine Form sein, aber mir gefällt es
trotzdem, wenn ich die Arbeit sehen kann. :smile:

Auch in einer Konsole kann man Daten ausgeben und Einlesen :stuck_out_tongue:

Ja, ich komme aus dem Schütteln gar nicht mehr heraus. :smile:
Aber ohne diese Anwendungen, die ich heute so nicht mehr
schreiben würde, hätte ich noch gar keine VB-Anwendung und
wäre auch nicht weiter gekommen.

Und was waere gewesen, haettest du von Anfang an die entsprechende Literatur gehabt ?
Wieviel morks hatte man damals gemacht, weil man nicht wusste wie es richtig geht :s

Was hältst Du denn für sinnvoll? … Ich schicke mal eine Mail

Beides Rainer :smiley:
Nein mal im Ernst. Ich würde zu dem ausführlichen raten! Auch wenn es schwerer ist, so bekommst du jedoch alles vermittelt und wirst auf div. Sachen aufmerksam gemacht. Auch findest du dort bsp. projecte. Insgesamt habe ich glaube über .NET 5 Bücher / Anleitungen. Ich kann sie dir auch alle schicken. Dann schaust halt mal rein und entscheidest dann selber :smile:

Gruß, Rainer

MfG Alex

Hi Alex,

Das habe ich bei meinem Sohn erlebt, der beim
Praktikum für unser Intranet in einer Gruppe an einem größeren
Projekt (Urlaubsplanung für den Konzern) mitgearbeitet hat.
(Java)

Naja davon haben wir ja noch nicht einmal angefangen *feix*
Aber ich denke mal das wir nie in solch eine Situation kommen
oder?

Oder. :smile: Mein ‚SEVAG‘ ist von 1972 und liegt nun doch im Sterben. Auf Hilfsarbeiten habe ich wenig Lust … :smile: Mit VB6 komme ich aber eher nicht ins Rechenzentrum.

Wenn die Meldung nicht zu oft kommt … Das Programm kann ja
nicht wissen, was ich noch tippen will. :smile:

*grins* Auch da habe ich wieder nen Argument. Du kannst a die
Prüfung ein und ausschalten. So wie du magst :smile:

*gg* wie immer. Das hätte ich wissen müssen. :frowning:

Ok, ich muss auch immer suchen, in welcher Assembly welche
Function steckt :s Aber die Hilfe ist da sehr nuetzlich!
Das ist das selbe wie in VB6. Woher soll ich wissen zum Bsp,
welche API mir einen Pixel ausliest?

API-Guide. Aber OK, da muss man sich auch ‚einarbeiten‘. Wenn es zu finden ist, ist das OK. Du schreibst ja, die Hilfe gibt das Auskunft, das ist mehr als genug.

Bei uns ist es Routine das wir wissen, welche API das ist!
Aber vor ein paar Jahren. Was war da? Wir haben auch gesucht!

Oder bei w-w-w gefragt. Ich glaube, ich kenne das richtige Brett. :smile:

Ich habe dir mal ein Bsp. gepostet, was den Netzwerkstatus
angezeigt hat. Du hattest gesagt, boar der Baum ist mir
zulang!
Ich habe es absichtlich so gemacht, damit man es besser sieht.
Sicher kannst du das auch einkuerzen.

Ja, ich habe mir das noch einmal angesehen … Das ist nicht wirklich kompliziert, Du hast ja Recht. :smile:

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Me.Text =
SystemInformation.PowerStatus.PowerLineStatus.ToString
End Sub
End Class

In den Projecteigenschaften, wird hier nur ein Verweis auf den
Namenspace „System.Windows.Forms“ gesetzt. Das ist wie in VB6,
einen Verweis setzen!

Alternativ kannst du auch

Imports System.Windows.Forms.SystemInformation

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Me.Text = PowerStatus.PowerLineStatus.ToString
End Sub
End Class

Hier setzen wir Programmspezifisch schon den Verweis (incl.
der Klasse:wink:

Das verstehe ich dann später. Heute ist mir nicht nach Lernen. :smile:

Das weiß ich nicht mehr. Etwas ganz simples, etwa in eine
Textzeile etwas eintippen und die Zeile in eine Liste
einfügen. Ich habe noch nicht mal den Text in eine
Stringvariable schreiben können o.ä. :smile:

nun enttaeuschst du mich aber :frowning:
Entweder du hast es nicht genug probiert oder hattest einen
schlechten Tag gehabt :smile:

Das kann auch an der Express-Version gelegen haben oder einem Fehler von mir bei der Installation? Ich habe jedenfalls keine Intellisense und die fehlt mir doch sehr!

'TextBox1 ist die Textbox
'Listbox1 ist die Liste
Dim strWert As String = TextBox1.Text.ToString
ListBox1.Items.Add(strWert)

wobei man das noch einfacher könnte *zwinker* und hier auch
keine Sicherheitsüberprüfung ist!
Übrigens, ein Unterschied ist es auch gegenüber VB6 das
Listboxen auch Objecte aufnehmen koennen, was logisch ist, da
unter .NET alles Objecte sind! Deswegen sollte man auch immer
die Methode „toString“ mit aufrufen, das sie das Ergebnis in
einen String wandelt!

OK.

Ich hatte das nur einmal fix erwaehnt, so das du auch
erkennst, das es
sehr schwierig ist ohne Vorkenntnisse ein Prog zum laufen zu
bekommen!

Mir ist es nicht gelungen, aber vermutlich, weil ich zu sehr an VB6 gedacht habe. Eingetippt: ‚Text1.‘ und gewundert, weil der Editor auf den Punkt nicht reagiert hat … Egal, das ist Geschichte.

Hab’ ich nicht. :frowning: In der Firma kann ich es nicht
‚anfordern‘, weil ich nicht damit umgehen kann und privat ist
mir die Vollversion von Studio viel zu teuer.

Das ist mir klar :smile: Aber es gibt die Express Versionen zum
kostenlosen Download und zum probieren aeussert geeignet, da
sie auf Deutsch sind und nicht wie meine Version auf Englisch
ist :s

Die Express-Version scheint aber Einschränkungen zu haben (was natürlich wäre) die sich dann auswirken.

Wenn ich da an Bücher denke, die ich kenne … Da komme ich
bis zu ‚Hallo Welt‘ und dann ist das Buch zu Ende. Um dann
selbst weiter zu kommen fehlen die nötigen Informationen. Wenn
mir die Literatur mal wieder erklären will, was ein Bit ist,
ist das Zeitverschwendung und die interessanten Informationen
übersehe ich.

Das ist richtig und das musste auch net studieren. Nur einmal fix
durchlesen und volla, wenn du das schon kennst, weiterblättern :smile:

Aber die Zeile mit den unbekannten Informationen nicht verpassen.

Die Bücher die ich habe, nunja je nachdem welches Rainer. Erklären
wirklich alles von Vorne bis hinten! Hab mal meine ganzen
Buecher hochgeladen und kann sie dir zukommen lassen, aber nur
wenn du magst und dir dann auch mal .NET anschaust :stuck_out_tongue:

Klar, nur wann weiß ich noch nicht. *fg*

Das soll der Editor erledigen. :smile:

Das macht er eigentlich auch. Nur kannst du zum Bsp. eine Form
auf 4 Varianten entladen! Welche nimmst du und was sind da die
Unterschiede?
Was ist der Unterschied zwischen Show und ShowDialog ?
Dabei kann dir der Editor leider nicht helfen :s

Wenn die übliche Variante voreingestellt ist, ist es ja gut. In VB6 kann ich z.B. einem Button ein Hintergrundbild verpassen, wenn ich das nicht weiß, kann ich den Button trotzdem verwenden.

Ich hatte irgendwo mal gelesen das es auch unterschiedlich
Startmoduse
gibt. Bsp. du hast ein Fenster und das öffnet ein zweites
Fenster. Was passiert wenn das 1 Fenster geschlossen wird? Je
nach Startmodus wird dann das 2 auch geschlossen oder bleibt
offen. Es ist in dem Falle nur die Frage welches Fenster die
Nachrichtenschleife abfragt. Und das legst du mit
Application.Run oder so glaube fest.

Das klingt vernünftig, dann laufen nicht Prozesse weiter, wenn ich vergesse, eine Form zu entladen. Wie Du weißt, kann das in VB6 schnell passieren.

Aber dahin komme ich erst die kommenden Tage :S
Hab den Konsolen Kram bald hinter mir :stuck_out_tongue:

*gg* Na dann, willkommen in der Neuzeit! *fg* Ich hasse es, wenn ich bei meinem Uralt-Unix nur auf der Konsole vernünftig arbeiten kann.

Ja, stimmt! :smile: Das hatte ich mir für den Urlaub vorgenommen,
dann war der Urlaub um und ich hatte noch nicht mal
angefangen. Mein persönliches Trägheitsgesetz. :smile:

*grins* der war gut :wink:
Aber mal was anderes. Würdest du dich an C++ trauen ohne ein
Buch?

Auch mit Buch nicht. Irgendwann buche ich wohl mal einen C/C++ Lehrgang als Fernstudium, anders wird das mit mir nichts. Bücher habe ich fünf … sechs durch, einschließlich ‚VC++ step by step‘ ohne etwas zu lernen. Sobald ich versuche den Beispielcode zu modifizieren läuft das Projekt nicht mehr und ich erfahre nicht warum und woher ich die fehlende Information bekommen kann. Ohne ‚Lehrer‘ packe ich das nicht.

OK, da hätte ich sogar eine Anwendung. :smile: Ein Kunde sendet
per EDI Daten, die werden in einem Parser übersetzt und
gedruckt. Dazu muss keine Form sein, aber mir gefällt es
trotzdem, wenn ich die Arbeit sehen kann. :smile:

Auch in einer Konsole kann man Daten ausgeben und Einlesen :stuck_out_tongue:

In Grenzen. Was man in einer VB-Form mit TabViev und ein paar Flexgrids anzeigen kann, wird auf der Konsole schwierig. :smile:

Ja, ich komme aus dem Schütteln gar nicht mehr heraus. :smile:
Aber ohne diese Anwendungen, die ich heute so nicht mehr
schreiben würde, hätte ich noch gar keine VB-Anwendung und
wäre auch nicht weiter gekommen.

Und was waere gewesen, haettest du von Anfang an die
entsprechende Literatur gehabt ?

Die mir bekannte? Ich würde VB wohl nicht verwenden. Die Beispielprogramme in VB sind besser als alle Bücher, die ich kenne. Zum Glück gibt es dann noch w-w-w und AVB, das hilft besser.

Wieviel morks hatte man damals gemacht, weil man nicht wusste
wie es richtig geht :s

Ja, z.B. Datentransfer per FTP mit Hilfe von ‚Sendkeys‘ weil ich nichts über API gewusst habe. In den Büchern steht darüber viel zu wenig. Oder kennst Du ein Buch mit dem Umfang der API-Guide oder noch umfangreicher? So mit Beispielen erklärt, daß man die Beispiele auf die gewünschte Funktion reduzieren kann und sich an den Umgang mit der API richtig gewöhnt?

Was hältst Du denn für sinnvoll? … Ich schicke mal eine Mail

Beides Rainer :smiley:
Nein mal im Ernst. Ich würde zu dem ausführlichen raten! Auch
wenn es schwerer ist, so bekommst du jedoch alles vermittelt
und wirst auf div. Sachen aufmerksam gemacht. Auch findest du
dort bsp. projecte. Insgesamt habe ich glaube über .NET 5
Bücher / Anleitungen. Ich kann sie dir auch alle schicken.
Dann schaust halt mal rein und entscheidest dann selber :smile:

OK, was ich dann gelesen habe, schicke ich zurück. Das bringt dann auch den nötigen Druck, die Arbeit nicht auf irgendwann zu verschieben. :smile:

Gruß, Rainer

Auf deine Frage hin, ob es schwer und viel ist .Net zu
berherschen, so gehe ich mal von mir aus und sage „JA“ Aber
der Aufwand lohnt sich!

Hallo Alex,
mal für’n Außenstehenden, warum lohnt sich der Aufwand?
Du lernst jetzt über Monate hinweg .Net.
Kannst du danach mit .Net „mehr“ machen als mit Vb6 ?

VB und .Net sind doch Hochsprachen, d.h. wie auch immer sie kompiliert werden, sie greifen auf die Tiefsprache Assembler zurück, letzlich auf Bitfolgen die der Befehlsinterpreter kapiert.

Und der Befehlsinterpreter ist Geräteabhängig.

Warum also .Net anstatt Vb6?

Es kann m.E. nur dadrum gehen, daß man in .Net die gleichen Sachen die man auch in Vb6 machen könnte, macht, nur diese einfacherer betitelt/schreibt.

Ich hoffe, ich konnte mein Unverständnis verständlich rüberbringen :smile:

Gruß
Reinhard