Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Invalid assignment/conversion

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
LXNDR



Anmeldungsdatum: 16.08.2011
Beiträge: 5

BeitragVerfasst am: 16.08.2011, 13:58    Titel: Invalid assignment/conversion Antworten mit Zitat

Hallo,

ich habe schon hier im Forum gesucht, bin aber nur auf den Thread gekommen, wo behauptet wird das dies ein Bug sei. Vielleicht ist es in meinem Fall aber was anderes. Ich hoffe mir kann jemand helfen, weil ich schon am Verzweifeln bin xD.

Und zwar ist mein Quellcode:

Code:

Dim As Integer hoehe, breite, pointerHoehe, pointerBreite, zaehler, farbe

...

Do
   Print "x: " & pointerHoehe & " y: " & pointerBreite
   farbe = Hex(Point(pointerHoehe, pointerBreite))
   Print farbe
   If farbe = &H000000 Then
      zaehler = zaehler + 1
      Print "Schwarz erkannt"
   EndIf
   If farbe = &HFFFFFF Then
      Print "Weiss erkannt"
   EndIf
   
   pointerBreite = pointerBreite + 1
   If pointerBreite > breite Then
      pointerBreite = 1
      pointerHoehe = pointerHoehe + 1
   EndIf
   If pointerHoehe > hoehe Then
      Exit Do
   EndIf
   
   Sleep 10
Loop


Der Fehler der Ausgegeben wird ist:

Code:

error 159: Invalid assignment/conversion in 'farbe = Hex(Point(pointerHoehe, pointerBreite))'


Viele Grüße,
LXNDR
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4702
Wohnort: ~/

BeitragVerfasst am: 16.08.2011, 14:13    Titel: Antworten mit Zitat

'farbe' ist ein Integer, während HEX einen String zurückgibt. Du kannst das HEX hier, soweit ich sehe, einfach weglassen; das &h macht schon das, was du willst.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
LXNDR



Anmeldungsdatum: 16.08.2011
Beiträge: 5

BeitragVerfasst am: 16.08.2011, 14:21    Titel: Antworten mit Zitat

Hallo,

leider wird nur, wenn ich das HEX weg lasse immer: -1 unter der Variable farbe ausgegeben. weinen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
LXNDR



Anmeldungsdatum: 16.08.2011
Beiträge: 5

BeitragVerfasst am: 16.08.2011, 14:23    Titel: Antworten mit Zitat

Ich habe eine Lösung gefunden. Einfach als String.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 16.08.2011, 14:35    Titel: Antworten mit Zitat

Hallo,

das Problem liegt daran, dass du für farbe einen vorzeichenbehafteten Integer benutzt. Schau dir mal dieses Beispiel an:
Code:
screenres 640, 480, 32
Line (0,0)-(639,479), &HFFFFFFFF, BF
Dim As Integer mitVorzeichen
Dim As UInteger ohneVorzeichen
mitVorzeichen = Point(100,100)
ohneVorzeichen = Point(100,100)
Print " mit Vorzeichen  (Integer) -> " & mitVorzeichen
Print "ohne Vorzeichen (UInteger) -> " & ohneVorzeichen
sleep


Hex und die Speicherung als String ist nicht notwendig. Was es mit der Hex-Funktion hier auf sich hat:
Code:
'Die -1 wird im Folgenden als Integer-Literal interpretiert und zu UInt gecastet,
'da HEX nur mit nicht-negativen Argumenten arbeitet. Deshalb kann man hier auch
'die vorzeichenbehaftete Interpretation der 32 "Zahlbits" angeben, ohne dass es
'zu einem Fehler kommt.
Print "Hex(-1) = " & Hex(-1)
'...und noch ein Beispiel:
Print "Hex(-2) = " & Hex(-2)
sleep


Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 16.08.2011, 14:35    Titel: Antworten mit Zitat

LXNDR hat Folgendes geschrieben:
leider wird nur, wenn ich das HEX weg lasse immer: -1 unter der Variable farbe ausgegeben. weinen

Das ist auch völlig korrekt, wenn man die Farbe als vorzeichenbehaftete Ganzzahl darstellen möchte.

Edit: Seb war schneller...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
LXNDR



Anmeldungsdatum: 16.08.2011
Beiträge: 5

BeitragVerfasst am: 16.08.2011, 14:45    Titel: Antworten mit Zitat

Hallo,

ich kenne mich leider nicht gut mit Grafik aus, weil ich es selten benutze. Es funktioniert jetzt auch, leider nur träge langsam.

Das Programm soll aus BMP Dateien mit den Maßen 500 x 500 bis 1700 x 1700 Pixeln die schwarzen Pixel auszählen. Bei dieser Geschwindigkeit dauert es nur sehr lange, weil das Programm nacher bis zu 10000 Dateien nacheinander Überprüfen muss. Weiss vll. noch jmd. wie man das machen könnte?

VG LXNDR
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 16.08.2011, 14:51    Titel: Antworten mit Zitat

Bei dieser Datenmenge musst du dich nicht wundern, wenn es langsam ist, einige Dinge aber zur Beschleunigung:

Zuerst alle PRINTs rauswerfen, das kostet Zeit. Dann nichts mit HEX, nichts mit POINT, was du brauchst sind Pointer, siehe Referenz im FreeBASIC-Portal. Für die Auswertung würde sich Inline ASM anbieten, wäre auch im Portal nachzulesen, allerdings etwas komplizierter. Und bei so vielen Schleifendurchgängen das SLEEP rauswerfen und die erhöhte CPU-Last in Kauf nehmen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
LXNDR



Anmeldungsdatum: 16.08.2011
Beiträge: 5

BeitragVerfasst am: 16.08.2011, 14:52    Titel: Antworten mit Zitat

Okay, ich versuche es mal mit Pointern. Mal gucken ob ich es schaffe xD weil ich habe wie gesagt noch nicht viel mit Grafik gemacht.



VG LXNDR
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 16.08.2011, 20:41    Titel: Antworten mit Zitat

MOD hat Folgendes geschrieben:
Für die Auswertung würde sich Inline ASM anbieten...

ganz ehrlich: bevor du mit inline ASM in freebasic anfängst, bist du eventuell mit C oder C++ besser bedient.
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 16.08.2011, 21:10    Titel: Antworten mit Zitat

Auswertungen mit C wären kein Stück performanter als mit FB, das größste Problem ist POINT. Das mit ASM war nur am Rande erwähnt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 16.08.2011, 21:10    Titel: Antworten mit Zitat

Flo hat Folgendes geschrieben:
MOD hat Folgendes geschrieben:
Für die Auswertung würde sich Inline ASM anbieten...

ganz ehrlich: bevor du mit inline ASM in freebasic anfängst, bist du eventuell mit C oder C++ besser bedient.

Das Gerücht, dass C(++) "schneller" sei als andere Sprachen (!), hält sich zwar hartnäckig, ist aber einfach Quatsch. Sprachen besitzen schlichtweg keine Ausführungsgeschwindigkeit. (weiß nicht genau, ob du etwas in dieser Richtung andeuten wolltest)
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 16.08.2011, 22:25    Titel: Antworten mit Zitat

Ich hab mal einen Beispielcode im NoPaste hochgeladen. Sicher noch optimierbar, aber es zeigt schon, wo es hingeht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 16.08.2011, 22:47    Titel: Antworten mit Zitat

In der Tat noch stark optimierbar.
Zitat:
32+x*4+y*(16*4)

1) Funktioniert nur bei Bildern, die kein Alignment benötigen
2) Die ganzen Additionen und Multipliaktionen werden unnötigerweise bei jedem Pixel aufgerufen. Sinnvoller ist es, einen Pointer durch das Array laufen zu lassen. Siehe hierzu auch diesen alten, aber nach wie vor gültigen Artikel ("DON'T CALCULATE THINGS YOU SHOULD ALREADY KNOW").
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 18.08.2011, 18:25    Titel: Antworten mit Zitat

