Type, unverständlich

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

CNOK

Betreff: Type, unverständlich

BeitragDo, März 24, 2005 1:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Ich glaub ich hab da bei den Types in Blitzbasic etwas falsch verststanden. hier ein verkleinertes Beispiel, um zu zeigen was ich meine:
BlitzBasic: [AUSKLAPPEN]

Type typPerson
Field name$
End Type

;Unterteilung der Personen
Global Mann.typPerson
Global Frau.typPerson
;------------------------

;Testdaten für Mann
Mann= New typPerson
Mann\name$ = \"Herbert\"
Mann= New typPerson
Mann\name$ = \"Peter\"
Mann= New typPerson
Mann\name$ = \"Horst\"

;Testdaten für Frau
Frau= New typPerson
Frau\name$ = \"Lisa\"
Frau= New typPerson
Frau\name$ = \"Grete\"
Frau= New typPerson
Frau\name$ = \"Maria\"


;Abfrage der Personen von
; FRAU und !NICHT! Mann oder beide, NUR FRAU
; |
; |
; V
For Frau.typPerson = Each typPerson
Print Frau\name$
Next


;unerwünschte Rückgabe:
;======================
;Herbert ---+
;Peter |--Testdaten von Mann, sollen aber nicht zurückgegeben
;Horst ---+ werden, da nur die Testdaten der FRAU gefragt waren.
;Lisa
;Grete
;Maria



Meine Frage: Ist es normal, dass der Typ nicht unterteilt werden kann Question
Wenn ja könnt ihr mir das näher erklären?
Ich wende soetwas in der Art (in einem größeren Ausmaß) an, und es macht mich fix und fertig wenn ich bei diesen Problem hängen bleibe, ich weiß es gibt Alternativen wie Arrays aber dies ist viel praktischer für mich.
Sad

Ich danke jeden der mir das erklären könnte. (Falls es dieses Thema schon geben sollte, was durchaus möglich ist bei diesen vielen "Type-Fragen", tut es mir wirklich leid, denn die suchfunktion dieses Forums hat mir nicht wirklich weitergeholfen Confused ,sry.)

mfg CNOK
Unordnung ist auch eine Ordnung
 

Dreamora

BeitragDo, März 24, 2005 1:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Entweder du schreibst eine Handlingstruktur ( array, linked list) oder du fügst noch ein Feld "Geschlecht" hinzu und checkst zuerst ob das geschlecht stimmt bevor du etwas davon machst bzw. nimmst select um gleich verschiedene dinge zu bündeln.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Timo

BeitragDo, März 24, 2005 9:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Mann und Frau stehen in der selben Liste (auf dem selben Endlospapier Smile ) Jeder Type hat nur eine Liste. Mit den Variablen (Mann und Frau) greifst du auf ein und die selbe Liste zu. Da du 3 Männer und drei Frauen erstellst, erstellst du in deiner Liste 6 neue Einträge.
Dies kannst du umgehen, wie Dreamora schon sagte:


BlitzBasic: [AUSKLAPPEN]

Type typPerson
Field name$
Field Mann
End Type

Global p.typPerson

;Testdaten für Mann
p= New typPerson
p\name$ = \"Herbert\"
p\Mann = True
p= New typPerson
p\name$ = \"Peter\"
p\Mann = True
p= New typPerson
p\name$ = \"Horst\"
p\Mann = True

;Testdaten für Frau
p= New typPerson
p\name$ = \"Lisa\"
p\Mann = False
p= New typPerson
p\name$ = \"Grete\"
p\Mann = False
p= New typPerson
p\name$ = \"Maria\"
p\Mann = False

Print \"Männer:\"
For p = Each typPerson
If p\Mann Then Print p\name$
Next
Print
Print \"Frauen:\"
For p = Each typPerson
If p\Mann = False Then Print p\name$
Next

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDo, März 24, 2005 9:57
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
 Type typPerson 
Field name$
End Type

ist sozusagen ein Karteikasten in dem alle Karten gesammelt werden!
das heißt in deinem Beispiel das es egal ist ob Mann eine neue erstellt oder Frau!, da diese sofort in den Karteikasen wandern!


BlitzBasic: [AUSKLAPPEN]
For Frau.typPerson = Each typPerson 

hier geht Frau den kateikasten von vorne bis hinten durch, auch die die von Mann da reingestellt wurden!


endweder du erstellst 2 Types (2 Kateikästen) oder halt ein field zum unterscheiden ob Weiblein oder Männlein!

Seh grade das schon das meiste gepostet wurde, aber EGAL
[BB2D | BB3D | BB+]
 

CNOK

BeitragDo, März 24, 2005 16:45
Antworten mit Zitat
Benutzer-Profile anzeigen
schade, dass alles in einer Liste fließt, dann muss ich doch mit arrays arbeiten Sad . Danke das ihr mir das näher erklärt habt! Wink

mfg CNOK
Unordnung ist auch eine Ordnung

Jolinah

BeitragDo, März 24, 2005 17:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du zwei verschiedene Listen willst kannst du doch einfach zwei Types machen?

Aber solange nur 1 Feld wie Name drin sein soll sind String Arrays wohl doch besser Wink

Alfadur

BeitragFr, März 25, 2005 16:29
Antworten mit Zitat
Benutzer-Profile anzeigen
CNOK hat Folgendes geschrieben:
schade, dass alles in einer Liste fließt, dann muss ich doch mit arrays arbeiten Sad . Danke das ihr mir das näher erklärt habt! Wink

mfg CNOK


machs besser mit types statt mit dims. ist wesentlich flexibler...
A Cray is the only computer that runs an endless loop in less than four hours.

BladeRunner

Moderator

BeitragFr, März 25, 2005 21:39
Antworten mit Zitat
Benutzer-Profile anzeigen
CNOK hat Folgendes geschrieben:
schade, dass alles in einer Liste fließt, dann muss ich doch mit arrays arbeiten Sad . Danke das ihr mir das näher erklärt habt! Wink

mfg CNOK

but why ? Mach ein ID-Feld rein (oder nimm eines der Fields an dem du die gewünschten Types erkennen kannst) und mach wie oben beschrieben ne gefilterte Ausgabe.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

Ensign Joe

BeitragFr, März 25, 2005 21:44
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
Type Mann
Field name$
End Type

Type Frau
Field name$
End Type

;Adden
mann.mann = New mann
mann\name$ = \"Hassan\"

;Frauen Adden
frau.frau = New frau
frau\name$ = \"Susie\"


;Zeigen
For mann.mann = Each mann
Print mann\name$
Next

For frau.frau = Each frau
Print frau\name$
Next

;Das wars Wink
Ich habe jetzt eine Pommesbude aufgemacht am Münchner Hauptbahnhof.
Und da ich Herbert Görgens heiße, heißt diese Pommesbude
Herbert's Pommesbude Smile
 

CodeMaster

BeitragMi, März 30, 2005 10:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Stichwort Vererbung Very Happy
BlitzBasic: [AUSKLAPPEN]
Type TPerson 
Field Name$
Field Alter%
End Type

Type TMann
Field Person.TPerson
Field Schuhgroesse#
End Type

Type TFrau
Field Person.TPerson
Field Haarlaenge#
End Type

temp1.TMann = New TMann
temp1\Person.TPerson = New TPerson
temp1\Person\Name = \"Hans\"
temp1\Person\Alter = 29
temp1\Schuhgroesse = 44

temp2.TFrau = New TFrau
temp2\Person.TPerson = New TPerson
temp2\Person\Name = \"Vera\"
temp2\Person\Alter = 23
temp2\Haarlaenge = 9.6

For temp3.TMann = Each TMann
Print temp3\Person\Name + \", männlich, \" + temp3\Person\Alter + \" Jahre alt, Schuhgröße \" + temp3\Schuhgroesse
Next

For temp4.TFrau = Each TFrau
Print temp4\Person\Name + \", weiblich, \" + temp4\Person\Alter + \" Jahre alt, Haarlänge \" + temp4\Haarlaenge
Next


Oder andersrum...

BlitzBasic: [AUSKLAPPEN]
Const TWeiblich = 1 
Const TMaennlich = 2

Type TPerson
Field Geschlecht%
Field Name$
Field Mann.TMann
Field Frau.TFrau
End Type

Type TMann
Field Schuhgroesse#
End Type

Type TFrau
Field Haarlaenge#
End Type

Person1.TPerson = New TPerson
Person1\Mann.TMann = New TMann
Person1\Geschlecht = TMaennlich
Person1\Name = \"Hans\"
Person1\Mann\Schuhgroesse = 48

Person2.TPerson = New TPerson
Person2\Frau.TFrau = New TFrau
Person2\Geschlecht = TWeiblich
Person2\Name = \"Vera\"
Person2\Frau\Haarlaenge = 49.9

For temp.TPerson = Each TPerson
Select temp\Geschlecht
Case TMaennlich
Print temp\Name + \", männlich, Schuhgröße \" + temp\Mann\Schuhgroesse
Case TWeiblich
Print temp\Name + \", weiblich, Haarlänge \" + temp\Frau\Haarlaenge
End Select
Next


(Wenn Fehler drinne sein sollten, bitte ich um Entschuldigung. Hab seit
Monaten nix mehr mit BB gecodet und diesen Code hier erst recht
nicht getestet...)
Dies ist ein Text, der an jeden Beitrag von dir angehängt werden kann. Es besteht eine Limit von 500 Buchstaben.

Zuletzt bearbeitet von CodeMaster am Mo Apr 01, Parse error: syntax error, unexpected ';' in htdocs\viewtopic.php on line 102

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group