PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Visual Basich.net - Sharpdevelop



Volty
18.05.2004, 14:44
Ich lerne seit nicht langer Zeit Visual Basic.net!
Zum Compilen hab ich SharpDevelop.
Kennt sich wer damit aus???
Zur Frage:
Wenn ich am Anfang auf NEu-Combine erstellen klicke,-Windowsanwendung-Namen eintippe und erstelle dann steht da erst mal ein haufen zeug im quelltext editor.
So und nun hab ich probiert das hello World prog untendrunter 8unter das Zeug) und einmal ohne das zeug (ich habs gelöscht) da rein zu schreiben
beide male unterkringelt es beim debuggen das was als erstes dasteht, in meinem Fall: Class HelloWorld:rolleyes:
Was soll ich tun???

MagicMagor
18.05.2004, 16:29
Ich selbst kann zwar kein VB (und erst recht kein VB.Net), aber ein zwei Sachen kann ich dir schon sagen.
Das "Zeug" im Quelltext ist von deiner IDE erzeugt worden und erstellt vermutlich schonmal ein Fenster (da es sich ja um eine Windowsanwendung handelt) das zu löschen halte ich für keine gute Idee, zumindest nicht solange du nicht genau weißt was du da tust.
Ansonsten wird das "class HelloWorld" während des Tippens unterkringelt oder gibts auch ne Fehlermeldung wenn du versuchst das Programm zu compilieren?
Und natürlich letztens, am Besten helfen kann man dir wenn du den entsprechenden Quelltext hier postet. Wir können ja sonst nur raten wo der Fehler liegt.

Volty
19.05.2004, 22:33
Also das mit dem enster stimmt das hab ic hvergessen wenn ich ein Programm erstelle ohne noch was dazuzuschreiben dann öffnet sich einfach ein fenster ohne was drinnen...

Also so sieht der Quelltext aus wenn ich meinen code noch drunter schreibe und "Class Hello World" unterkringelt er als falsch beim debuggen