Sebastian hat Folgendes geschrieben:
Flo hat Folgendes geschrieben:
MOD hat Folgendes geschrieben:
Für die Auswertung würde sich Inline ASM anbieten...

ganz ehrlich: bevor du mit inline ASM in freebasic anfängst, bist du eventuell mit C oder C++ besser bedient.

Das Gerücht, dass C(++) "schneller" sei als andere Sprachen (!), hält sich zwar hartnäckig, ist aber einfach Quatsch. Sprachen besitzen schlichtweg keine Ausführungsgeschwindigkeit. (weiß nicht genau, ob du etwas in dieser Richtung andeuten wolltest)


das meinte ich nicht...
fakt ist, dass C und C++ zu den meistverwendeten sprachen gehören, und es daher anzunehmen ist, dass es auch viel besser optimierende compiler gibt (ich bin sicher, dass intel's c compiler schnellere binaries erzeugt als fbc zwinkern , bei vergleichbarem code natürlich!)

und außerdem hat man bei C ein gesundes mittel zwischen maschinennähe und lesbarem code sowie portabilität
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 18.08.2011, 21:36    Titel: Antworten mit Zitat

Flo hat Folgendes geschrieben:
und außerdem hat man bei C ein gesundes mittel zwischen maschinennähe und lesbarem code sowie portabilität

warum las ich da erst "Nähmaschine"? durchgeknallt
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 18.08.2011, 21:52    Titel: Antworten mit Zitat

Intel C++ kostet ja auch 1.500 €...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 22.08.2011, 14:27    Titel: Antworten mit Zitat

Sorry für's 'Ausbuddeln' aber fand das Thema ganz interessant...
Das POINT recht langsam ist sollte ja mehr oder weniger jedem klar sein,
jedoch fand ichs noch interessanter das abgesehen von Voltas ASM lösung den ich im portal fand, MODs lösung trotz unnötig wiederholenden berechnungen verdammt schnell ist... hab alles versucht das ganze ohne diese wiederholenden rechnungen zu optimieren und trotzdem waren die ergebnisse allesamt langsamer...

Code:
Screen 19, 32
Dim As Any Ptr bild
bild = ImageCreate(800, 600)
BLoad "Test.bmp", bild


Function ImageCountPOINT (byval Image as any ptr, _
                          byval vonX as Integer , byval vonY as Integer, _
                          byval bisX as Integer , byval bisY as Integer) as Double
                         
    Dim POINTTimer as Double
    Dim DummyCount as UInteger
   
    POINTTimer = Timer
    For y as Integer = vonY To bisY
    For x as Integer = vonX To bisX
        If Point(x, y, Image) = &hFF000000 Then
            DummyCount += 1
        EndIf
    Next x
    Next y
   
    Return (Timer - POINTTimer)
End Function


Function ImageCountCPTR  (byval Image as any ptr, _
                          byval vonX as Integer , byval vonY as Integer, _
                          byval bisX as Integer , byval bisY as Integer) as Double
    Dim CPTRTimer  as Double
    Dim DummyCount as UInteger
   
    CPTRTimer = Timer
   
    Dim Buffer as UInteger Ptr = Image
    Dim Pitch  as UInteger     = Buffer[4]
   
    For y as Integer = vonY To bisY
    For x as Integer = vonX To bisX
        If *Buffer+(32+x*4+y*(Pitch)) = &hFF000000 Then
            DummyCount += 1
        EndIf
    Next x
    Next y

    Return (Timer - CPTRTimer)
End Function


Function ImageCountASM (byval Image as any ptr, _
                        byval vonX as Integer , byval vonY as Integer, _
                        byval bisX as Integer , byval bisY as Integer) as Double

    Dim UINTTimer  as Double
    Dim DummyCount as ULongINT
    Dim x as Integer
    Dim y as Integer
   
    UINTTimer=Timer
   
    x=((bisX-vonX)*(bisY-vonY))                 'Anzahl Farbpixel
    y=Cast(Integer,Image)+32 'Startadresse
    Asm
        mov ebx, dword ptr [x] 'Anzahl Farbpixel
        mov edx, dword ptr [y] 'Startadresse
        Xor ecx, ecx           'Zähler=0
        LLoop1:
        mov eax, [edx]         'Farbpixel holen
        And eax, &hffffff      'nur RGB
        jnz LLoop2             'nicht 0, dann nicht zählen
        inc ecx                '+=1 Pixel schwarz
        LLoop2:
        add edx, 4             '+=4 Adresse
        dec ebx                '-=1 Pixel
        jnz LLoop1
        mov dword ptr [DummyCount], ecx
    End Asm
   
    Return (Timer - UINTTimer)
End Function


Function ImageCountMy  (byval Image as any ptr, _
                        byval vonX as Integer , byval vonY as Integer, _
                        byval bisX as Integer , byval bisY as Integer) as Double
                       
    Dim MyTimer  as Double
    Dim DummyCount as UInteger
   
    MyTimer = Timer
   
    Dim Buffer as UInteger Ptr = Image
    Dim Pitch  as UInteger     = Buffer[4]
   
    Dim PAdr   as UInteger PTR = Buffer+32+(vonX*4)+(vonY*Pitch)
    Dim APos   as UInteger PTR
   
    For y as Integer = vonY To bisY
        APos=PAdr
    For x as Integer = vonX To bisX
        If *APos = &hFF000000 Then
            DummyCount += 1
        EndIf
        APos+=4
    Next x
        PAdr+=Pitch
    Next y

    Return (Timer - MyTimer)
End Function

for l as integer=0 to 4
Print "Erste  Zeit:";
Print Using "#.#############";ImageCountPOINT(Bild,0,0,100,100)
sleep 5
Print "Zweite Zeit:";
Print Using "#.#############";ImageCountCPTR(Bild,0,0,100,100)
sleep 5
Print "Dritte Zeit:";
Print Using "#.#############";ImageCountASM(Bild,0,0,100,100)
sleep 5
Print "Vierte Zeit:";
Print Using "#.#############";ImageCountMy(Bild,0,0,100,100)
sleep 5
next l


ImageDestroy (Bild)
Sleep

_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 22.08.2011, 14:52    Titel: Antworten mit Zitat

@EP: Hast du mal überprüft, ob die Funktionen für ein bestimmtes Bild alle dasselbe Zählergebnis liefern?
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 22.08.2011, 15:05    Titel: Antworten mit Zitat

ui.. nicht wirklich, ich glaube da könnte ein problem drin stecken grinsen

Code:
Point - Count: 9266 - Zeit: 0.0042773592726
CPTR  - Count:    0 - Zeit: 0.0000910730275
ASM   - Count: 9801 - Zeit: 0.0000835301696
MyPTR - Count: 9797 - Zeit: 0.0002396952688


So sieht das ganze schon bisschen anders aus, allerdings ist die ASM noch fehlerhaft, vermutlich wegen des Pitch, leider versteh ich ASM zu wenig und da einen solchen Sprung hinzuzufügen...

Code:
Screen 19, 24
Dim As Any Ptr bild
bild = ImageCreate(800, 600)
BLoad "Testblack.bmp", bild


SUB ImageCountPOINT (byval Image as any ptr, _
                     byval vonX as Integer , byval vonY as Integer, _
                     byval bisX as Integer , byval bisY as Integer)
                         
    Dim POINTTimer as Double
    Dim DummyCount as UInteger
   
    POINTTimer = Timer
    For y as Integer = vonY To bisY
    For x as Integer = vonX To bisX
        If (Point(x, y, Image) AND &hFFFFFF) = 0 Then
            DummyCount += 1
        EndIf
    Next x
    Next y
   
    Print "Count POINT: ";
    Print Using "######";DummyCount;
    Print " Zeit POINT: ";
    Print Using "#.#############";(Timer - POINTTimer)
   
'    Return (Timer - POINTTimer)
End SUB


SUB ImageCountCPTR  (byval Image as any ptr, _
                     byval vonX as Integer , byval vonY as Integer, _
                     byval bisX as Integer , byval bisY as Integer)
    Dim CPTRTimer  as Double
    Dim DummyCount as UInteger
   
    CPTRTimer = Timer
   
    Dim Buffer as UInteger Ptr = Image
    Dim Pitch  as UInteger     = Buffer[4]
   
    For y as Integer = vonY To bisY
    For x as Integer = vonX To bisX
        If (*cast(UInteger ptr,Image+(32+(x*4)+(y*Pitch))) AND &hFFFFFF)= 0 Then
            DummyCount += 1
        EndIf
    Next x
    Next y

    Print "Count CPTR : ";
    Print Using "######";DummyCount;
    Print " Zeit CPTR : ";
    Print Using "#.#############";(Timer - CPTRTimer)

    'Return (Timer - CPTRTimer)
End SUB


SUB ImageCountASM (byval Image as any ptr, _
                   byval vonX as Integer , byval vonY as Integer, _
                   byval bisX as Integer , byval bisY as Integer)

    Dim ASMTimer  as Double
    Dim DummyCount as UInteger
    Dim Pitch as UInteger=*Cast(UInteger ptr,Image)+16
    Dim x as Integer
    Dim y as Integer
   
    ASMTimer=Timer
   
    x=((bisX-vonX)*(bisY-vonY))                    'Anzahl Farbpixel
    y=Cast(Integer,Image)+32+(vonX*4)+(vonY*Pitch) 'Startadresse
    Asm
        mov ebx, dword ptr [x] 'Anzahl Farbpixel
        mov edx, dword ptr [y] 'Startadresse
        Xor ecx, ecx           'Zähler=0
        LLoop1:
        mov eax, [edx]         'Farbpixel holen
        And eax, &hffffff      'nur RGB
        jnz LLoop2             'nicht 0, dann nicht zählen
        inc ecx                '+=1 Pixel schwarz
        LLoop2:
        add edx, 4             '+=4 Adresse
        dec ebx                '-=1 Pixel
        jnz LLoop1
        mov dword ptr [DummyCount], ecx
    End Asm
   
    Print "Count ASM  : ";
    Print Using "######";DummyCount;
    Print " Zeit ASM  : ";
    Print Using "#.#############";(Timer - ASMTimer)

    'Return (Timer - ASMTimer)
End SUB


SUB ImageCountMy  (byval Image as any ptr, _
                   byval vonX as Integer , byval vonY as Integer, _
                   byval bisX as Integer , byval bisY as Integer)
                       
    Dim MyTimer  as Double
    Dim DummyCount as UInteger
   
    MyTimer = Timer
   
    Dim Buffer as UInteger Ptr = Image
    Dim Pitch  as UInteger     = Buffer[4]
   
    Dim PAdr   as Any PTR = Image+32+(vonX*4)+(vonY*Pitch)
    Dim APos   as Any PTR
   
    For y as Integer = vonY To bisY
        APos=PAdr
    For x as Integer = vonX To bisX
        If (*cast(UInteger PTR,APos) AND &hFFFFFF)= 0 Then
            DummyCount += 1
        EndIf
        APos+=4
    Next x
        PAdr+=Pitch
    Next y
   
    Print "Count MyPTR: ";
    Print Using "######";DummyCount;
    Print " Zeit MyPTR: ";
    Print Using "#.#############";(Timer - MyTimer)

    'Return (Timer - MyTimer)
End SUB

ImageCountPOINT (Bild,0,0,100,100)
ImageCountCPTR (Bild,0,0,100,100)
ImageCountASM (Bild,0,0,100,100)
ImageCountMy (Bild,0,0,100,100)

ImageDestroy (Bild)
Sleep

_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz