Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > XProfan > Anregungen & Bugreports

Anregungen & Bugreports Für Vorschläge an den Autor Roland und neue XProfan-Versionen

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50823, Antworten: 1388
Gehe zum ersten neuen Beitrag Dateien lassen sich nicht...
Aufrufe: 8, Antworten: 2
Gehe zum ersten neuen Beitrag Suche Programm um Werbung zu...
Aufrufe: 39, Antworten: 2
Gehe zum ersten neuen Beitrag McAfee AVERT Stinger...
Aufrufe: 2, Antworten: 0
Gehe zum ersten neuen Beitrag Sticky Password 6.0.2...
Aufrufe: 3, Antworten: 0
Gehe zum ersten neuen Beitrag Sicher Löschen 3.19 (Windows)
Aufrufe: 2, Antworten: 0
Gehe zum ersten neuen Beitrag Cleaning Suite 2.1 (Windows)
Aufrufe: 2, Antworten: 0
Gehe zum ersten neuen Beitrag GoodSync 9.2.0.0 (Windows,...
Aufrufe: 2, Antworten: 0
Gehe zum ersten neuen Beitrag GoodSync 9.2.0.0 (Windows)
Aufrufe: 2, Antworten: 0
Gehe zum ersten neuen Beitrag Trillian 1.3.0 (37) (Mac OS X)
Aufrufe: 2, Antworten: 0
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24.02.2010, 22:00   #1 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von Chris_S
 
Registriert seit: 28.03.2009
Beiträge: 117
Standard Union

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.
Chris_S ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 26.02.2010, 15:49   #2 (Direktlink)
Super-Moderator
 
Benutzerbild von Jac de Lad
 
Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
Standard

Was ist das? Ich tippe mal auf eine Art Datentyp?
__________________
XProfan-Profi (XProfan X2+XPIA)
http://jacdelad.bplaced.net
http://jacdelad.square7.ch
Jac de Lad ist offline   Mit Zitat antworten
Alt 26.02.2010, 16:04   #3 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.089
Standard

Ich mochte gar nicht fragen...
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 26.02.2010, 16:06   #4 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von Chris_S
 
Registriert seit: 28.03.2009
Beiträge: 117
Standard

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)
Chris_S ist offline   Mit Zitat antworten
Alt 26.02.2010, 16:07   #5 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.776
Standard

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)
AHT ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 26.02.2010, 17:03   #6 (Direktlink)
RGH
Forenmaskottchen
 
Benutzerbild von RGH
 
Registriert seit: 08.02.2009
Ort: Nußloch (bei Heidelberg)
Beiträge: 550
Standard

Zitat:
Zitat von Chris_S Beitrag anzeigen
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)
Korrekt!

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
Der zweite Bereich könnte auch nur einem Teil des ersten entsprechen. Dann muss beim Zuweisen der Offset berücksichtigt werden (B2# = Addr(B1#) + Offs&).

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
RGH ist offline   Mit Zitat antworten
Alt 26.02.2010, 17:25   #7 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.776
Standard

@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
AHT ist offline   Mit Zitat antworten
Alt 26.02.2010, 17:56   #8 (Direktlink)
Super-Moderator
 
Benutzerbild von Jac de Lad
 
Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
Standard

@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
Jac de Lad ist offline   Mit Zitat antworten
Alt 26.02.2010, 18:21   #9 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von Chris_S
 
Registriert seit: 28.03.2009
Beiträge: 117
Standard

@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;
An verlinktem Beispiel bin ich unlängst verzweifelt.


@Roland: werde ich mir nochmal näher anschauen, klingt auf jeden Fall einleuchtend
Chris_S ist offline   Mit Zitat antworten
Alt 26.02.2010, 18:28   #10 (Direktlink)
RGH
Forenmaskottchen
 
Benutzerbild von RGH
 
Registriert seit: 08.02.2009
Ort: Nußloch (bei Heidelberg)
Beiträge: 550
Standard

Zitat:
Zitat von Jac de Lad Beitrag anzeigen
@Roland: Wie gebe ich b2# dann wieder frei? Kann ich das nicht auch ohne New/Dim-Zuweisung umleiten?
Die Freigabe erfolgt wie auch bei B1#. (XProfan merkt sich auch bei der "Umleitung" die ursprüngliche Adresse und kann daher den Bereich korrekt wieder freigeben.)

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
RGH ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 26.02.2010, 18:30   #11 (Direktlink)
Super-Moderator
 
Benutzerbild von Jac de Lad
 
Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
Standard

Oh, verstehe.
__________________
XProfan-Profi (XProfan X2+XPIA)
http://jacdelad.bplaced.net
http://jacdelad.square7.ch
Jac de Lad ist offline   Mit Zitat antworten
Alt 26.02.2010, 18:45   #12 (Direktlink)
RGH
Forenmaskottchen
 
Benutzerbild von RGH
 
Registriert seit: 08.02.2009
Ort: Nußloch (bei Heidelberg)
Beiträge: 550
Standard

Zitat:
Zitat von Chris_S Beitrag anzeigen
An verlinktem Beispiel bin ich unlängst verzweifelt.
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
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
RGH ist offline   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > XProfan > Anregungen & Bugreports

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Angriff auf Kunden von Western Union markusg Aktuelle Meldungen 0 07.01.2010 14:42



Alle Zeitangaben in WEZ +2. Es ist jetzt 22:05 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2