/*
* Created by SharpDevelop.
* User: Raoul
* Date: 19.05.2004
* Time: 16:34
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Windows.Forms;

namespace DefaultNamespace
{
/// <summary>
/// Description of MainForm.
/// </summary>
public class MainForm : System.Windows.Forms.Form
{
public MainForm()
{
//
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent();

//
// TODO: Add constructor code after the InitializeComponent() call.
//
}

[STAThread]
public static void Main(string[] args)
{
Application.Run(new MainForm());
}

#region Windows Forms Designer generated code
/// <summary>
/// This method is required for Windows Forms designer support.
/// Do not change the method contents inside the source code editor. The Forms designer might
/// not be able to load this method if it was changed manually.
/// </summary>
private void InitializeComponent()
{
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 266);
this.Text = "MainForm";
this.Name = "MainForm";
}
#endregion
}
}
Class Hello World
Sub Main()
Console.Writeline("Hello World")
End Sub
End Class

Es ist einfach kompliziert...

Ineluki
19.05.2004, 23:39
wen ich das so richtig sehe, hast du als dein project eine GUI-Anwendung erstellt. Schau mal, ob es bei Neu->Project eine moeglichkeit gibt, eine Console (Konsolen) Anwendung zu erstellen. Das ist wohl ehr das, was du machen willst ...

Volty
20.05.2004, 01:50
k daran könnte es liegen aber ich habs schon mal verscuht so weit ich weiß und es ging nicht...
egal thx;)

Cool
20.05.2004, 03:10
Also wenn ich bei VB.Net ein neues Projekt öffne sieht der Code so aus:

Public Class Form1
Inherits System.Windows.Forms.Form

#Region " Vom Windows Form Designer generierter Code "

Public Sub New()
MyBase.New()

' Dieser Aufruf ist für den Windows Form-Designer erforderlich.
InitializeComponent()

' Initialisierungen nach dem Aufruf InitializeComponent() hinzufügen

End Sub

' Die Form überschreibt den Löschvorgang der Basisklasse, um Komponenten zu bereinigen.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub

' Für Windows Form-Designer erforderlich
Private components As System.ComponentModel.IContainer

'HINWEIS: Die folgende Prozedur ist für den Windows Form-Designer erforderlich
'Sie kann mit dem Windows Form-Designer modifiziert werden.
'Verwenden Sie nicht den Code-Editor zur Bearbeitung.
Friend WithEvents Button1 As System.Windows.Forms.Button
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.Button1 = New System.Windows.Forms.Button
Me.SuspendLayout()
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(64, 56)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(112, 48)
Me.Button1.TabIndex = 0
Me.Button1.Text = "Button1"
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 266)
Me.Controls.Add(Me.Button1)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)

End Sub

#End Region

End Class

Und weshlab du darunter für dein Hello World nochmal eine eigene Class machen willst versteh ich auch nicht ganz. Warum verwendest du nicht einfach Private Sub?

Volty
20.05.2004, 16:50
das mit dem Class steht in meinem Tutorial aber ich check eh nicht warum die gleich am anfang ne class machne ohne überhaupt zu erklären was das ist usw...:rolleyes:

Also...
wenn ich ein neues projekt öffne und zwar unter consolen anwendung dann ist das schon ein vorgefertigtes hello World prog...
Es läuft beim debuggen aber ich bekomme keine eigene exe:(

Ineluki
20.05.2004, 22:48
hm VB ist doch sowieso eine interpretersprache ... wahrscheinlich musst du in den optionen irgendwo noch einstellen, das eine Exe erezugt werden soll ...

Cool
21.05.2004, 01:03
Achso. Eine exe bekommst du indem du Erstellen oben im Menu neben Projekt klickst und dann auf *Name des Projektes* erstellen. Dann wird in dem Ordner wo du das Projekt abgespeichert hast unter obj Debug die *.exe Datei

Ynnus
21.05.2004, 02:45
hm VB ist doch sowieso eine interpretersprache ... wahrscheinlich musst du in den optionen irgendwo noch einstellen, das eine Exe erezugt werden soll ...

Visual Basic ist KEIN Interpreter! VB kann ganz normal auch exe Dateien kompilieren und diese auch stink normal überall auf Windows Systemen ausführen. Ob's bei alten Systemen eine Runtime Library braucht, weiß ich nicht, aber dass VB eine Interpreter-Sprache sein soll, ist eine Fehlinformation. (Zumindest ab VB 6.0 wird in normalen maschinencode kompiliert und nicht mehr interpretiert)!

Freezy
21.05.2004, 03:05
Original geschrieben von Sunny
Visual Basic ist KEIN Interpreter! VB kann ganz normal auch exe Dateien kompilieren und diese auch stink normal überall auf Windows Systemen ausführen. Ob's bei alten Systemen eine Runtime Library braucht, weiß ich nicht, aber dass VB eine Interpreter-Sprache sein soll, ist eine Fehlinformation. (Zumindest ab VB 6.0 wird in normalen maschinencode kompiliert und nicht mehr interpretiert)!

Hu? Beweise O_o

Ynnus
21.05.2004, 03:30
Ein Kumpel hat VB 6 und kennt sich damit recht gut aus. Und ich hatte es auch mal installiert, aber nur für kurze Zeit. Außerdem hatte ich mal eine längere Diskussion mit einigen kundigen Leuten die mich in der Hinsicht Kompulierung, Interpretation belehrten.
Oder frag einfach mal Smoking Fish, der macht ja den R-PG Editor mit VB. Er wird dir mit Sicherheit bestätigen können, dass VB6 kompiliert. ;)

Volty
21.05.2004, 04:01
@cool
geht das bei jedem kompile prog oder nur im visual studio???

SmokingFish
21.05.2004, 17:36
also wenn i net falsch informiert bin sieht es so aus :

vb compiled seit v5.0 echte exe files , kann aber nach wie vor noch den alten p-code erstellen.

in den runtimes befinden sich all die funktionen die vb einem zur verfügung stellt , z.B. die ganzen string funktionen usw.
in delphi werden diese funktionen eben direkt in die exe eingebaut - weshalb auch die dateigrössen meist höher sind als in vb.

p-code wird nach wie vor von den runtimes interpretiert - genauso wie die programme die man direkt aus der vb gui testet, so kann man seinen code auf einfachste weise debuggen.

wenn man seine programme dann als nativecode compiled sind sie nix anderes als delhpi oder c++ exe dateien , die aber halt auf eine extra dll zugreifen (halt die runtimes) wenn vb befehle wie halt die stringfunktionen benutzt werden, ist genauso als würde man irgentwelche apis einbinden, nur das die befehle aus der runtime dll auto integriert sind.

ohne garantie ;)

Cool
21.05.2004, 18:48
Original geschrieben von Volty
@cool
geht das bei jedem kompile prog oder nur im visual studio???

Naja so wie ichs beschreiben habe klarerweise nur in Visual Studio. Bei anderen Progs schaut das ja sicher anders aus. Ich machs halt immer auf diesen Weg. Allerdings muss, wenn du das Programm auf einen PC abspielen lassen willst wo kein VB.Net installiert ist, dort einmalig ein Runtime Package installiert werden wie SmokingFish bereits sagte.

Volty
22.05.2004, 17:29
Ja das wird dann das Framework.net sein...und das hab ich ja drauf
Damit müsste es doch gehen oder??
Noch was das vb.net (VB7) ist anders als das vb6 staht im Buch also kann es da schon unterschiede geben...
Was mache ich denn mit dem runtime package muss ich da irgendwas mit dem machen oder mit dem sharp develop (ich hab keine ahnung)
was zu fragne versuche ist ob ich bei sharpdevelop was starten soll und dann den framework pfad angeben muss oder ob framework starten muss...
Ich glaub jetzt hab ich euch und mich selber confused:rolleyes: :confused:

Cool
22.05.2004, 18:20
Original geschrieben von Volty
Ja das wird dann das Framework.net sein...und das hab ich ja drauf
Damit müsste es doch gehen oder??
Noch was das vb.net (VB7) ist anders als das vb6 staht im Buch also kann es da schon unterschiede geben...
Was mache ich denn mit dem runtime package muss ich da irgendwas mit dem machen oder mit dem sharp develop (ich hab keine ahnung)
was zu fragne versuche ist ob ich bei sharpdevelop was starten soll und dann den framework pfad angeben muss oder ob framework starten muss...
Ich glaub jetzt hab ich euch und mich selber confused:rolleyes: :confused:

Ähm ja. Könnte man sagen *g*. Ich weiß jetzt zwar nicht ganz worauf du hinauswillst, aber das Framework.net ist das richtige. Und das muss nur auf dem betreffenden PC installiert werden. Entweder kannst du es in die Setup Datei miteinbinden (wodurch diese dann aber auch ziemlich groß werden) oder du gibst es extra mit wenn du weißt, dass auf dem betreffenden PC noch keines vorhanden ist.
Mit Sharpdevelop kenn ich mich leider nicht aus, kann dir da also nicht helfen.

Volty
23.05.2004, 03:00
Also bracuht man das framework nur zum ausführen der Datei...
Gut und wenn ich jetzt meine exe starten will dann nimmt sich die exe automatisch das framework oder msus ich das dem prog sagen???:confused:

Cool
23.05.2004, 04:25
Also das Framework wird zum Ausführen des Programms benötigt wenn kein VB.Net installiert ist auf dem betreffenden PC.
Die *.exe allein macht da nichts. Es gibt wie gesagt 2 Möglichkeiten. entweder du verpackst die exe mit den dazugehörigen Dateienund Framework in eine Setup Datei, was aber den Nachteil hat das das ganze ziemlich anwächst und wenn du das bei jedem Prog machst nicht gerade so super ist. Oder du installierst Framework manuell. Sobald es einmal installiert ist, brauchst es dann klarerweise nicht mehr ausführen.
Jetzt alles klar? ;)

Volty
23.05.2004, 17:07
Aha das framework msus nur installiert werden und dann funzt es selber???
Egal ob ich ein neues prog mache???
k dann brauch ich jetzt nur noch ne exe die ich compilen kann:(

Ok die exe hab ich aber jetzt kann ich die nicht richtig öffnen...
(ich bin soo dumm:rolleyes: )
Also wenn ich die exe doppelklicke dann erscheint für ne halbe sec das schwarze fenster und geht wieder zu...
Liegt vielleicht daran dass das framework nicht korrekt installeirt ist...:confused:

Cool
23.05.2004, 17:24
Original geschrieben von Volty
Aha das framework msus nur installiert werden und dann funzt es selber???
Egal ob ich ein neues prog mache???


Ja genau.


Original geschrieben von Volty
k dann brauch ich jetzt nur noch ne exe die ich compilen kann:(

Wie meinst du das? Du compilst doch das Prog und bekommst dann die exe. Und wie gesagt ich amch das immer über Visual Studio.

Volty
23.05.2004, 20:57
Ja den Quelltaxt meinte ich aber compiled hab ichs ja jetzt;)
jetzt ist es nur so dass sich das prog kurz öffnet und gleich wieder zu geht:(

Ineluki
23.05.2004, 21:33
das ist bei einer dosanwendung ganz normal ..
versuche das programm mal von der commandline ebene aus aufzurufen ...

oder baue am ende deines programmes einen code ein, der das programm warten laesst.

Volty
23.05.2004, 23:35
Warum eine Dos anwendung??
wer hat gesagt dass es eine Dos anwendung ist??:confused:
Naja ich probiere mal eine Windows anwendung zu machen da bleibt das fenster hoffentlich offen:rolleyes:

Ineluki
24.05.2004, 05:05
Dos-Anwendung = Consolen-Anwendung

Volty
24.05.2004, 13:25
k
Voll praktisch ich lern hier grad ewig viel:)
thx an alle schon mal...

wenn ich am Anfang ne Combine für Consolen-Anwendungen erstelle dann ist da schon ne ganze menge reingeshcrieben( die befehle die eben das "DOs- Fenster" öffnen...
Und kann ich in so ner Kosoen anwendung dann nur sagen schreib das rein und das wars oder kann man auch anderes machen??:confused:

Ineluki
24.05.2004, 18:58
mit einer consolenanwendung kannst du im prinzip alles machen, was du auch in einer richtigen windowsanwendung machen kannst, unteranderem auch eigene zusaetzliche fenster erstellen usw usw , dann aber ueber API funktionen und nicht ueber die Visuelle Entwicklung. Die Console ist eigentlich nur da, um sehr einfachen Zugriff auf Text-Ein-und-Ausgabe zu haben. Im normalfall benutzt du die console fuer kleine Programme, die hauptsaechlich mit komandozeilenparametern oder direkt mit abzufragenden eingaben arbeiten. Beispielsweilse, du schreibst ein programm, dem du als parameter eine Dateinamensmaske uebergibst (z.B. *.txt) und einen Text ("abc") und er durchsucht die die ganze festplatte nach dateien, die in die maske fallen und den text enthalten, und gibt die dateinamen im konsolenfenster aus.
Konsolenanwendungen kommen immer dann zum einsatz, wenn die GUI keine Rolle spielt, und man sich aufs wesentliche konzentrieren will.

Volty
25.05.2004, 00:37
Da ihr euch ja sehr gut auszukennen scheint kann ich euch ja auch nach Sachen fragen die in meinem Buch nicht wirklich gut erklärt werden...
was ist genau ein parameter??? (hab schon erfahrung mit sachen gemacht wie z.B. parameter nicht gefunden oder so was...)
Aber was ist das genau???:confused:

Und was ist die GUI??

Ineluki
25.05.2004, 05:00
wenn dir so entscheidende kentnisse ueber das üprogrammieren fehlen, wie was ein parameter ist, oder eine funktion, oder eine gui, solltest du dich, bevor du mit dem eigentlichen programmieren weiter machst, etwas genauer mit dem allgemeinen thema programmieren auseinandersetzen, z.b. ein grundlagenbuch zu dem thema lesen.

Wir hatten doch auch mal ein wikikon, wo das alles erklaert wurde .. gibts das noch ?

Volty
25.05.2004, 12:23
Ich hab nie gesagt dass ich programmiere ich will damit Anfangen hab ic das noch nicht geschrieben??:confused:
sry wenn nicht, ich bin: NOOB
Und einigermaßen weißß ich es ja was ein parameter ist:rolleyes:
und die GUI scheint ne Abkürzung zu sein, wenn ihr mir da das ausgeschriebene Wort für gebt kenne ichs vielleciht8)

Ineluki
25.05.2004, 19:06
Natuerlich wissen wir, das du noch ein Anfaenger bist, sonst wuerdest du ja nicht solche fragen stellen ^__^

Ich hab doch lediglich gesagt, dass es vielleicht sinnvoll waere, sich mit den gaengigen Termini auseinander zu setzen, bevor du versuchst, weiter in die Materie einzudringen. Wenn man nicht versteht, was man machen soll, ist das in etwa so, als wenn man in einem dunklen Raum nach dem Lichtschalter tastet, aber keine Ahnung hat, wo der sich befindet. Irgendwann wird man ihn schon finden, aber meinst erst, nachdem man sich unzaehlige Male das Schienbein gestossen hat.

Wen dir Begriffe wie Parameter, Algorithmus, Programm, Funktion, Procedur, Objekt, Klasse, Zeiger, Variable, Konstante, Operator, Register, Methode, Referenz, Schleife, CPU, GUI, RAD, Compiler, Debugger, Linker, Message, Konsole, Stream, Integer, String, Gleitkommazahl, Boolscher Wert, Komponente, Bibliothek, usw nicht gelaeufig sind, wirst du nicht viel von dem verstehen, was wir dir zu erklaeren versuchen.

Jesus_666
25.05.2004, 19:18
Ineluki hat mich gebeten, einen Link zum (eigentlich mittlerweile aufgegebenen) Programmier-Wikikom zu posten, also mach' ich das mal:
http://www.rpgmaker.info/wiki/

Vielleicht findest du da ein paar brauchbare Informationen.

Volty
26.05.2004, 00:10
Ich verstehe 60% der begriffe nicht:D

Das heißt ich sollte mal das Wikikom da lesen:rolleyes:
thx für den link
ist das der oder das Wikikom den/das du meintest?(Ineluki)

Volty
28.05.2004, 15:33
ich mach schnell nen Doppelpost weil der thread sonst verschwindet:

ich habs jetzt honbekommen ne Windowsanwendung zu machen aber da erschein nur das fenster und ich weiß nicht wie ich etwas reinschreiben kann...:rolleyes:
Wie lautet der befehl dafür dn wo muss der genau hin???:confused:

the
28.05.2004, 21:15
Gott... hier ist aber einiges durcheinandergekommen ;)

Erst mal, Volty... deinen ganz am Anfang geposteten Code kannst du an die Hauskatze verfüttern. Du hast da eine lustige Vermischung von C# und VB angestellt. Wenn ich drüber nachdenke... wird es wohl so gewesen sein, dass du ein Projekt erstellt hast als C# und hinterher diesen VB-Code aus irgendeinem Buch eingefügt hast. Sieht lustig aus, wird aber kein Compiler der Welt akzeptieren (bis dato *fg*).

Wenn du Fragen bezüglich Sharpdevelop hast, solltest du dich in deren Forum (http://www.icsharpcode.net/OpenSource/SD/Forum/) umschauen.

Es scheint mir aber, dass du dich eher mal mit grundlegenden Sachen der Programmierung beschäftigen solltest... von Konstrukten, Schleifen, Variablen, etc. Ausserdem proggt man nicht mal einfach so ein MMORPG - wie das mom jeder kleine Fitzel machen möchte. Programmieren ist eine Kunst, die besonders viel Kreativität fordert, weil sie ständig neues erfinden muss. Ausserdem gilt auch hier wie überall, dass die Jahre an Erfahrung und praxisnaher Einsatz durch nichts zu ersetzen sind.

In diesem Sinne kann ich Inelukes letztem Post nur zustimmen. Ich empfehle dir, mal ein paar gute Tutorials reinzuziehen.

Sollte allerdings Interesse an solchem Einsteigerseminar hier im Forum bestehen... ich lasse mit mir über alles reden. (Einem guten Alster kann ich nicht widerstehen ;))

br, the.

Volty
29.05.2004, 15:24
Hey vielen dank das war mal ein ratschlag der mir richtig geholfen hat...
ich hab ein tutorial aber ich wollte eben gleich das zeug was man da lernt asprobieren...;)
also ich schau mich mal auf deren seite um:)