Italia
Bugs und vermeintliche

X11RC7: Problem mit &BmpCol

 

Sato
Pinto
Hallo

In der neuen und künftigen Xprofan version habe ich Probleme mit der Systemvariavel &BmpCol
KompilierenMarkierenSeparieren
Mit Xprofan 10 funktioniert es, bei Print &BmpCol wird richtig 2 ausgegeben

Gruss
Sato P.
 
Sato Pinto
WIN XP Home
XPROFAN 11
14.06.2008  
 




Jac
de
Lad
Versuch mal
KompilierenMarkierenSeparieren
declare BMPC&
bmpc&=&BmpCol
print BMPC&

If BMPC&<> 2

    drawtext 10,50,Grafik als monochrom konvertieren

E
a>
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
14.06.2008  
 



Thema verschoben und umbenannt.
 
14.06.2008  
 




RGH
Vielleicht hilft ein komplettes Beispielprogramm weiter. In dem angezeigten Code wird keine Bitmap geladen und isr &BmpCol daher undefiniert.

Saluto
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
14.06.2008  
 




Sato
Pinto
Hallo Roland

Vielleicht hilft diese kleine Proc die ein wenig abgespeckt ist
Was ich mache ist ein monochrome Graphic von 120x94 pixel auf ein dialog zu laden und schreibe in un datei den binären code der ganzen graphic der anschliessend circa die serielle schnitstelle auf einen microcontroller gesendet wird. Das funktioniert immer bis zur Xprofan10, mit der neue Xprofan version nicht mehr den die &bmpcol variavel liefert einen anderen Wert der nicht 2 ist. Nach dem laden der graphic überprüfe ich ob die grösse und es monochrom ist, fals nicht, wird es abgebrochen und die digitaliesierungs routine wird nicht durchgeführt.
KompilierenMarkierenSeparieren
proc converte_94x120

    graphic wählen zum laden

    if bombeiro120&

        temp$ = pfad$+Imagens\Bombeiros\120X94\

    elseif carga120&

        temp$ = pfad$+Imagens\Excesso de carga\120X94\

    endif

    LoadPicDialog(temp$,Seleccione o grÃ	fico,BMP)

    ifnot file$ =

        dlg2& = @Create(dialog,%hwnd,,110,210,150,150)
        @SetWindowPosition(dlg2&,-1,0,0,120,94,(2+(1+$40))) on top
        male die graphic auf ein dialog und konvertiere es anschliessend in binären code
        startpaint dlg2&
        loadbmp file$,0,0;0
        endpaint
        print %bmpx, ,%bmpy, ,&bmpcol

        If (%bmpx <> 120) or (%bmpy <> 94)

            @MessageBox((t#.translate(Converta por favor o grÃ	fico para 120x94 pixels e tente de novo)),(t#.translate(Tamanho errado)),48)
            @destroyWindow(dlg2&)
            return

        Endif

        If &BmpCol <> 2

            @MessageBox((t#.translate(Converta e guarde o grÃ	fico como monocromÃ	tico com um utilitÃ	rio como o Paint)),(t#.translate(Tamanho errado)),48)
            @destroyWindow(dlg2&)
            return

        Endif

        Hier kommt die konvertierungs routine

    Endif

Endproc

proc LoadPicDialog

    parameters local$,Titulo$,Nome$
    declare ofn#,Result&
    declare DefView&,Status%------VariÃ	vel para Hook
    Nome$=Nome$+z*.bmp;*.jpe;*.jpeg;*.jpg;*.gifzz--Filtro (ajustar se necessÃ	rio)
    dim ofn#,Gl_puffer&+256---------------Structura (Win2000/NT/XP) + Buffer
    clear ofn#
    long ofn#,0=Gl_puffer&----------------Tamanho da Estrutura para GetOpenFileName (76 para Win9x)
    long ofn#,4=%hwnd-------------Janela hirarquicamente superior
    long ofn#,12=addr(Nome$)------Filtro/Tipo
    long ofn#,28=ofn#+Gl_puffer&----------Inicio Buffer
    long ofn#,32=255--------------Tamanho Buffer
    long ofn#,44=addr(local$)------pfad inicial
    long ofn#,48=addr(Titulo$)-----Titulo
    long ofn#,52=$880024----------Flags
    long ofn#,68=procaddr(OpenFileHook,4)
    Result&=external(COMDLG32,GetOpenFileNameA,ofn#)
    file$=string$(ofn#,Gl_puffer&)
    casenot Result&:Result$=
    casenot Result&:file$=
    procaddr(OpenFileHook,-4)
    dispose ofn#
    return Result$
    return file$

ss=s4 href='./../../funktionsreferenzen/xprofan/endproc/'>endproc

In der neuen hilfe steht %BmpCol anstatt &BmpCol

Grüsse aus Portugal
Sato P.
 
Sato Pinto
WIN XP Home
XPROFAN 11
15.06.2008  
 




Sato
Pinto
Hallo Roland

Hier ein kleines Beispiel der bei mir bis Xprofan10 funktioniert
Vielleicht kannst damit sehen wo der Fehler steckt

Gruss
Sato

3 kB
Hochgeladen:22.06.2008
Downloadcounter118
Download
 
Sato Pinto
WIN XP Home
XPROFAN 11
22.06.2008  
 




RGH
Sato Pinto
Hallo Roland

Hier ein kleines Beispiel der bei mir bis Xprofan10 funktioniert
Vielleicht kannst damit sehen wo der Fehler steckt

Gruss
Sato


Ciao,
ich habe es herausgefunden: Seit XProfan 11 kann auch LoadBmp (bzw. DrawPic, wie der Befehl jetzt è), auch die anderen Formate und benutzt daher OLE zum Laden der Bitmap und nicht mehr wie bisher meine selbstgeschriebene Routine. OLE liefert aber das Bild passend zum DC des Bildschirms gerendert zurück und daher hat nach dem Laden das Bild die entsprechenden Werte. Im Speicher vor dem Zeichnen liegt das Bild also tatsächlich als eine Bitmap vor, die die gleiche Farbtiefe, wie der Bildschirm hat.
Mal schauen, ob ich per .BMP und .RLE wieder meine alte Routine ausgrabe und das alte Verhalten wieder herstelle.

Saluto
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
22.06.2008  
 




Sato
Pinto
Hallo Roalnd

Danke per Deine Bemühung

Gruss
Sato
 
Sato Pinto
WIN XP Home
XPROFAN 11
22.06.2008  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

2.719 Views

Untitledvor 0 min.

Themeninformationen

Dieses Thema hat 4 subscriber:

Sato Pinto (4x)
RGH (2x)
Jac de Lad (1x)
iF (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie