Italia
Wünsche und Anregungen

Erledigt: Wunsch: IsClipFormat

 

Falk
Fallenstein
Die Funktion
handle& = @Create("hPic",0,"&CLPBMP") ist sehr hilfreich, um Bilder aus anderen Programmen zu übernehmen. Wenn sich jedoch in der aktuellen Zwischenablage keine Bitmap, sondern irgend etwas anderes è, merke ich das erst, wenn ich mit diesem "angeblichen Bild" weiter arbeiten will, z.B. mit SavePic Album$,handle&,... oder DrawPic handle&,... usw. Die Create-Funktion scheint selber keine abfragbare Fehlerbedingung zu erzeugen, deshalb kann ich das Problem erst durch die Folgefehler eingrenzen bzw. abfangen. Für eine schlanke, übersichtliche Programmazione wäre es schön, wenn man den Erfolg der oben genannten Funktion unmittelbar nach deren Aufruf überprüfen potuto - z.B. mit einer speziellen Systemvariablen.
 
Strategien im Vergleich:
Microsoft: der Computer macht mit Dir, was er will ...
XProfan: der Computer macht, was Du von ihm willst.

XProfan 11, Windows XP (1.5 GByte RAM), XProfEd
18.11.2009  
 



%bmpx ?
 
18.11.2009  
 




Falk
Fallenstein
habe ich schon probiert. Die Bilder hätten demnach galaktische Größen - mit 0 x 0 pixels hätte es mir als Kriterium gereicht
 
Strategien im Vergleich:
Microsoft: der Computer macht mit Dir, was er will ...
XProfan: der Computer macht, was Du von ihm willst.

XProfan 11, Windows XP (1.5 GByte RAM), XProfEd
18.11.2009  
 




Christian
Schneider
Vielleicht klappts ja per API:

GetClipboardData-Funktion (MSDN):  [...] 
Clipboard-Formate (MSDN):  [...] 
Beispiel in VB:  [...] 
 
XProfan 11| Vista(64) SP2
18.11.2009  
 




Falk
Fallenstein
Mit "0 x 0 pixels" meinte ich naturalmente erfolgloser, d.h. fehlerbehafteter Funktionsaufruf. Auch die Überprüfung der zurückgelieferten Handle-Nummer hilft nicht weiter, das sind irgendwelche x-beliebigen Zahlen, die auf keine wirklich definierten Objekte im Arbeitsspeicher zeigen - deshalb führen sie ja zu den erwähnten Folgefehlern.
 
Strategien im Vergleich:
Microsoft: der Computer macht mit Dir, was er will ...
XProfan: der Computer macht, was Du von ihm willst.

XProfan 11, Windows XP (1.5 GByte RAM), XProfEd
19.11.2009  
 




Falk
Fallenstein
Danke, Christian, per Deine Anregungen. Ich habe mir die Verweise kurz angesehen und fühle, dass es es damit sicher geht (und man noch viel mehr mit der Zwischenablage machen kann). Aber in den Details geht es bei meinen bescheidenen Programmierkentnissen weit circa meinen Horizont hinaus
 
Strategien im Vergleich:
Microsoft: der Computer macht mit Dir, was er will ...
XProfan: der Computer macht, was Du von ihm willst.

XProfan 11, Windows XP (1.5 GByte RAM), XProfEd
19.11.2009  
 




Christian
Schneider
Hab mal was zusammengebastelt:
KompilierenMarkierenSeparieren
Def OpenClipboard(1) !"USER32","OpenClipboard"
Def CloseClipBoard(0) !"USER32","CloseClipboard"
Def GetClipboardData(1) !"user32.dll","GetClipboardData"

Proc ClipIsPic

    Declare Cboard_return&

    IF OpenClipBoard(GetActiveWindow()) <> 0 erfolgreich geöffnet?

        Cboard_return&=GetClipboardData(2) Parameter 2 = Bild erwartet | 1 wäre Text
        CloseClipBoard()

    EndIF

    If Cboard_return& <> 0 Wert ungleich 0 = Wahr

        Return 1

    Else

        Return 0

    EndIF

EndProc

CLS
Print ClipIsPic() 1 = Bild, 0 = Kein Bild
Waitinput

Wenn die Zwischenablage ein Bild enthält gibt ClipIsPic 1, wenn nicht 0 zurück.
 
XProfan 11| Vista(64) SP2
19.11.2009  
 




Christian
Schneider
Frabbing, Beitrag=55027, Zeitpunkt=19.11.2009
Einfacher ist:
KompilierenMarkierenSeparieren
Def IsClipFormat(1) !"USER32","IsClipboardFormatAvailable"
Print IsClipFormat(1) Text
Print IsClipFormat(2) Bildre>


aus:  
[...] 
 
XProfan 11| Vista(64) SP2
19.11.2009  
 




Falk
Fallenstein
Fantastisch, Christian!
Genau das, was ich brauche und sooooo einfach - halt gewusst wie ;)
KompilierenMarkierenSeparieren
Gemerkt/Separiert von http://xprofan.com/thread.core?t=7937
Def IsClipFormat(1) !"USER32","IsClipboardFormatAvailable"
declare h0&
cls

if IsClipFormat(2)Bild

    h0&=create("hPic",0,"&CLPBMP")
    hier weitermachen, z.B.
    drawpic h0&,0,0;0

else

    hier auf den Fehler hinweisen, z.B.
    print "no image in the clipboard - please try again ..."

endif

Strategien im Vergleich:
Microsoft: der Computer macht mit Dir, was er will ...
XProfan: der Computer macht, was Du von ihm willst.

XProfan 11, Windows XP (1.5 GByte RAM), XProfEd
20.11.2009  
 



Das hättest imho per die Leute noch einfacher machen können - serverseitig. ^^

Fügt ein Mitglied eine http-URL mit einer Bildadresse ins Posting-Eingabefeld ein ("Bildadresse kopieren" wird vom Browser ebenso angeboten), dann einfach das Bild per (php) file_get_contents laden und auf Server ablegen und die Bildadresse in entsprechendes <Img wandeln.

Aber egal wie, hat alles sein Gutes.
 
20.11.2009  
 




RGH
Falk Fallenstein, Beitrag=55018, Zeitpunkt=18.11.2009
Die Funktion
handle& = @Create("hPic",0,"&CLPBMP") ist sehr hilfreich, um Bilder aus anderen Programmen zu übernehmen. ... Die Create-Funktion scheint selber keine abfragbare Fehlerbedingung zu erzeugen


Ciao,

das Ergebnis der Funktion (im Erfolgsfall das Handle der Bitmap) sollte in diesem Fall 0 sein und damit andeuten, dass die Bitmap nicht erzeugt werden konnte. Außerdem sollte eine Warnung aufpoppen, dass die Bitmap nicht ladbar ist.

Saluto
Roland

Nachtrag: Arrghh ... ich hatte tatsächlich vergessen, den Rückgabewert zu initialisieren. In der nächtsten Version funktioniert es wie geplant.
 
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
20.11.2009  
 




Falk
Fallenstein
iF
... einfach das Bild per (php) file_get_contents laden und auf Server ablegen und die Bildadresse ... wandeln ...

ja, klingt einfach, ist es per mich aber nicht, denn ich kenne mich mit PHP leider nicht aus *schäm*

Außerdem weiß ich nicht, ob der Server, von dem das Original-Bild kommt, mit einem solchen Zugriff das Bild auch wirklich hergibt (Sperre externer Bilderlinks, siehe meine Bemerkung weiter oben). Mit der von mir angestrebten Lösung wäre schon mal sichergestellt, dass das Bild lokal auf dem Rechner des Mitglieds vorhanden ist und von dort zu meinem Server übetragen werden kann. Als Admin weise ich auch immer wieder darauf hin, eine kurze Quellenangabe per extern geladene Bilder possibile nicht zu vergessen.

Roland
das Ergebnis der Funktion (im Erfolgsfall das Handle der Bitmap) sollte in diesem Fall 0 sein ...

so habe ich es mir auch vorgestellt und zu allererst ausprobiert - bei anderen create("hPic" ...) Funktionen funktioniert es ja.
 
Strategien im Vergleich:
Microsoft: der Computer macht mit Dir, was er will ...
XProfan: der Computer macht, was Du von ihm willst.

XProfan 11, Windows XP (1.5 GByte RAM), XProfEd
20.11.2009  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

9.837 Views

Untitledvor 0 min.
Falk Fallenstein08.04.2019
p.specht25.02.2018
Uwe Lang16.09.2013
Jörg Sellmeyer04.11.2011

Themeninformationen



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