Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Matz
Anmeldungsdatum: 04.07.2006 Beiträge: 13
|
Verfasst am: 18.09.2008, 19:19 Titel: Type Leerparameter |
|
|
Hay kann mann irgendwie schon von vorn herein den Type Variablen mit geben?
Code: |
Type Tier
TTyp As String="Tier"
TName As String
Alter As Integer
Beine As Integer
Link As Integer
Baum As Integer
Parasit As Integer
End Type
|
Geht leider nicht. Ich hoffe es gibt noch einen anderen Weg. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 18.09.2008, 19:52 Titel: |
|
|
ein TYPE ist ein "Prototyp". Der hat standardmäßig keine Eigenschaften. Wenn du einen Prototyp "Auto" hast, gibt das ja auch noch lange nicht vor, dass in dem Auto Ledersitze installiert sind. Von daher wäre das sowieso sinnlos. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.

Zuletzt bearbeitet von Jojo am 18.09.2008, 20:15, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 18.09.2008, 19:55 Titel: |
|
|
das auto hat trotzdem vier räder, sowas gibts natürlich nur in fb kann mans offenbar nicht machen _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
The_Muh aka Mark Aroni

Anmeldungsdatum: 11.09.2006 Beiträge: 718
|
Verfasst am: 18.09.2008, 20:09 Titel: |
|
|
Doch, das geht, benutz ich auch. Allerdings funktioniert das nur mit einschränkungen... einfach mal ein wenig rumprobieren... ich glaube in Subs durfte man keine types erstellen die nen vordefinierten wert haben... aber genau weiß ich das nich mehr _________________ // nicht mehr aktiv // |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 18.09.2008, 20:16 Titel: |
|
|
MisterD hat Folgendes geschrieben: | das auto hat trotzdem vier räder, sowas gibts natürlich nur in fb kann mans offenbar nicht machen |
das wäre aber eine Deklaration Rad(1 to 4) As Bla.  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Cherry
Anmeldungsdatum: 20.06.2007 Beiträge: 249
|
Verfasst am: 18.09.2008, 21:38 Titel: |
|
|
Strings -> geht nicht direkt, nur mit Konstruktoren. Der Rest schon.
Beispiel:
Code: | Type Point
x As Integer
y As Integer
End Type
Const PI = 4*Atn(1)
Type Test
a As Integer = 3 ' Diverse Zahlen...
b As Double = 4.5 ' ... sind okay!
c As Double = PI ' Genauso wie Konstanten
d(5) As Integer = {10, 8, 6, 4, 2, 0} ' Auch Arrays
e As Point = Type(100, 200) ' und ganze Types
f As String ' Für Strings brauchen wir aber...
Declare Constructor() ' ...einen Constructor!
End Type
Constructor Test()
f = "Bla"
End Constructor
Dim x As Test
Print x.f ' Ausgabe: Bla
Sleep |
Zuletzt bearbeitet von Cherry am 20.09.2008, 09:59, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 18.09.2008, 21:58 Titel: |
|
|
??, das produziert leider einen Fehler.
Code: | Dim x As Test
Print Test.f ' Ausgabe: Bla <-Fehler
Print x.f ' Ausgabe: Bla <-geht |
Dies funktioniert einwandfrei bei mir!
Code: | Type Tier
TTyp As String="Tier"
TName As String="Grautier"
Alter As Integer
Beine As Integer
Link As Integer
Baum As Integer
Parasit As Integer
End Type
Dim Esel As Tier
Print Esel.TTYp
Print Esel.TName
Sleep |
Auch so geht es:
Code: | Type Tier
TTyp As ZString Ptr = @"Tier"
TName As ZString Ptr = @"Grautier"
Alter As Integer
Beine As Integer
Link As Integer
Baum As Integer
Parasit As Integer
End Type
Dim Esel As Tier
Print *Esel.TTyp
Print *Esel.TName
Esel.TName = @"Vierbeiner"
Print *Esel.TName
Sleep |
_________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
Cherry
Anmeldungsdatum: 20.06.2007 Beiträge: 249
|
Verfasst am: 20.09.2008, 09:59 Titel: |
|
|
[quote="volta"]??, das produziert leider einen Fehler.
Code: | Dim x As Test
Print Test.f ' Ausgabe: Bla <-Fehler
Print x.f ' Ausgabe: Bla <-geht |
Jaa, ich habe eigentlich "x.f" gemeint. |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 20.09.2008, 11:37 Titel: |
|
|
--- hat sich erübrigt --- _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 24.09.2008, 16:20 Titel: |
|
|
Nimm einfach nen Typen-Constructor her:
Code: |
Type Tier
TTyp As String="Tier"
TName As String
Alter As Integer
Beine As Integer
Link As Integer
Baum As Integer
Parasit As Integer
Declare Constructor ()
End Type
Constructor Tier
This.TTyp = "Tier"
End Constructor |
Es gibt auch Typen-Destructoren. Nützlich, wenn du Pointer auf reservierte Speicherbereiche benutzt, die können darin z.B. automatisch freigegeben werden. Siehe dazu:
- Type
- Constructor
- Destructor
- This
(Als Einträge der FB-Referenz)
have a nice day
ciao
Dusky_Joe _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
 |
|