Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Type Leerparameter

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Matz



Anmeldungsdatum: 04.07.2006
Beiträge: 13

BeitragVerfasst am: 18.09.2008, 19:19    Titel: Type Leerparameter Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 18.09.2008, 19:52    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 18.09.2008, 19:55    Titel: Antworten mit Zitat

das auto hat trotzdem vier räder, sowas gibts natürlich mit den Augen rollen 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
Benutzer-Profile anzeigen Private Nachricht senden
The_Muh
aka Mark Aroni


Anmeldungsdatum: 11.09.2006
Beiträge: 718

BeitragVerfasst am: 18.09.2008, 20:09    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 18.09.2008, 20:16    Titel: Antworten mit Zitat

MisterD hat Folgendes geschrieben:
das auto hat trotzdem vier räder, sowas gibts natürlich mit den Augen rollen nur in fb kann mans offenbar nicht machen

das wäre aber eine Deklaration Rad(1 to 4) As Bla. Zunge rausstrecken
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Cherry



Anmeldungsdatum: 20.06.2007
Beiträge: 249

BeitragVerfasst am: 18.09.2008, 21:38    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 18.09.2008, 21:58    Titel: Antworten mit Zitat

??, 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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Cherry



Anmeldungsdatum: 20.06.2007
Beiträge: 249

BeitragVerfasst am: 20.09.2008, 09:59    Titel: Antworten mit Zitat

[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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 20.09.2008, 11:37    Titel: Antworten mit Zitat

--- hat sich erübrigt cool ---
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 24.09.2008, 16:20    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz