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 > Helfer & Tools

Helfer & Tools Programme für und in XProfan und Fragen dazu.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag Hilfe bei Script Erstellung
Aufrufe: 15, Antworten: 3
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26731, Antworten: 4206
Gehe zum ersten neuen Beitrag Grand Prix 2012 Eurovision
Aufrufe: 36, Antworten: 4
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 121, Antworten: 14
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7572, Antworten: 179
Gehe zum ersten neuen Beitrag Verlust der Internetverbindung
Aufrufe: 43, Antworten: 2
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 34, Antworten: 2
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 25, Antworten: 4
Gehe zum ersten neuen Beitrag Dateien lassen sich nicht...
Aufrufe: 34, Antworten: 3
Gehe zum ersten neuen Beitrag Programmvorstellung:...
Aufrufe: 22, Antworten: 1
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12.05.2009, 22:12   #1 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.093
Standard XPIA-Neuigkeiten

Meinen XProfan Inline Assembler gibt es jetzt - nach großem Umbau - in Version 4.0.

Der XPIA macht es möglich, XProfan und Assembler zusammen in einem Quelltextes zu verwenden.
Durch ein spezielles Verfahren wandelt der Inline-Assembler die Assembler-Befehle (MASM32-Syntax) in Maschinencode um. Dieser wird so in den XProfan-Quelltext integriert, dass ein Code entsteht, der ohne zusätzliche Dateien compiliert und ausgeführt werden kann. Alle mit XPIA erzeugten XProfan-Quellcodes benötigen weder DLL, noch andere Zusatzdateien!



Die Wundermaschine XPIA bietet ganz nebenbei eine Erweiterung des XProfan- Befehlssatzes unter Zuhilfenahme superschneller Assembler-Funktionen und ganzer ASM-Bibliotheken. Es kann sogar die High-Level Syntax des MASM32 (.while/.endw/.break/.continue, .repeat/.until, .if/.else/.elseif/.endif) benutzt werden, und alle existierenden Macros und Libraries. Das Endprodukt ist eine alleinstehende Exe-Datei, die einem C++ oder Delphi Programm in nichts nachsteht, ja sogar noch schneller arbeitet.

Zu finden auf meiner Webseite.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.

Geändert von X-MAN (14.06.2009 um 19:53 Uhr)
Frabbing ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 12.05.2009, 22:27   #2 (Direktlink)
Ist öfter hier
 
Registriert seit: 21.02.2009
Beiträge: 71
Standard

Jup klasse.

Ich möchte jetzt Profan2Cpp einbinden.
Wo muss jetzt "invokeXpia" genau hingelenkt werden, damit Profan2Cpp damit funktioniert?
Habe es zur Zeit auf xpia_dir gelegt.

Bekomme von Profan2Cpp viele Fehlermeldungen. Auch wenn ich die "$MAKE" mit allen Buchstaben reinsetze.

Mit dem Profan2Cpp, Xpia 3.1 und Xpse läuft es einwandfrei.


mfg

Code:
$H Windows.ph

declare x1!,y1!,dx!,dy!,winkel!,y&,z&,groesse&
declare hWin&,hwin1&,hintergr&,hintergr1&,block&,hintergrauto&
declare width&,height&,ende&,bild_auto&
declare bmi# ,ogl_rgb#,b#,rechteck1#,rechteck2#,rechteck3#
declare xb1&,yb1&,xb2&,yb2&,xd&,yd&,colli&,xx1&,yy1&

groesse&=64*64*4
dim b#,groesse&
dim ogl_rgb#,groesse&

If 0
   AsmStart rgb_farbe
      Parameters b#,groesse&

      LOCAL r :BYTE
      LOCAL g :BYTE
      LOCAL b :BYTE
      LOCAL n :DWORD
      mov eax,para2
      mov n,eax
      mov ecx,0
      mov ebx,para1

      .while ecx<=n
         mov al,[ebx+ecx]
         mov r,al
         mov al,[ebx+ecx+1]
         mov g,al
         mov al,[ebx+ecx+2]
         mov b,al
         mov al,b

         .if al>252
            mov eax,255
            .break
         .endif

         mov al,g
         .if al>252
            mov eax,255
            .break
         .endif

         mov al,r
         .if al>252
            mov eax,255
            .break
         .endif

         add ecx,4
      .endw
   AsmEnd(z&)
endif

ende&=1

Window 20,20-800,600
Cls @RGB(220,220,220)
hWin& = @Create("text", %hwnd, "Test1", 10, 10, 64,64)
hWin1& = @Create("text",%hwnd, "Test2", 200, 10,500,500)

hintergr&=create("hnewpic",500,500,$00ffff)
hintergr1&=create("hnewpic",500,500,$00ffff)
block&=create("hnewpic",64,64,$00f000)
bild_auto&=create("hnewpic",64,64,$00ff00)

oGL("Init", hwin&, 0,0, 0, 0)
oGL("PosMode", 1) 

bild_auto& = Create("hnewPic",64,64,0 )
var tex.auto& = oGL("LoadTextureBMP","auto1.bmp",1)

STRUCT rect = x&,y&,w&,h&
DIM rechteck1#, rect
DIM rechteck2#, rect
DIM rechteck3#, rect

mcls 64,64
height&=64
width&=64

bitmap_header

drawglscene
drawglscene
oglzubmp
dx!=100 
dy!=100
drawscene

WHILE ende&
  sleep 1
  if isKey(81)
    winkel!=winkel!+1.0
    drawglscene
    oglzubmp
    drawscene
  endif
  
  if isKey(69)
    winkel!=winkel!-1.0
    drawglscene
    oglzubmp
    drawscene
  endif
  
  if isKey(87)
    y1!=Sin((-winkel!)/180.0*pi())*2
    x1!=Cos((-winkel!)/180.0*pi())*2
    dx!=dx!-x1!
    dy!=dy!-y1! 
    drawglscene
    oglzubmp
    drawscene
  endif
  
  if isKey(83)
    y1!=Sin((-winkel!)/180.0*pi())*2
    x1!=Cos((-winkel!)/180.0*pi())*2
    dx!=dx!+x1!
    dy!=dy!+y1! 
    drawglscene
    oglzubmp
    drawscene
  endif
  
  collision
  
  StartPaint %hwnd
    DrawText 10,300,(Format$("######0'      '",colli&))
    DrawText 10,320,(Format$("######0'      '",z&))
  endpaint    
ENDWHILE

end

proc collision
     With rechteck1#
      .x& = 0
      .y& = 0
      .w& = 0
      .h& = 0
    EndWith
    With rechteck2#
      .x& = dx!
      .y& = dy!
      .w& = dx!+64
      .h& = dy!+64
    EndWith
    With rechteck3#
      .x& = 300
      .y& = 200
      .w& = 364
      .h& = 264
    EndWith
    
    colli&=~IntersectRect(rechteck1#,rechteck2#,rechteck3#)
    
    if colli&=1
      pixelausgabe
    endif  
endproc
proc pixelausgabe
  ~GetDIBits(%hdc,hintergrauto&,0,64,b#,bmi#,0)
  z&=Call(xpia_getprocaddressm(xpia_hmodule&,"rgb_farbe"),b#,groesse&)
endproc

proc oglzubmp
  ogl("glReadPixels",0,0,64,64,~GL_BGRA,~GL_UNSIGNED_BYTE,ogl_rgb#) 
  ~setDIBits(%hdc,bild_auto&,0,64,ogl_rgb#,bmi#,0) 
  startpaint -1
    drawpic bild_auto&,0,0;-1
  endpaint  
endproc

proc drawglscene
  OGL("Clear")
  OGL("origin",0,0,-1.11)
    OGL("texture",tex.auto&,1)
    OGL("rotate",0,0,winkel!)
    OGL("quad",0.7,0.7)
  OGL("show")
endproc

proc drawscene
  startpaint hintergr&
    drawpic hintergr1&,0,0;0
    drawpic block&,300,200;0
    mcopybmp 0,0 - 64,64 > dx!,dy!,-1
  endpaint
  startpaint hwin1&
    drawpic hintergr&,0,0;0    
  endpaint
  hintergrauto&=create("hpiccopy",hintergr&,300,200,64,64)
  startpaint hwin&
    drawpic hintergrauto&,0,100;0
  endpaint
endproc

proc bitmap_header
  def &BI_RGB 0
  def &DIB_RGB_COLORS 0
 
  struct BITMAPINFOHEADER = \
    biSize&, biWidth&, biHeight&, biPlanes%, biBitCount%, biCompression&, \
    biSizeImage&, biXPelsPerMeter&, biYPelsPerMeter&, biClrUsed&, biClrImportant&
 
  dim bmi#,BITMAPINFOHEADER 
  clear bmi# 
  with bmi# 
    .biSize&        = sizeof(bmi#)
    .biWidth&       = width&
    .biHeight&      = height&
    .biPlanes%      = 1
    .biBitCount%    = 32
    .biCompression& = &BI_RGB
    .biSizeImage&   = ((.biWidth& * .biBitCount% \ 8 - 1) | 3 + 1) * abs(.biHeight&)
  endwith
endproc

Geändert von profanfan (12.05.2009 um 22:50 Uhr)
profanfan ist offline   Mit Zitat antworten
Alt 13.05.2009, 00:33   #3 (Direktlink)
Dauergast
 
Benutzerbild von p. specht
 
Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.078
Standard

Bravissimo, das war jetzt echt flott!

Frage 1:
Basis v1.94c vom 12/24/2008 (stable) mit Masm6.14-Kompatibilität bis SSE3 ? Oder ganz eigenständig? Oder doch v1.95RC release candidate vom 05/11/2009 (Ich frage wegen des relativ langen ChangeLog) ?

Frage 2:
Ich möchte sicherstellen, daß ich auf die ältere XPIA-Version weiterhin Zugriff habe.
Kann ich das XPIA4.0 setting da bedenkenlos drüberlaufen lassen?

Gruss
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3

Geändert von p. specht (13.05.2009 um 01:06 Uhr)
p. specht ist offline   Mit Zitat antworten
Alt 13.05.2009, 06:43   #4 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.093
Standard

Zitat:
Ich möchte jetzt Profan2Cpp einbinden.
Wo muss jetzt "invokeXpia" genau hingelenkt werden, damit Profan2Cpp damit funktioniert?
Habe es zur Zeit auf xpia_dir gelegt.
Ich habe keine aktuelle Version von Profan2Cpp und Sebastian war schon lange nicht mehr online über Skype.
Auf jeden Fall muß es über $TOOL eingebunden werden, kann aber sein, dass Sebastian noch Anpassungen vornehmen muß. Am besten postest du das Problem mal in seinem Forum.

XPSE macht ebenfalls noch Probleme, weil es keine Commandlines annimmt.
Ich hab es getestet mit:

$MAKE N
$TOOL N XPSE "%"
{$cleq}

Das sollte funktionieren, aber dabei gibt es noch Probleme. Das müßte sich David mal ansehen.




Zitat:
Basis v1.94c vom 12/24/2008 (stable) mit Masm6.14-Kompatibilität bis SSE3 ? Oder ganz eigenständig? Oder doch v1.95RC release candidate vom 05/11/2009 (Ich frage wegen des relativ langen ChangeLog) ?
Basis V1.94c. Du kannst dir aber jederzeit eine andere Version oder auch MASM in xpia_dir/bin einbinden, anstelle von jwasm.exe.

Zitat:
Ich möchte sicherstellen, daß ich auf die ältere XPIA-Version weiterhin Zugriff habe.
Kann ich das XPIA4.0 setting da bedenkenlos drüberlaufen lassen?
Ältere Versionen benutzen ja den Ordner xpia, während Version 4 den Ordner xpia_dir benutzt. Du müsstest da nur die xpia.exe wechseln.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 14.05.2009, 00:54   #5 (Direktlink)
Dauergast
 
Benutzerbild von p. specht
 
Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.078
Standard

Ah ok, danke!
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3
p. specht ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 14.05.2009, 16:46   #6 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.093
Standard

Kein Problem, testet in Ruhe alles aus.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 15.05.2009, 17:50   #7 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.093
Standard

Zitat:
Ich möchte jetzt Profan2Cpp einbinden.
Profan2Cpp einbauen geht mittels XPIA recht simpel. Schreibt diese beiden Zeilen oben in eure .prf-Datei:

Code:
$MAKE N
$TOOL N Dateipfad/Profan2Cpp.exe -close -f "%"
Wenn alles klappt, wird im Ordner der .prf ein gleichnamiger Ordner mit den Cpp-Sachen und der fertigen Exe erzeugt.

Sebastian, passt sein XPIA-Plugin ebenfalls noch an, sodass der Aufruf auch anders herum funktioniert. So könnt ihr als User euch aussuchen, wie herum ihr die beiden Tools benutzt.
Mit dem XPSE strebe ich es genauso an.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.

Geändert von Frabbing (15.05.2009 um 17:53 Uhr)
Frabbing ist offline   Mit Zitat antworten
Alt 15.05.2009, 23:20   #8 (Direktlink)
Ist öfter hier
 
Registriert seit: 21.02.2009
Beiträge: 71
Standard

Jup, danke.
Jetzt funktioniert die Profan2Cpp auch mit dem Inline-Asm und Xpia4.
Alle meine alten Programme werden jetzt Fehlerfrei mit Profan2Cpp compiliert und laufen auch.

Das Anhängsel : -f " D " -d ":P" :! , welches die Exe-Datei aus dem Cpp-Ordner in den Profan-Source-Ordner kopiert funktioniert hier nicht.

mfg
profanfan ist offline   Mit Zitat antworten
Alt 16.05.2009, 00:10   #9 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.093
Standard

Das hier geht aber:

Code:
$MAKE NE
$TOOL N Dateipfad/Profan2Cpp.exe -close -f "%" -d "XProfanpfad"
Dann startet die Exe sogar.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 16.05.2009, 10:52   #10 (Direktlink)
Ist öfter hier
 
Registriert seit: 21.02.2009
Beiträge: 71
Standard

Jup, das war's.

Läuft wie gewünscht fehlerfrei in allen Positionen mit Profan2Cpp und kopiert die Datei ins Profanverzeichnis.

mfg

Geändert von profanfan (17.05.2009 um 17:09 Uhr)
profanfan ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 17.05.2009, 17:24   #11 (Direktlink)
Unregistriert
Gast
 
Beiträge: n/a
Standard

Habe ich das richtig verstanden ? Hier wird ein Programm vorgestellt, welches Inlineassembler für eine interprätierte Sprache bereitstellt ? Geht das auch für andere Sprachen, beispielsweise AutoIt ?
  Mit Zitat antworten
Alt 17.05.2009, 19:37   #12 (Direktlink)
AHT
Super-Moderator
 
Registriert seit: 15.02.2009
Beiträge: 10.782
Standard

Das was Frank dort geschrieben hat, ist speziell für Profan erstellt - die Technik dürfte vom Prinzip her aber auch in manch anderen interprätierenden Sprachen funktionieren, in denen man einen Call auf eine Adresse ausführen kann, denn die ist recht gut durchdacht.
__________________
______________

Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert!

Mfg

AHT
AHT ist gerade online   Mit Zitat antworten
Alt 17.05.2009, 20:33   #13 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.093
Standard

Zitat:
Habe ich das richtig verstanden ? Hier wird ein Programm vorgestellt, welches Inlineassembler für eine interprätierte Sprache bereitstellt ? Geht das auch für andere Sprachen, beispielsweise AutoIt ?
Ich müsste - denke ich - nur einige Änderungen durchführen, um XPIA an andere Sprachen anzupassen. Das betrifft:

- die Einbettung von Include-Dateien
- die Art des Umformens der generierten Dll in Binärform
- den Aufruf der Dll-Funktionen
- die Aufrufe hinter der Direktive $MAKE (kann via $TOOL kompensiert werden)

Eigentlich sollte jetzt schon auch in anderen Sprachen eine Dll generiert werden, sofern der Quellcode nicht aus mehreren Dateien besteht.
Bei genügend Interesse und angebotener Hilfeleistung (ich programmiere nur in XProfan und Assembler) kann ich gerne über eine "Portierung" nachdenken. In dem Fall kann man mich gerne per Mail persönlich ansprechen.

Auch eine Anpassung an 64 Bit kann in Zukunft ohne großen Aufwand betrieben werden, nur mal so am Rande erwähnt. Dazu müßte der Assembler/Linker angepasst werden, sowie seine Aufrufe. Und Änderungen an der Basis.inc durchgeführt werden, sowie Libraries ausgetauscht werden

Zitat:
...die Technik dürfte vom Prinzip her aber auch in manch anderen interprätierenden Sprachen funktionieren...
Ja, und in nativen Sprachen auch...
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.

Geändert von Frabbing (17.05.2009 um 20:39 Uhr)
Frabbing ist offline   Mit Zitat antworten
Alt 14.06.2009, 12:57   #14 (Direktlink)
Super-Moderator
 
Benutzerbild von Jac de Lad
 
Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
Standard

Die von mir in einem ähnlichen Thread vorgestellten Plugins sind ab sofort auf meiner Seite verfügbar (BuildMaker wurde auch geupdated).
XPIA macht sich langsam richtig gut. Es fehlt nur noch ein Syntax-Check.
__________________
XProfan-Profi (XProfan X2+XPIA)
http://jacdelad.bplaced.net
http://jacdelad.square7.ch
Jac de Lad ist offline   Mit Zitat antworten
Alt 14.06.2009, 19:52   #15 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.093
Standard

Passend dazu gibt es das XPIA-Update auf Version 4.12. Zu finden auf meiner Seite.

Weiterhin viel Spaß!
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Antwort

  Paules-PC-Forum.de > Programmierung > XProfan > Helfer & Tools

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
Neue Xpia profanfan Spezielles 49 01.07.2009 06:34
XPIA > neu profanfan Helfer & Tools 10 30.04.2009 17:08
XPIA - was brauche ich AHT Spezielles 39 29.04.2009 16:57
XPIA und zweiter Thread AHT Spezielles 6 26.04.2009 18:42
neue version über alte version installieren Kim. Windows XP 7 31.07.2005 15:30



Alle Zeitangaben in WEZ +2. Es ist jetzt 16:35 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