![]() |
Anzeige:
|
|
|||||||
| Anregungen & Bugreports Für Vorschläge an den Autor Roland und neue XProfan-Versionen |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 28.03.2009
Beiträge: 117
|
Dann will ich mich dem "Wünsch dir was" auch mal anschließen
Ich fänd es klasse wenn du etwas vergleichbares wie Union einbauen könntest. |
|
|
|
|
|
|
#2 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
|
Was ist das? Ich tippe mal auf eine Art Datentyp?
__________________
XProfan-Profi (XProfan X2+XPIA) http://jacdelad.bplaced.net http://jacdelad.square7.ch |
|
|
|
|
|
#3 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.089
|
Ich mochte gar nicht fragen...
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#4 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 28.03.2009
Beiträge: 117
|
Mit Union ist es möglich das sich mehrere Variablen/Strukturen den gleichen Speicherbereich teilen. Teilweise notwendig für Rückgabewerte von APIs. z.B.: in_addr Structure (Windows)
|
|
|
|
|
|
#5 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.776
|
Dürfte ein Zusammenschluss mehrer Strukturen sein.
Edit: Sorry, liege da etwas daneben Siehe hier unter Union.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT Geändert von AHT (26.02.2010 um 16:21 Uhr) |
|
|
|
|
|
|
#6 (Direktlink) | |
|
Forenmaskottchen
![]() Registriert seit: 08.02.2009
Ort: Nußloch (bei Heidelberg)
Beiträge: 550
|
Zitat:
Wobei das in XProfan schon jetzt recht einfach dargestellt werden kann: Du deklarierst zwei unterschiedliche Strukturen gleicher Länge und erzeugst damit zwei Bereiche. Dann weist Du dem zweiten Bereich die Adresse de ersten Bereichs zu (B2# = Addr(B1#)). Schon belegen beide den gleichen Speicher. Beispiel: Code:
Struct Struktur1 = LongWert& Struct Struktur2 = loWord%, hiWord% var B1# = new(Struktur1) var B2# = new(Struktur2) B2# = Addr(B1#) B1#.LongWert& = 78015 Print B2#.loWord% Print B2#.hiWord% Print 65536 * B2#.hiWord% + B2#.loWord% WaitInput end Gruß Roland
__________________
Pentium D 2,8 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon HD5450 1024 MB / Windows 7(32) - XProfan X2.0c AMD Athlon II X2 2,9 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon 3000 / Windows 7(64) - XProfan X2.0c http://www.xprofan.de |
|
|
|
|
|
|
#7 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.776
|
@Chris_S: Ich glaube, dir geht es hier um die Umsetzung von C Quelltexten nach XPProfan hin, sehe ich das richtig? Vielleicht hast du noch ein Beispiel parat, indem es etwas umständlich ist, mit XProfan die UNION auseinanderzutüfteln?
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#8 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
|
@Roland: Wie gebe ich b2# dann wieder frei? Kann ich das nicht auch ohne New/Dim-Zuweisung umleiten?
__________________
XProfan-Profi (XProfan X2+XPIA) http://jacdelad.bplaced.net http://jacdelad.square7.ch |
|
|
|
|
|
#9 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 28.03.2009
Beiträge: 117
|
@AHT:
Code:
typedef struct in_addr {
union {
struct {
u_char s_b1,s_b2,s_b3,s_b4;
} S_un_b;
struct {
u_short s_w1,s_w2;
} S_un_w;
u_long S_addr;
} S_un;
} IN_ADDR, *PIN_ADDR, FAR *LPIN_ADDR;
@Roland: werde ich mir nochmal näher anschauen, klingt auf jeden Fall einleuchtend |
|
|
|
|
|
#10 (Direktlink) | |
|
Forenmaskottchen
![]() Registriert seit: 08.02.2009
Ort: Nußloch (bei Heidelberg)
Beiträge: 550
|
Zitat:
Eine Umleitung ohne New/Dim ist nicht möglich. Wie willst Du denn dann der Bereichsvariablen ihre Struktur beibringen? (Ok, man könnte sich eine neue Syntax ausdenken, bei der der zweite Bereich gleich auf den ersten gelegt wird ...) Gruß Roland
__________________
Pentium D 2,8 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon HD5450 1024 MB / Windows 7(32) - XProfan X2.0c AMD Athlon II X2 2,9 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon 3000 / Windows 7(64) - XProfan X2.0c http://www.xprofan.de |
|
|
|
|
|
|
|
#11 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
|
Oh, verstehe.
__________________
XProfan-Profi (XProfan X2+XPIA) http://jacdelad.bplaced.net http://jacdelad.square7.ch |
|
|
|
|
|
#12 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 08.02.2009
Ort: Nußloch (bei Heidelberg)
Beiträge: 550
|
Dabei entspricht das doch schon nahezu exakt meinem Beispiel-Code, nur das noch eine dritte Struktur dazu kommt, bei der jedes Byte als Zeichen angesprochen werden kann. Kein Problem:
Code:
Struct In_Addr1 = s_b1$(1), s_b2$(1), s_b3$(1), s_b4$(1) Struct In_Addr2 = s_w1%, s_w2% Struct In_Addr3 = s_addr& var s_un_b# = new(In_Addr1) var s_un_w# = new(In_Addr2) var s_un# = new(In_Addr3) s_un_w# = Addr(s_un_b#) s_un# = Addr(s_un_b#) s_un_b#.s_b1$ = "T" s_un_b#.s_b2$ = "e" s_un_b#.s_b3$ = "r" s_un_b#.s_b4$ = "t" Print s_un_w#.s_w1% Print s_un_w#.s_w2% Print s_un#.s_addr& WaitInput Dispose s_un_b#, s_un_w#, s_un# end Roland
__________________
Pentium D 2,8 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon HD5450 1024 MB / Windows 7(32) - XProfan X2.0c AMD Athlon II X2 2,9 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon 3000 / Windows 7(64) - XProfan X2.0c http://www.xprofan.de |
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Angriff auf Kunden von Western Union | markusg | Aktuelle Meldungen | 0 | 07.01.2010 14:42 |