Español
Wünsche y Sugerencias

Hecho: Einige meiner Lieblingshelfer en XProfan

 
Yo schreib hier veces simplemente frech algunos meiner Lieblingshelferfunktionen hin. Jede dieser Características me está persönlich muy wichtig y ha se en el XProfanalltag bewährt. Welche su tatsächlich como übernommen se (si überhaupt) juega para mich sólo una Nebenrolle. Hab auch unos pocos Rems angefügt:
KompilierenMarcaSeparación
dulcoiF{settimer 1;waitinput;killtimer}// hierfür eine andere Lösung wäre angebracht
stri(float f){;return substr$(str$(f),1,.);}//ohne decimals verstellen zu müssen ohne .
valsubstr(string s,long p,string d){;return val(substr$(s,p,d));}
setsubstr(string s,long n,string d,ns){return ins$(ns,del$(s,n,1,d),n,d)}
lastsubstr(string s,d){return (substr$(s,len(s,d),d))}
notlastsubstr(string s,d){return del$(s,len(s,d),1,d)}
getfnamefromcmdstring(string s){return lastsubstr(s,\)}
getfpathfromcmdstring(string s){return notlastsubstr(s,\)+\}

getfileext(string fle){

    casenot instr(.,fle):return
    return lastsubstr(fle,.)

}

getTextWidth(string text,long xx){

    if pcount==1 {

        mem mem:=8
        GetTextExtentPoint32(hdc,Addr(text),len(text),mem)
        long result:=long(mem,0)
        dispose mem
        return result

    } else {

        long l:=getTextWidth(text)
        case l<=xx : return text
        text:=text+...

        whilenot l<=xx {

            case len(text)==4 : break
            text:=del$(text,len(text)-3,1)
            l:=getTextWidth(text)

        }

        return text

    }

}

tsnd(long v){//setzt Tausenderpunkte

    string s:=stri(v)
    long l:=len(s)
    long t:=(l-1)3

    whileloop t {s:=ins$(.,s,l-loop*3+1)}

    return s

}

stringescape(string s){//oft gebraucht wenn man z.B. mehrzeilige Texte in nur einer Zeile abspeichern möchte

    s:=translate$(s,\,\\)
    s:=translate$(s,chr$(10),\n)
    s:=translate$(s,chr$(7),\t)
    s:=translate$(s,chr$(9),\t)
    s:=translate$(s,chr$(32),\s)
    s:=translate$(s,chr$(34),\q)

    whileloop 31 {s:=translate$(s,chr$(loop),)}

    return s

}

stringunescape(string s){

    s:=translate$(s,\\,chr$(1))
    s:=translate$(s,\n,
    )
    s:=translate$(s,\t,	)
    s:=translate$(s,\s, )
    s:=translate$(s,\q,q)
    s:=translate$(s,chr$(1),\)
    return s

}

__secure_filename_(string fle) {//allowedchars sollte aus einem frei definierbaren String bezogen werden können.

    string allowedchars:= abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZÖÄÜöäüß0123456789
    string n,nc
    long c:=len(fle)

    whileloop c {

        nc:=mid$(fle,loop,1)

        if instr(nc,allowedchars) {n:=n+nc}else{n:=n+ }

    ;}

    ;return trim$(while_replace(n,  , ))

}

while_replace(s$,from$,to$) {//wichtig! könnte ein weiterer bool param sein für translate!

    while instr(from$,s$) {s$:=translate$(s$,from$,to$)}

    return s$

}

gettext2g(long h){//sollte XProfan eh können!

    long l:=sendmessage(h,wm_gettextlength,0,0)
    casenot l:return
    inc l
    mem mem=l
    sendmessage(h,wm_gettext,l,mem)
    string s:=string$(mem,0)
    dispose mem
    return s

}

settext2g(long h,string txt){sendmessage(h,wm_settext,0,addr(txt))}

hexlisttostring(string s){

    long l:=len(s)
    string h,ns

    whileloop 1,l,2{

        h:=mid$(s,loop,2)
        case h==00 : break
        ns:=ns+chr$(val($+h))

    }

    return ns

}

stringtohexlist(string s){

    long l:=len(s)
    string ns,ts

    whileloop l{

        ts:=hex$(ord(mid$(s,loop,1)))
        case len(ts)==1 : ts:=0+ts
        ns:=ns+ts

    }

    return ns

}

lb.create(bool mode) {;return Control(LISTBOX,, $100+if(mode,2,),,,,,hwnd,,);}

lb.sortinternallist{//interne Liste sortieren! Wichtig!

    long h:=lb.create(true)//create sorted list
    movelisttohandle(h)
    clearlist
    movehandletolist(h)
    destroywindow(h)

}


Was desafortunadamente wirklich fehlt:

+ el Möglichkeit una einzelne Usermessage entfernen a puede, qué bisher sólo meiner usermessages-Unit posible es - qué de paso el einzige Daseinsberechtigung el Unit darstellt,
+ el Möglichkeit sin API mousex,mousey y Maustasten ausserhalb hwnd a ermitteln, wodurch uno gezwungen es una Art MausInclude utilizarse: z.B.:
KompilierenMarcaSeparación
Un native Implementierung de filegetcontents y fileputcontents podría derart umgesetzt ser:
KompilierenMarcaSeparación
Und entonces fällt me siempre otra vez el imprimir no wirklich el komplette hwnd nutzt - besonders entonces si el hwnd nachträglich maximiert wurde.



Apéndice: En Programación de Spielen lugar Yo oft fest el no wirklich simplemente es el wm_close vom hwnd abzufragen si uno kein WaitInput y GetMessage verwendet.
 
07.09.2007  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

1.146 Views

Untitledvor 0 min.
Christof Neuß16.12.2017
Walter02.02.2016
iF23.10.2011

Themeninformationen

Dieses Thema ha 1 subscriber:

iF (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie